Буткемп в Яндексе: как разработчику выбрать себе команду

Большие IT-компании часто предлагают кандидатам на роль разработчика выбрать между несколькими командами. Сделать этот выбор непросто — разработчик ещё не работал ни с одной из команд, не знает их специфики. Чтобы упростить ему задачу, мы придумали Буткемп. Это особый способ прохождения испытательного срока. Буткемп длится восемь недель, в течение которых сотрудник успевает попробовать себя в разных подразделениях и на основе этого опыта сделать осознанный выбор дальнейшего места работы. Изначально такой формат был доступен только фронтенд-разработчикам, но несколько недель назад команды бэкенда тоже к нему подключились.

kscxe3vjvuao0vqtgngqw1kwkhm.png

Я Жанна Круглова, руководитель группы Буткемпа. Расскажу читателям Хабра, что у проекта под капотом, какие возможности он даёт и как предыдущие участники мучительно выбирали себе команду.

Сначала мы запустили Буткемп в режиме эксперимента, затем, увидев пользу, раскатили его на весь фронтенд Поиска, рекламных технологий, персональных и некоторых других сервисов. Теперь мы начинаем нанимать бэкенд-разработчиков по этой же системе — пока только в Москве. Для специалистов по фронтенду он действует в семи офисах: в Москве, Санкт-Петербурге, Екатеринбурге, Минске, Симферополе, Казани и Иннополисе. Дальше мы будем расширять программу на другие специальности.

Через Буткемп прошло более 80 человек. Мы видим, что кандидатам такой формат испытательного срока даёт много плюсов.

Как устроен Буткемп внутри


Это не стажировка, а полноценная работа, которая оплачивается. С каждым участником заключается трудовой договор и по факту он становится штатным сотрудником.
Программа доступна разработчикам всех уровней: от junior до senior.

Сроки и число команд
Буткемп, в отличие от традиционного испытательного срока в Яндексе, длится не три месяца, а два. Как распределяется это время? В первой команде участник Буткемпа работает три недели (из них неделя уходит на акклиматизацию в компании), дальше — в двух командах по две недели. Ещё одну неделю участники проводят по-разному: иногда разработчик успевает поработать в четвёртой команде (это относится только к фронтендерам), иногда задерживается на пару дней в предыдущей команде, чтобы завершить задачу. А иногда он может закончить Буткемп на неделю раньше.

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

Как правило, составляя список команд, с которыми хочется провести получасовые встречи, кандидаты смотрят именно открытые вакансии. Но бывает и по-другому. В регионах меньше команд — если в них разработчик уже поработал, но хочет использовать оставшееся время эффективно, мы предлагаем ему «побуткемпиться» в команде Лего (библиотека общих компонентов для создания большинства интерфейсов Яндекса).

Командировки
Если команда находится в нескольких офисах, то участник может поехать в командировку в другой офис — поработать в одном городе, потом поехать в другой. Но пока это только для фронтенд-разработчиков.

Поддержка ментора, техлида и руководителя Буткемпа
У любого участника есть ментор, а в каждой следующей команде его встречает техлид. Кроме того, на протяжении всего Буткемпа разработчика курирует руководитель Буткемпа, к которому можно обращаться с любыми вопросами.

Техлид вводит в курс дела, ставит задачи, проводит код-ревью, знакомит с командой — в общем, делает всё, чтобы участник почувствовал себя частью команды и за пару недель максимально погрузился в её процессы.

Со мной, руководителем Буткемпа, в течение испытательного срока проходит минимум три встречи: на первой обсуждается весь процесс — что и как будет происходить в эти восемь недель, на второй происходит обмен фидбеками и оценка промежуточных результатов, в финале подводятся итоги, обсуждается выбор команды и план действий после окончания Буткемпа.

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

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

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

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

Плюсы для кандидатов


Осознанный выбор команды
Раньше у разработчика было четыре финальных собеседования с разными командами. Каждая из них за час презентовала себя, и на основании этих коротких встреч кандидату нужно было сразу кого-то выбрать. Теперь есть возможность сначала поработать с командами, и уже потом делать выбор.

Возможность попробовать разное
В Яндексе много разных продуктов и команд. Разработчики к нам приходят тоже очень разные. Участник может прийти в любую команду — и в проект промышленного масштаба, и в маленький экспериментальный стартап, — познакомиться там с конкретными людьми, изучить изнутри все процессы, попробовать себя в разных технологиях, подходах и задачах. Может покоммитить в их репозитории, увидеть, как устроен деплой, как происходит тестирование, есть ли у них continuous integration и какой он. Дополнительно можно оценить неформальную сторону: как коллеги общаются, как часто встречаются, какие ценности у команды.

Мощное развитие за короткий срок
Восемь недель проходят в довольно интенсивном режиме, нужно делать много нового в сжатые сроки. В участника вкладываются несколько команд, то, что он узнал в одной, можно затем применить в другой. Все навыки и знания навсегда остаются с ним.

Буткемп включает в себя обучающий курс — можно изучить основные технологии, которые пригодятся в будущем. Речь как про базовые инструменты (системы управления версиями, системы сборки), так и про то, что может не потребоваться прямо сейчас, но что стоит знать каждому разработчику Яндекса. Сюда входят правила разработки, общие библиотеки, инструменты, системы и т. д.

Нетворкинг
На старте участник знакомится с разными сервисами и людьми в Яндексе. В дальнейшем он уже знает, что и как устроено, кто чем занимается, к кому с каким вопросом можно обратиться. Разработчик взаимодействует с большим количеством коллег из разных подразделений, и здорово, когда он с самого начала уже со многими знаком.

Плюсы для компании


Cохраняем скилл собеседующих
До появления Буткемпа вакансии на уровне команды появлялись не часто (1–2 раза в год). Для команды это был дополнительный стресс — приходилось откладывать все дела и собеседовать кандидатов. Была большая нагрузка в пике. После закрытия вакансии все сразу расслаблялись. За время простоя собеседующий может потерять свои навыки, и потом нужно заново их тренировать.

Теперь процесс найма не зависит от наличия вакансии в конкретной команде. В Буткемпе есть пул дежурных, которые по очереди проводят технические секции собеседований. Для дежурных проводится специальное обучение. Так легче прогнозировать нагрузку и равномерно распределять её среди собеседующих. Благодаря дежурствам удалось спонтанный и хаотичный процесс найма превратить в прозрачную и организованную систему.

Разработчик способен решить задачу целиком
В Буткемпе участвуют разработчики начиная с младшего уровня —, но не стажёры. Они уже многое умеют, поэтому им можно доверить какую-нибудь задачу целиком. Иногда дают и задачи, которые команда мечтает сделать, но всё никак не может уложить их в цикл разработки. И когда приходит участник Буткемпа, команда счастлива — ему можно поручить внеплановую задачу.

Повышаем эффективность работы сотрудника
Мы видим, что Буткемп придаёт разработчикам позитивный импульс, они с большей вероятностью будут довольны своей работой в компании. А более довольный человек более производителен, быстр и т. д.

Подразделения выделяют свои сильные стороны
Команды устраивают специальные встречи для участников Буткемпа, конкурируют за них, стремятся сделать так, чтобы при взаимном интересе разработчик выбрал именно их. Тем самым они учатся рассказывать о себе и продукте, который они делают.

Как участник делает финальный выбор


Выбор — это самое важное и спорное. Бывает так, что человеку понравились две команды или все — и он не знает, как между ними выбрать. Разработчик старается понять, что для него действительно важно, много рефлексирует.

Кто-то составляет списки критериев для оценки команды, в которых может быть что угодно: локация, руководитель, процессы, сложность задач, условия развития лично для него, наличие подходящего ему ментора или задач. Разработчик может осознать, что продукт для него важнее технологий — или наоборот, что ему хочется развиваться до уровня архитектора. Буткемп служит поводом проанализировать свои цели и желания.

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

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

Чем отличаются команды в Яндексе


  • Процессами. В одних командах сотрудники встречаются каждый день, в других — раз в неделю. У кого-то есть ретро, у кого-то нет. Некоторые команды не работают в одном офисе, а распределены на несколько городов.
  • Технологиями. Где-то деплоем занимается отдельная команда, где-то можно самому выкатить код в продакшен. Есть команды, в которых проводятся долгие тестирования, а у других тестовая среда устроена гораздо проще. Кто-то пишет инфраструктуру почти с нуля. Кто-то строит фронтенд на фреймворке React, кто-то на БЭМ, кто-то на Vue.js.
  • Задачами. В одной команде могут быть задачи на уровне глубокой инфраструктуры, во второй нужно реализовать часть функциональности с нуля, третья непрерывно создаёт быстрые прототипы и проверяет гипотезы, а в четвёртой люди переписывают весь сервис.
  • Масштабами. Что вам больше по душе — многомиллионный сервис или небольшой стартап? В первом случае несколько человек одновременно работают над маленьким кусочком проекта, во втором — один человек может успевать работать над пятью разными проектами.
  • Атмосферой. Кто-то спешит по вечерам домой к детям. Кто-то, наоборот, предпочитает активно проводить время с коллегами вне работы. В некоторых командах общаются больше, в некоторых меньше.


Если вы захотите присоединиться к Буткемпу, начните с заполнения формы.

© Habrahabr.ru