Deep Dive — новая программа стажировки в «Яндекс.Маркете» по системе bootcamp

Официальной датой запуска буткемпа для стажеров Deep Dive можно считать 17 апреля 2019 года, когда к нам вышла первая группа стажёров. На сегодняшний день стажировку в Deep Dive завершили около 40 человек.

Две трети из них получили работу в «Маркете» и других подразделениях «Яндекса». Около 15 человек были студентами младших курсов и после окончания Deep Dive вернулись к учёбе в вузах. Ещё 15 стажёров проходят нашу программу сейчас.

Меня зовут Дмитрий, я руковожу техническими проектными менеджерами «Яндекс.Маркета», а с 2019 года также являюсь руководителем Deep Dive.

В этой статье я расскажу о том, как устроен Deep Dive, опишу ключевые процессы и то, как они помогают нам обучать и нанимать специалистов с лучшим потенциалом на рынке. Я надеюсь, эта статья будет полезна широкому кругу читателей: от студентов вузов, определяющихся с местом стажировки, до менеджеров по работе с персоналом и их руководителей.

Цели и задачи Deep Dive

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

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

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

Одной из ключевых задач Deep Dive является трудоустройство успешных стажёров на постоянные позиции в компании.

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

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

Как работает Deep Dive

Сейчас мы нанимаем стажёров в московский кампус компании по трём направлениям: бэкенд- (С++, Java), фронтенд- (JavaScript) и мобильная (Android, iOS) разработка.

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

Deep Dive — новая программа стажировки в «Яндекс.Маркете» по системе bootcamp

Отбор кандидатов

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

После этого остаётся лишь финальный этап — интервью с администратором Deep Dive. Он рассказывает кандидату о формате нашей стажёрской программы и отвечает на вопросы.

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

Начало стажировки и тренировочное задание

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

Затем администратор Deep Dive рассказывает нашим будущим коллегам про основные положения программы, её этапы, сроки и знакомит стажёров с их наставниками на первый этап стажировки — мастерами Deep Dive.

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

Для каждого направления — С++, Java, JS, мобильной разработки — существует своя адаптационная программа, но в целом она сводится к тому, что каждый стажёр должен написать и довести до рабочего состояния небольшой сервис.

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

У каждого однодневного шага есть своя цель с критериями завершения, а также описания на внутреннем вики-портале и ссылки на техническую документацию, которые помогают получить все необходимые сведения для выполнения задания.

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

Deep Dive — новая программа стажировки в «Яндекс.Маркете» по системе bootcamp

За каждой группой из нескольких человек на адаптационном этапе закреплён один ментор из пула мастеров Deep Dive. Все 10 дней наши сотрудники сопровождают свою команду новобранцев: отвечают на вопросы, рассказывают о технологиях, инструментах для выполнения тренировочного задания и о базовых навыках, необходимых для работы в производственных командах.

Стажировка в первой команде

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

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

А фронтендеры на базовом уровне понимают, как интегрироваться с некоторыми сервисами из экосистемы «Яндекса» через API. Теперь начинается следующий этап: 7-недельная стажировка в производственной команде по основной специализации.

Первую команду стажёру всегда подбираем мы. Как правило, недостатка в предложениях со стороны команд у нас нет. 15–20 групп разработки в «Яндекс.Маркете», в маркетплейсе «Беру», в сервисе «Суперчек», в отделах подготовки контента и инфраструктуры и в отделе производства продукта для магазинов готовы принимать новых стажёров практически постоянно.

У каждой команды разработки существует внутренний рейтинг, на который мы ориентируемся, когда планируем распределение стажёров по командам. Этот рейтинг определяется количеством открытых вакансий для младших специалистов, текущим соотношением senior-, middle- и junior-разработчиков в отделах, под управлением которых находятся данные команды.

Также в рейтинге учитывается retention rate производственных отделов и отзывы предыдущих стажёров о командах разработки в данном отделе.

Промежуточное интервью

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

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

Стажировка во второй команде

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

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

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

Альтернативные схемы стажировок в Deep Dive

Deep Dive — новая программа стажировки в «Яндекс.Маркете» по системе bootcamp

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

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

Deep Dive — новая программа стажировки в «Яндекс.Маркете» по системе bootcamp

В другом варианте в одном из отделов был создан специальный контур для стажёров Deep Dive, где они оставались все три месяца. «Контурами» мы называем команды, которые развивают какую-то одну фичу в сервисе или улучшают какой-то один KPI.

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

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

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

Если же стажёров 30 человек и больше, то экономически выгоднее становится подключать к основному формату альтернативные модели.

Рейтинговая система оценок и другая бюрократия Deep Dive

Deep Dive — новая программа стажировки в «Яндекс.Маркете» по системе bootcamp

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

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

Deep Dive — новая программа стажировки в «Яндекс.Маркете» по системе bootcamp

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

За время, проведённое в Deep Dive, у стажёра, как правило, сменяется три наставника. Каждый наставник регулярно оставляет комментарии в тикете об успехах своего подопечного и оценивает работу стажёра по 10-балльной шкале по трём компетенциям: качество выполнения задач, скорость и коммуникативные навыки.

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

Первую оценку и отзыв стажёр получает от мастера Deep Dive после адаптации. Затем наставники из первой и второй команды стажёра оценивают его компетенции каждые две недели. Все промежуточные баллы суммируются и формируют рейтинг стажёра.

Если стажёр набирает определённую сумму баллов, он попадает в пул перспективных кандидатов в младшие специалисты — junior pool, и мы начинаем подбирать ему команду для работы на полную ставку. Чем раньше стажёр попадёт в junior pool, тем быстрее начнётся подбор.

За стажёров, которые попадают в верхние строчки рейтинга, существует настоящая конкуренция между командами. Если же пересечь минимальную границу рейтинга и попасть в junior pool стажёру не удаётся, мы предлагаем ему прийти на повторную стажировку через год и даём рекомендации, над какими компетенциями ему стоит поработать.

Подбор вакансий на полную ставку

На последнем этапе стажировки у нас уже есть достаточно информации о стажёрах, чтобы подобрать им команду для работы на полную ставку. Сначала мы рассматриваем вакансии в тех командах, в которых они проходили стажировку.

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

Наряду с подбором команды внутри «Яндекс.Маркета», после первого этапа стажировки мы также запускаем цикл собеседований в команды разработки «Яндекс.Поиска» и в другие бизнес-юниты «Яндекса».

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

Итоги и планы

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

40% наших выпускников вернулись в вузы для продолжения учёбы, но команды, в которых они проходили стажировки, были готовы предложить им работу на постоянной основе. Этих ребят мы хорошо помним и будем рады видеть их в следующих Deep Dive или в качестве кандидатов на full-time-вакансии.

Кроме того, 10-дневный адаптационный этап доказал свою жизнеспособность в рамках Deep Dive, и у нас есть планы использовать его при адаптации специалистов, выходящих к нам на полную ставку.

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

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

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

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

В этом году нам удалось организовать большую встречу стажёров c CTO «Яндекс.Маркета». Общение проходило в свободном формате. Ребята задавали совершенно разные вопросы, как чисто бытовые о текущей стажировке, так и более общие, связанные с построением карьеры. Мы планируем регулярно проводить такие встречи в будущем, в том числе и с другими руководителями «Маркета».

В завершение могу сказать, что создание таких структур, как Deep Dive, решает не только тактические задачи, связанные с сиюминутными кадровыми вопросами, но и позволяет в целом переосмыслить то, как происходит развитие сотрудников внутри компании.

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

1313
Начать дискуссию