Обложка статьи ««Нужно пробовать себя в разных командах»: зачем Яндекс запустил Буткемп»

«Нужно пробовать себя в разных командах»: зачем Яндекс запустил Буткемп

Сергей Бережной, руководитель отдела разработки поисковых интерфейсов «Яндекса»

Каждую неделю на работу в «Яндекс» выходят от 50 до 100 новых сотрудников. Большинство заранее знают, в какой команде будут работать. Полтора года назад отдел поисковых интерфейсов «Яндекса» решил провести эксперимент. Новым разработчикам дали возможность поочерёдно попробовать себя в разных командах, чтобы потом они выбрали ту, которая больше всего подходит. Эксперимент оказался удачным, и сейчас такую систему — она получила название Буткемп — используют и в других подразделениях. О том, как устроен Буткемп и какие преимущества он даёт, «Типичному программисту» рассказал руководитель отдела разработки поисковых интерфейсов «Яндекса» Сергей Бережной.

— Как появился Буткемп?

«Яндекс» — очень большая компания. Поэтому вакансии фронтендеров и бэкендеров в поисковом портале есть всегда, причём обычно сразу в нескольких командах. Например, искать себе разработчиков могут одновременно Поиск, Картинки, Директ, группа разработки внутренних компонентов и группа инфраструктуры.

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

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

В какой-то момент мы осознали, что пора менять подход. Кандидат должен иметь возможность поработать в разных командах, посмотреть на них изнутри, сравнить и сделать осознанный выбор. Мы знали, что некоторые зарубежные IT-компании, например Facebook, разрешают разработчикам менять команды на старте, и полтора года назад решили внедрить у себя нечто подобное. Так появился Буткемп.

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

— В чём разница между Буткемпом, стажировкой и испытательным сроком?

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

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

— Чем отличаются друг от друга разные команды в «Яндексе»?

Очень многим. «Яндекс» разный: отличаются не только задачи и проекты, но и инструменты. Например, в одной команде фронтендеры могут использовать БЭМ в связке с jQuery, в другой — БЭМ в связке ReactJS. Бэкендеры пишут на разных языках и применяют разные базы данных. Где-то занимаются промышленным программированием для большого проекта, а где-то делают маленький внутренний стартап. Одни команды вынуждены действовать стремительно, а другим необходимо всё долго и тщательно тестировать.

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

— Достаточно ли двух недель, чтобы понять, подходит ли тебе команда?

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

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

— Не слишком ли сильный стресс — сменить три команды за восемь недель?

Выход на новую работу всегда в какой-то степени сопряжён со стрессом, с этим ничего не поделаешь. Но со своей стороны мы делаем всё, чтобы новым сотрудникам было проще адаптироваться. Кроме коллег, у буткемпера есть минимум два человека, к которым можно обратиться за помощью. Это, во-первых, техлид команды: он вводит в курс дела, ставит задачи, проводит ревью кода и разъясняет то, что непонятно. Во-вторых, это ментор, или личный наставник, — его закрепляют за тобой на весь срок Буткемпа, и он готов помочь в любой ситуации.

— Если разработчику понравилась первая же команда, можно ли прервать Буткемп и остаться в ней?

Нет, мы всегда просим человека пройти Буткемп до конца — как минимум для того, чтобы он сравнил впечатления и убедился, что не ошибся с выбором. Если по окончании выяснится, что первые ребята действительно самые подходящие, ты просто продолжишь работу с ними. Но при этом у тебя будет опыт взаимодействия с другими командами, а он полезен в любом случае.

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

За время Буткемпа ты узнаёшь новое не только про разные команды в «Яндексе», но и про себя самого. Например, человек на старте говорит, что ему интересно делать интерфейсы, а во время Буткемпа попадает в команду инфраструктуры. Он говорит себе — ну ладно, попробую. А потом выясняется, что это именно то, чем он мечтал заниматься всю жизнь. Такие истории происходят сплошь и рядом.

— Что делать, если понимаешь, что команда тебе не очень подходит?

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

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

— Стоит ли тратить время на Буткемп вместо того, чтобы сразу подключать разработчика к большому проекту?

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

В поисковом портале «Яндекса» множество команд. Поэтому у портала вакансии есть всегда, а вот у отдельной команды они могут появляться, например, пару раз в год. Раньше наём был ответственностью команды. У тебя открылась вакансия — ты объединяешься с другими командами, которые ищут разработчиков, и вы вместе вспоминаете, как разместить объявление, как провести собеседование, как организовать испытательный срок и так далее.

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

— Почему Буткемп используется только в поисковом портале, а не во всём «Яндексе»?

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