Junior-разработчики — почему мы их нанимаем и как мы с ними работаем

в 12:53, , рубрики: джуниоры, Карьера в IT-индустрии, наём, найм, подбор, управление персоналом, Учебный процесс в IT

Всем привет! Меня зовут Катя Юдина, и я IT-рекрутмент менеджер в Авито. В этой статье расскажу, почему мы не боимся нанимать джуниоров, как мы к этому пришли и какую пользу мы с ними приносим друг другу. Статья будет полезна компаниям, которые хотят нанимать джуниоров, но пока боятся это сделать, а также HR'ам, которые готовы продрайвить процесс пополнения кадрового резерва.

Подбор младших разработчиков и внедрение стажерских программ — тема не новая. Вокруг неё много предостережений, лайфхаков и готовых кейсов. Каждая (ну или почти каждая) более-менее большая IT-компания стремится привлекать начинающих специалистов. Теперь пришло время и нам рассказать о нашей практике.

Junior-разработчики — почему мы их нанимаем и как мы с ними работаем - 1

С 2015 количество сотрудников Авито растет на ~20% год к году. Рано или поздно мы должны были столкнуться с проблемами найма. Рынок не успевает растить мидлов и сеньоров, бизнесу они нужны «здесь и сейчас», а нам важно оставаться эффективными и оперативными в закрытии вакансий, так, чтобы не страдали качество и скорость разработки.

image

Виталий Леонов, директор по разработке B2B: «Мы не нанимали джуниоров лет шесть-семь с момента основания компании в 2007 году. Потом потихоньку стали их брать, но это были скорее исключения из правил. Это получилась очень хорошая история и для новичков, и для наших разработчиков. Они выступали в роли наставников, обучали джунов, а новички приходили в большую компанию на стартовые позиции и на ряде задач обучались под надзором старших коллег. И мы решили эту практику продолжать и развивать».

Подготовка

В подборе мы давно не ограничиваем себя Москвой, ищем кандидатов в разных городах РФ и других странах. (О программе релокации можно почитать тут). Однако проблему подбора мидлов и сеньоров релокация до конца не решает: не все к ней готовы (кому-то не нравится Москва, кто-то привык работать удаленно или part-time). Тогда мы решили пойти в сторону найма джуниоров и запуска стажерской программы в техническом департаменте Авито.

В первую очередь мы задали себе несколько простых вопросов.

  • Есть ли действительно потребность в джуниорах?
  • Какие задачи они смогут решать?
  • Есть ли у нас ресурсы (как материальные, так и время наставников) на их развитие?
  • Как будет выглядеть их развитие в компании через полгода-год?

Собрав информацию, мы поняли, что бизнес-потребность есть, задач у нас много и мы точно понимаем, как будем заниматься развитием джуниоров. Каждый джун и стажёр, приходя в Авито, знает, как может выглядеть его карьера в перспективе.

Дальше нужно было убедить менеджеров в том, что время, которое мы тратим на поиск готовых «единорогов», мы сможем куда более эффективно проинвестировать в обучение младших коллег и через полгода-год у нас появятся уже самостоятельные инженеры.

Мне повезло работать в команде, которая готова меняться и смотреть более широко на различные вопросы, в том числе и на вопросы найма. Да, при внедрении таких ставок надо быть готовым к тому, что не все будут «за». Убедить коллег поможет чётко сформированный план по работе с начинающими специалистами, показ реальных кейсов, когда нанять джуниора — это плюс, освещение всех положительных сторон этой программы.
И конечно, мы пообещали техлидам, что будем набирать только самых хардовых джуниоров, в которых увидим потенциал для развития. Подбор у нас — это двухсторонний процесс, в который вовлечены и HR, и инженеры.

Запуск

Пришло время определить портрет джуниора, решить, под какие задачи мы будем их набирать и описать, как будет проходить их адаптация. Кто такой джуниор для нас? Это кандидат, который сможет показать развитие в перспективе 6-12 месяцев. Это человек, который разделяет наши ценности (подробнее о них — здесь), который может и хочет учиться.

image

Виталий Леонов, директор по разработке B2B: «Мы хотим видеть у себя тех, кто хорошо знает теорию, в идеале тех, кто уже попробовал себя в коммерческой разработке. Но основное требование — это хорошие технические знания. А всем процессам и практическим навыкам мы их научим».

Процесс подбора джуниор-разработчика не сильно отличается от интервью на уровень мидл. У них мы так же проверяем знания алгоритмов, архитектуры и платформы. У стажёров на первом этапе появляется техническое задание (потому что кандидату может быть ещё нечего показывать). Можем дать задачку на разработку API. Мы смотрим, как человек подойдет к делу, как оформит README.md и прочее. Далее идет HR-интервью. Нам нужно понять, будет ли именно этому кандидату комфортно работать в этой команде и с этим наставником. Иногда бывает, что кандидат не подходит под продуктовую разработку в нашей компании и есть смысл направить его в платформенную команду, или наоборот. После HR-интервью проводим финальную встречу с техлидом или наставником. Она даёт возможность более детально погрузиться в технические аспекты и понять свою зону ответственности. После успешного прохождения этапов интервью кандидат получает оффер и в случае положительного решения выходит к нам в компанию.

Адаптация

image

Виталий Леонов, директор по разработке B2B: «Когда я только начал работать в моей первой компании, мне очень не хватало наставника, человека, который показывал бы мои ошибки, подсказывал пути развития, говорил, как сделать правильнее и быстрее. Я по факту был единственным разработчиком и учился на собственных ошибках. Это было не очень хорошо: я долго развивался, а компания долго растила хорошего разработчика. Если бы был человек, который регулярно бы со мной занимался, смотрел на ошибки и помогал, подсказывал паттерны и подходы, было бы сильно лучше».

За каждым начинающим коллегой закрепляется наставник. Это человек, которому можно и нужно задавать разные вопросы и от которого ты всегда получишь ответ. При выборе наставника мы обращаем внимание, сколько у него действительно будет времени на джуниора/стажера и насколько он сможет правильно и грамотно начать процесс обучения.

Старший коллега ставит задачи. На начальном этапе джуниор может начать с разбора багов, далее постепенно идет погружение в разработку продуктовых задач. Наставник отслеживает их выполнение, проводит код-ревью или участвует в парном программировании. Также в нашей компании распространена практика 1:1, которая дает нам возможность держать руку на пульсе и максимально оперативно решать различные вопросы.

Я, как HR, смотрю за процессом адаптации сотрудника, руководитель — за процессом развития и «погружения» в задачи. При необходимости мы ставим индивидуальный план развития на время испытательного срока и после его завершения определяем области для дальнейшего развития.

Выводы

Какие выводы мы сделали по итогам работы программы?

  1. Джуниор обычно не может работать автономно и самостоятельно решать все рабочие задачи. Наставники должны уделять им достаточно времени для быстрой адаптации. Это нужно планировать с техлидами и командой.
  2. Нужно быть готовым к тому, что младшие инженеры будут делать ошибки. И это нормально.

image

Виталий Леонов, директор по разработке B2B: «Ошибки допускают все — и джуны, и мидлы, и сеньоры. Но ошибки быстро находятся или не допускаются вовсе — у нас хорошо выстроен процесс тестирования, все продукты покрыты автотестами, есть code review. Ну и, конечно, у каждого джуна есть наставник, который тоже смотрит все коммиты».

Программа подбора начинающих специалистов дала нам возможность решить сразу несколько задач.

  1. Растить кадровый резерв лояльных сотрудников, которые будут подходить под наш стек.
  2. Развивать у наших старших сотрудников навыки управления командой и её развития.
  3. Прививать любовь к современным технологиям и качественной разработке молодым специалистам.

И это был тот самый win-win. Вот отзывы моих коллег, которые пришли в Авито на позиции джуниоров и стажёров.

image

Давидэ Згьятти, младший бэкенд-разработчик: «Первое время вообще не понимал что происходит, в меня входила тонна полезной информации, но наставник и команда меня сильно поддерживали. За счет этого через две недели я уже начал работать с бэклогом, а через три месяца постепенно влился в продуктовую разработку. За полгода стажировки получил безмерный объем опыта и всегда старался приложить максимум усилий, чтобы вынести из программы всё и остаться в команде на постоянной основе. Я пришёл в Авито стажёром, сейчас уже джуниор».

image

Александр Сивцов, фронтенд-разработчик: «Я работаю в Авито уже чуть больше года. Приходил я джуном, сейчас уже вырос до мидла. Это было очень интересное и насыщенное событиями время. Если говорить о выполняемых задачах, могу сказать, что правил баги (как и все недавно пришедшие) я не долго и получил первую полноценную продуктовую задачу в разработку в первый месяц работы.
Джуном я поучаствовал в крупном запуске обновления тарифов. Кроме того, ребятами в команде приветствуются, поддерживаются и развиваются разные инициативы, которые я привносил.
Ребята в команде стараются помочь не только в развитии хард-скилов, но и подтянуть софты. Регулярные встречи с руководителем помогают в этом очень сильно (раньше у меня такого опыта не было и мне оставалось только догадываться, где я проседаю или на что сейчас стоит обратить внимание).
Работать тут очень комфортно, куча разных возможностей развиваться как внутри компании, посещая всякие тренинги, так и вне её: начиная от поездок на конференции, заканчивая всякими плюшками в компаниях-партнерах. Задачи в основном интересные, нежели рутинные. Могу сказать, что в Авито и джунам доверяют сложные и интересные задачи».

image

Дима Афанасьев, бэкенд-разработчик: «Я знал, что хочу попасть в большую компанию, и с Авито это была любовь с первого взгляда: прочитал почти весь блог на Хабре, смотрел доклады, ковырял гитхаб avito-tech. Понравилось всё: атмосфера, технологии (== стек), подход к решению проблем, культура компании, офис. Знал, что хочу попасть в Авито и решил, что не буду пробовать что-то ещё, пока не узнаю точно, получилось ли.
Я ожидал, что задачи будут сложные. Если делать сайт для трёх человек, то он может работать час в день, и пользователи будут довольны. Если на 30 миллионов человек, то простая необходимость хранения данных становится огромной и захватывающей проблемой. Ожидания оправдались, не могу представить ситуацию, в которой я учился бы быстрее.
Сейчас меня уже повысили до мидла. В целом я стал увереннее и меньше валидирую свои решения, это помогает делать штуки быстрее. Ведь в любой команде скорость доставки очень важна, и я чаще постфактум сообщаю о всех принятых решениях в моей зоне ответственности (сейчас это два сервиса). Обсуждений стало меньше, но и сложность обсуждаемого в целом выросла, и проблемы стали менее очевидными. Но ещё я хочу сказать вот что: хорошие решения можно продвигать на любом уровне, вне зависимости от должности».

image

Сергей Баранов, фронтенд-разработчик: «Так получилось, что на джуниора в Авито я пришел с более высокой позиции, но из небольшой компании. Я всегда пытался сначала впитать побольше информации, а потом начинать что-либо делать. Здесь же пришлось начинать делать небольшие задачи, просто чтобы разобраться в том, какие продукты существуют и как взаимодействуют между собой. На то, чтобы полностью разобраться во всем, чем занимается мой юнит, ушло около полугода, но к этому моменту я уже вовсю самостоятельно делал задачи среднего объема без какой-либо помощи. Отдельно хочется отметить, что вне зависимости от должности ты полноценный член команды, со всей ответственностью, доверием тебе как профессионалу. Все взаимодействия происходят абсолютно на равных. Также у меня был план развития, выработанный совместно с моим руководителем и я прекрасно знал, что мне надо делать для развития и повышения. Сейчас я уже middle разработчик и отвечаю за весь фронтенд в моей команде. Цели стали другими, прибавилось ответственности, как и прибавилось возможностей для дальнейшего роста».

Спустя почти год мы видим, какую пользу ребята приносят бизнесу и конкретным командам. За это время несколько джуниоров стали мидлами. А некоторые стажеры показали отличные результаты и пополнили ряды джуниоров — они пишут код и решают сложные технические задачи, у них горят глаза, а мы предоставляем им профессиональное развитие, отличную атмосферу внутри и всячески поддерживаем в их начинаниях.

Автор: KatyaYu

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js