Почему решились организовывать практику, как выбирали ребят, какие задачи им ставили и за что хотели прибить в процессе.
Когда-то давно у нас был неудачный опыт работы со студентами. То ли они были не заинтересованы, то ли нам было некогда ими заниматься — в общем, что-то пошло не так, и мы зареклись устраивать практику. Но время шло, компания росла, искать сотрудников в Иркутске становилось всё труднее, и мы вновь стали смотреть в сторону вузов. Первое время просто ходили на дни карьеры. Cидели в коридоре за столом, отвечали на вопросы студентов, раздавали визитки и конфетки. Кто-то из заинтересовавшихся, уже защитив диплом, приходил на собеседование, кого-то мы брали на работу.
В последние годы государство обязало вузы больше общаться с работодателями, и для нас стали организовывать встречи со студентами. На лекциях для нескольких потоков руководители разработки, техподдержки, маркетинга рассказывали о своей работе. Студенты слушали, задавали вопросы, и — просились на практику. Сначала мы отбивались, но в конце концов сдались и в 2017 году взяли двух второкурсников. Занималась ими Зоя Лалетина, тогда релиз-инженер, а сейчас проджект-менеджер. По её словам, всё прошло на удивление хорошо.
В 2018 году лекции эволюционировали. Вместо рассказов о компании и «яблоках по четвергам» мы говорили о технологиях, с которыми работаем: C++, Java, Angular и др. Обычно на такие лекции приходило 30–80 человек, человек десять из них оставались, задавали вопросы — когда-то больше, когда-то меньше. После встречи студенты окружали нас, спрашивали о предмете лекции, о работе и, очень часто, о практике.
Хороший студент хочет найти место, где можно заниматься чем-то близким к специальности, а не перекладывать документы из папки в папку (такое до сих пор часто поручают практикантам). Мы понимали, что можем многое показать ребятам, да и на фоне рассказов о себе отказывать было странно. Решили, что опыт 2017-го года надо продолжать, и этим летом взяли уже восьмерых ребят: троих со второго курса и пятерых с третьего. Вот что из этого вышло…
Никаких вступительных испытаний мы не проводили. В прошлом году практикантов порекомендовала замдиректора института кибернетики ИРНИТУ, мы с ними поговорили и пригласили в офис. В этом году было примерно так же.
Троих ребят со второго курса («малявки, но хорошие») предложила преподаватель из госуниверситета, — это была первая партия. Во второй заход, снова по рекомендации вуза, взяли двух проходивших практику в прошлом году. Ещё двое попросились сами и, когда мы уже закрыли набор, преподаватель из другого вуза слёзно попросила принять одного «очень хорошего мальчика». Забегая вперёд, об этом решении никто не пожалел — в конце практики мы взяли его на работу.
Все практиканты проходили собеседование, отвечали на вопросы эйчара и ведущего разработчика.
Мы распределили практикантов по офису. Трое совсем зелёных второкурсников достались Дмитрию Кузьмину, на тот момент тимлиду бэкенда DCImanager. За троими третьекурсниками присматривал Александр Брюханов. Ещё двое третьекурсников, которые уже были у нас в прошлом году, пошли к Зое Лалетиной в новый VMmanager. Они были знакомы с нашими процессами, поэтому их включили в команду. Остальные ребята работали независимо от команд, но в кабинетах с разработчиками.
Сначала хотелось, чтобы практиканты жили по Scrum, чтобы как и мы на стендапах рассказывали о проделанном за день. Но полноценно получилось это только с «второгодниками»: их задачи разбили на подзадачи, вышел полноценный двухнедельный спринт. Другие практиканты то ходили вразнобой, то у их руководителя не было времени их послушать. Для второкурсников же сама процедура стендапа оказалась болезненной: сначала они не соображали, зачем всё это нужно (Дмитрию Кузьмину пришлось провести пару вводных лекций), а потом… просто страдали.
В целом менторы тратили примерно по часу в день на работу с практикантами. Бо́льшую часть времени студенты сами разбирались с задачей и за советом почти не обращались. Менторам приходилось постоянно предлагать помощь и даже настаивать на ней.
В конце двух недель у ребят был показ. Свои проекты они представили друг другу и руководству компании.
Включать практиканта в рабочую команду бессмысленно и беспощадно. Даже если студент интересуется и хоть что-то знает (это уже хороший результат!), сразу в разработку его не погрузишь, надо какое-то время учить. Две недели — очень короткий срок, поэтому от мысли давать новеньким студентам задачи штатных разработчиков заранее отказались. Но мы хотели показать работу в реальной IT-компании. Нужны были такие задачи, через которые ребята смогли бы «пощупать» процесс разработки и, хотя бы со стороны, посмотреть на взаимодействие команд.
Время от времени в компании возникают идеи, которые потенциально полезны, но некому реализовать, или они не настолько важны, чтобы заняться прямо сейчас. Часто это вспомогательные сервисы, которые можно делать отдельно. В течение всего года мы выбирали из таких задач те, что могут подождать до лета и будут по силам для практикантов.
Переводилка. Мы давно хотели попробовать сервис POEditor, вот и попросили ребят сделать интеграцию с ним. Этой задачей сначала занимались «зелёные второкурсники», а потом и третьекурсники. Второкурсники сделали какой-никакой прототип, у третьекурсников вышло что-то более завершённое. В итоге одного из третьекурсников мы оставили работать, и он, уже отлично понимая задачу, быстро переписал всё «по-хорошему».
Метрики по сотрудникам. Ещё одна девушка в одиночку занималась метриками по сотрудникам — KPI, по сути. Объединяла данные от двери, Youtrack, Gitlab: когда человек приходит, сколько времени проставляет в YouTrack, какие делает коммиты в код. В процессе решения удалось посмотреть несколько вариантов и скорректировать ТЗ.
Скрипты для тестеров VMmanager. Разработчикам и тестировщикам нового VMmanager нужен был скрипт для выполнения рутинных операций: ходить по SSH на сервера, проваливаться с этих серверов на виртуалки, проверять версии libvirt, Qemu, ОС и т. д. Задачей занимался парень, который был у нас на практике в прошлом году и тоже работал на бэкенде. Тогда он уже пробовал делать запросы при помощи сетевых библиотек, поэтому в этот раз справился быстро. Качество кода было не «супер-пуперное», но после ревью скрипт взяли в работу.
Утилита для фронтендеров VMmanager. Ещё в VMmanager в отложенных была задача по сбору метрик работы фронтенда. Нужно было собирать время отклика, время загрузки полезного контента на странице и ещё кучу всего, что важно для анализа работы сервиса. Задача была сложная и менее понятная, чем у бэкенда; нужно было перелопатить кучу «литературы» и познакомиться с Angular, которому в вузе не учат. Решить эту задачу вызвался второй «второгодник». И справился! Его код отревьюили и через несколько спринтов решение внесут в продукт, то есть тоже будут использовать. Сам парень настолько понравился фронтендерам VMmanager, что они пригласили его на работу после института.
Когда практика закончилась, мы попросили студентов дать развернутые отзывы о ней. Ребята подошли к задаче ответственно и накатали почти по странице текста. Ради интереса приведем несколько вырезок из отзывов ребят. Авторский стиль сохранён.
Светлана Б. Работать в IT я не передумала, наоборот, очень понравилось и организм требует «добавки». Очень хотела бы работать здесь, уже как-то привыкла к этой атмосфере и работе в коллективе, не хочется уходить.
Алексей Е. Это самая лучшая атмосфера, в которой я был. А создана она скоплением невероятно классных людей в одном месте (...). Здесь все друг с другом на «ты», нет обязательной униформы, комфортные офисы, свободный график обеда, ну а про день пиццы я вообще молчу. В результате получается очень классная атмосфера, в которой чувствуешь себя невероятно комфортно. В такой атмосфере хочется работать, а не считать часы до ухода домой.
Дмитрий В. (...) Всю неделю мы пытались сделать интеграцию, но ничего не выходило, пока в пятницу утром, за несколько часов до показа, к нам не пришёл Шурик и не подшаманил нам (...). В целом я не пожалел о выборе места для прохождения практики. Я посмотрел как работает компания изнутри, как строится взаимодействие в отделе и между отделами. Очень многому научился и познакомился с замечательными людьми.
Для себя мы тоже сделали несколько выводов. Возможно, они будут полезны и другим компаниям, которые только планируют работать со студентами.
Предыстория
Когда-то давно у нас был неудачный опыт работы со студентами. То ли они были не заинтересованы, то ли нам было некогда ими заниматься — в общем, что-то пошло не так, и мы зареклись устраивать практику. Но время шло, компания росла, искать сотрудников в Иркутске становилось всё труднее, и мы вновь стали смотреть в сторону вузов. Первое время просто ходили на дни карьеры. Cидели в коридоре за столом, отвечали на вопросы студентов, раздавали визитки и конфетки. Кто-то из заинтересовавшихся, уже защитив диплом, приходил на собеседование, кого-то мы брали на работу.
В последние годы государство обязало вузы больше общаться с работодателями, и для нас стали организовывать встречи со студентами. На лекциях для нескольких потоков руководители разработки, техподдержки, маркетинга рассказывали о своей работе. Студенты слушали, задавали вопросы, и — просились на практику. Сначала мы отбивались, но в конце концов сдались и в 2017 году взяли двух второкурсников. Занималась ими Зоя Лалетина, тогда релиз-инженер, а сейчас проджект-менеджер. По её словам, всё прошло на удивление хорошо.
Для нас второкурсники — это, конечно, совсем дети. Мы ничего от них не ожидали, потому что сами на первом-втором курсе ничего не умели. Мальчики тоже честно признались, что ничего не умеют, но уже через два или три дня у них начало получаться. Мы с Шуриком (так сотрудники зовут руководителя разработки Александра Брюханова. — ред.) предполагали, что за две недели они ничего не сделают, а они всё освоили, написали и даже успели выполнить что-то ещё.
Зоя Лалетина, проджект-менеджер
В 2018 году лекции эволюционировали. Вместо рассказов о компании и «яблоках по четвергам» мы говорили о технологиях, с которыми работаем: C++, Java, Angular и др. Обычно на такие лекции приходило 30–80 человек, человек десять из них оставались, задавали вопросы — когда-то больше, когда-то меньше. После встречи студенты окружали нас, спрашивали о предмете лекции, о работе и, очень часто, о практике.
Хороший студент хочет найти место, где можно заниматься чем-то близким к специальности, а не перекладывать документы из папки в папку (такое до сих пор часто поручают практикантам). Мы понимали, что можем многое показать ребятам, да и на фоне рассказов о себе отказывать было странно. Решили, что опыт 2017-го года надо продолжать, и этим летом взяли уже восьмерых ребят: троих со второго курса и пятерых с третьего. Вот что из этого вышло…
Как отбирали студентов
Никаких вступительных испытаний мы не проводили. В прошлом году практикантов порекомендовала замдиректора института кибернетики ИРНИТУ, мы с ними поговорили и пригласили в офис. В этом году было примерно так же.
Троих ребят со второго курса («малявки, но хорошие») предложила преподаватель из госуниверситета, — это была первая партия. Во второй заход, снова по рекомендации вуза, взяли двух проходивших практику в прошлом году. Ещё двое попросились сами и, когда мы уже закрыли набор, преподаватель из другого вуза слёзно попросила принять одного «очень хорошего мальчика». Забегая вперёд, об этом решении никто не пожалел — в конце практики мы взяли его на работу.
Все практиканты проходили собеседование, отвечали на вопросы эйчара и ведущего разработчика.
На собеседовании я мечтал увидеть огонь в глазах. Почувствовать, что человеку интересно то, чем он будет заниматься — с такими людьми приятно работать. Этот огонь был не у всех, но мы никому не отказывали.
Александр Брюханов, руководитель разработки
Кто и как работал с практикантами
Мы распределили практикантов по офису. Трое совсем зелёных второкурсников достались Дмитрию Кузьмину, на тот момент тимлиду бэкенда DCImanager. За троими третьекурсниками присматривал Александр Брюханов. Ещё двое третьекурсников, которые уже были у нас в прошлом году, пошли к Зое Лалетиной в новый VMmanager. Они были знакомы с нашими процессами, поэтому их включили в команду. Остальные ребята работали независимо от команд, но в кабинетах с разработчиками.
Сначала хотелось, чтобы практиканты жили по Scrum, чтобы как и мы на стендапах рассказывали о проделанном за день. Но полноценно получилось это только с «второгодниками»: их задачи разбили на подзадачи, вышел полноценный двухнедельный спринт. Другие практиканты то ходили вразнобой, то у их руководителя не было времени их послушать. Для второкурсников же сама процедура стендапа оказалась болезненной: сначала они не соображали, зачем всё это нужно (Дмитрию Кузьмину пришлось провести пару вводных лекций), а потом… просто страдали.
Мы-то уже привыкли: встали, рассказали кто что сделал. Со студентами было сложнее. «Ну что, ребята, стендап». Я встаю, они сидят. Я говорю: «Стендап, вставайте!». Они потихонечку-потихонечку поднимаются. Было видно, что их сильно смущала вся процедура стендапа.
Дмитрий Кузьмин, разработчик
В целом менторы тратили примерно по часу в день на работу с практикантами. Бо́льшую часть времени студенты сами разбирались с задачей и за советом почти не обращались. Менторам приходилось постоянно предлагать помощь и даже настаивать на ней.
Это, по-моему, недостаток всех студентов. Они боятся спрашивать, причём непонятно почему. Я им открытым текстом говорю: вы у нас не работаете, уволить вас я не могу, а подписать бумаги — хоть сегодня, если это вам жизнь облегчит. Но уговоры не действовали. Может быть, все они после вуза хотели устроиться к нам на работу и боялись заранее испортить о себе мнение. Это единственное, что я могу предположить.
Александр Брюханов, руководитель разработки
В конце двух недель у ребят был показ. Свои проекты они представили друг другу и руководству компании.
Какие давали задачи
Включать практиканта в рабочую команду бессмысленно и беспощадно. Даже если студент интересуется и хоть что-то знает (это уже хороший результат!), сразу в разработку его не погрузишь, надо какое-то время учить. Две недели — очень короткий срок, поэтому от мысли давать новеньким студентам задачи штатных разработчиков заранее отказались. Но мы хотели показать работу в реальной IT-компании. Нужны были такие задачи, через которые ребята смогли бы «пощупать» процесс разработки и, хотя бы со стороны, посмотреть на взаимодействие команд.
Время от времени в компании возникают идеи, которые потенциально полезны, но некому реализовать, или они не настолько важны, чтобы заняться прямо сейчас. Часто это вспомогательные сервисы, которые можно делать отдельно. В течение всего года мы выбирали из таких задач те, что могут подождать до лета и будут по силам для практикантов.
Переводилка. Мы давно хотели попробовать сервис POEditor, вот и попросили ребят сделать интеграцию с ним. Этой задачей сначала занимались «зелёные второкурсники», а потом и третьекурсники. Второкурсники сделали какой-никакой прототип, у третьекурсников вышло что-то более завершённое. В итоге одного из третьекурсников мы оставили работать, и он, уже отлично понимая задачу, быстро переписал всё «по-хорошему».
Метрики по сотрудникам. Ещё одна девушка в одиночку занималась метриками по сотрудникам — KPI, по сути. Объединяла данные от двери, Youtrack, Gitlab: когда человек приходит, сколько времени проставляет в YouTrack, какие делает коммиты в код. В процессе решения удалось посмотреть несколько вариантов и скорректировать ТЗ.
Скрипты для тестеров VMmanager. Разработчикам и тестировщикам нового VMmanager нужен был скрипт для выполнения рутинных операций: ходить по SSH на сервера, проваливаться с этих серверов на виртуалки, проверять версии libvirt, Qemu, ОС и т. д. Задачей занимался парень, который был у нас на практике в прошлом году и тоже работал на бэкенде. Тогда он уже пробовал делать запросы при помощи сетевых библиотек, поэтому в этот раз справился быстро. Качество кода было не «супер-пуперное», но после ревью скрипт взяли в работу.
Утилита для фронтендеров VMmanager. Ещё в VMmanager в отложенных была задача по сбору метрик работы фронтенда. Нужно было собирать время отклика, время загрузки полезного контента на странице и ещё кучу всего, что важно для анализа работы сервиса. Задача была сложная и менее понятная, чем у бэкенда; нужно было перелопатить кучу «литературы» и познакомиться с Angular, которому в вузе не учат. Решить эту задачу вызвался второй «второгодник». И справился! Его код отревьюили и через несколько спринтов решение внесут в продукт, то есть тоже будут использовать. Сам парень настолько понравился фронтендерам VMmanager, что они пригласили его на работу после института.
Отзывы студентов
Когда практика закончилась, мы попросили студентов дать развернутые отзывы о ней. Ребята подошли к задаче ответственно и накатали почти по странице текста. Ради интереса приведем несколько вырезок из отзывов ребят. Авторский стиль сохранён.
Светлана Б. Работать в IT я не передумала, наоборот, очень понравилось и организм требует «добавки». Очень хотела бы работать здесь, уже как-то привыкла к этой атмосфере и работе в коллективе, не хочется уходить.
Алексей Е. Это самая лучшая атмосфера, в которой я был. А создана она скоплением невероятно классных людей в одном месте (...). Здесь все друг с другом на «ты», нет обязательной униформы, комфортные офисы, свободный график обеда, ну а про день пиццы я вообще молчу. В результате получается очень классная атмосфера, в которой чувствуешь себя невероятно комфортно. В такой атмосфере хочется работать, а не считать часы до ухода домой.
Дмитрий В. (...) Всю неделю мы пытались сделать интеграцию, но ничего не выходило, пока в пятницу утром, за несколько часов до показа, к нам не пришёл Шурик и не подшаманил нам (...). В целом я не пожалел о выборе места для прохождения практики. Я посмотрел как работает компания изнутри, как строится взаимодействие в отделе и между отделами. Очень многому научился и познакомился с замечательными людьми.
Наши выводы
Для себя мы тоже сделали несколько выводов. Возможно, они будут полезны и другим компаниям, которые только планируют работать со студентами.
- Выбирать заинтересованных студентов. Если человек заинтересован, он наверняка уже что-то читал по теме и даже пробовал делать. Ему проще впитывать новые знания и решать задачи. Да и разработчикам с таким общаться приятнее. «Интересно объяснять и учить, когда человек хоть немного понимает, о чём речь, когда задаёт уточняющие вопросы и сам ищет ответы. Если он пришёл как на публичную лекцию и слушает с квадратными глазами — это скучно», — говорит Александр Брюханов. Поэтому в следующем году мы либо введём тестирование, либо будем устраивать предварительные встречи со студентами и на них отбирать ребят с «горящими глазами».
- Уделять больше времени. Менторы тратили на ребят примерно по часу в день. За ментором могло быть закреплено два–три студента, поэтому одному практиканту доставалось совсем немного его внимания. Надо помогать больше, объяснять больше. Возможно, в будущем будем закреплять за каждым студентом отдельного Middle-разработчика. Это неплохая практика и для самих мидлов. Способность передавать знания другим — одно из наших требований для карьерного роста внутри компании.
- Ставить задачи, учитывая знания. Порой при постановке задач мы просто забывали рассказать некоторые вещи, потому что «ну все же про это знают». Только глядя на потуги ребят понимали, что им можно сильно облегчить жизнь, если показать программу, которая умеет половину из того, что они пытаются сделать. В следующем году постараемся это учесть.
- Жёстче контролировать. Ребята делают работу по студенческой привычке: «поисследуем-поисследуем, а в последний день как возьмём, да как сделаем» — как в ночь перед экзаменом. Менторы разбивали проект на маленькие задачи, но постепенно выполнять их у практикантов тоже не очень получалось. Решили, что нужно жёстче контролировать достижение промежуточных целей.
- И последний вывод: нам это интересно. Многое из сделанного ребятами мы будем использовать. Один практикант у нас уже работает, ещё один придёт через полгода, несколько на примете. Все ребята вернутся в университет и расскажут о «самой лучшей атмосфере», «шаманстве Шурика» и о том, что хочется «добавки». Возможно, благодаря этому в будущем кто-то из их друзей придёт к нам на собеседование, а потом и пополнит команду.
Есть мнение, что студенты — это дешёвая рабочая сила. Используешь на все 100%, а платишь мало. Может быть, для каких-то компаний это верно, но не для нас. Если мы принимаем студента, то на должность Junior-программиста. Он получает ментора, который обучает и вводит в курс дела, ставит первоначальные задачи и даёт обратную связь. На такие же условия приходят выпускники и специалисты с небольшим опытом. Мы вкладываем силы и ресурсы, чтобы помочь им всем освоиться и вырасти как можно быстрее.
Конечно, есть риск, что вырастишь студента, а он уедет. Ничего не поделать, мы всегда конкурируем с другими компаниями на западе. Но не все уедут, кто-то благодаря встрече с ISPsystem останется в Иркутске. Будет жить у Байкала, делать ПО, которое используют по всему миру, и получать достойную зарплату.
Ольга Чечельницкая, эйчар