На прошлой неделе наши коллеги — Евгений Шишкин, менеджер разработки, и Лидия Самкова, руководитель отдела по работе с IT–персоналом, выступали на HR API. Делимся конспектом их доклада о процессах подбора и адаптации разработчиков в Контуре.


За последние три года разработчиков в Контуре стало в два раза больше. К концу 2018 года их число перевалит за 1000. У компании появляются новые продукты, а значит, растет и количество команд — сейчас их больше 50. На фоне активного роста наши процессы подбора и адаптации перестали работать.


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



Кадр из фильма «Гарри Поттер и философский камень»



Как было раньше?


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


На собеседовании, которое длилось 1,5–2 часа, пытались выяснить, насколько кандидат соответствует техническим требованиям и ожиданиям по софт-скилам. Если кандидат не подходил, планировалось еще одно такое же собеседование со следующими командами в рейтинге. И так по кругу, пока мы не находили подходящую команду.


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


Проблемы такого подбора


  • Cерьезный дискомфорт для кандидатов, которым нередко приходилось пройти через 5–8 собеседований. В одном собеседовании участвовало от 6 до 10 человек.
  • Процесс подбора затягивался на месяцы, мы теряли интересных людей.
  • Составление рейтинга команд было непрозрачным. Команды не могли повлиять на место в рейтинге, некоторые ждали кандидатов годами.

Для кандидатов такая схема тоже выглядела уныло. Получается, у нас было несколько десятков команд с открытыми вакансиями, но выбора у кандидата не было. Новичок составлял представление обо всей компании на основе опыта работы в одной команде, которую мы ему предложили. И если ожидания и реальность не совпадали, то мотивация падала, и он мог уйти (35% всех уходов приходилось на тех, кто не проработал и года).
 
У старой схемы не было единого подхода к адаптации. Каждая команда тратила время на обучение новичка общеконтуровским практикам, инструментам и решениям. Адаптация везде проходила по-своему, а где-то ее не было вовсе. Это тоже причина серьезных потерь.


Что мы изменили?


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


Гильдия проводит технические собеседования, где кандидат проходит 3 обязательных секции: показывает свои практические навыки в написании кода, знание алгоритмов и структур данных, паттернов проектирования. Еще есть дополнительная секция для опытных разработчиков, где мы проверяем технологический кругозор кандидата.


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


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

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


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


Буткамп


В качестве прообраза взяли решение с одноименным названием «буткамп» от Фэйсбука.




Сейчас структура буткампа выглядит так:


  • Общее погружение и знакомство с компанией (1–3 день),
  • Обучение: креш–курс и знакомство с командами (4–10 день),
  • Стажировки и выбор команды (3–12 неделя).

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


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



Буткамперы видят все команды, в которых есть открытые вакансии. Могут фильтровать список команд по технологиям, платформам, городам и востребованным ролям.


Креш–курс


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


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


Курс разбит на блоки — очные занятия с лекциями, практикой и домашними заданиями. Пока курс рассчитан преимущественно на бэкенд разработчиков. Некоторые блоки адаптированы и под фронтендеров, скоро для них появится еще три блока.


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


Знакомство с командами


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


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


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


К концу второй недели все определяются как минимум с первой стажировкой и выходят на нее. И это уже третий, самый продолжительный, блок в буткампе.


Стажировки


В среднем одна стажировка длится 3–4 недели, мы рекомендуем пройти 2–3 таких стажировки. Команды у нас действительно очень разные и по процессам, и по атмосфере, и по предметной области. Далеко не всегда возможно с первого раза попасть в цель, поэтому несколько стажировок — это важно.


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


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


Что получили в итоге?


Начиная с августа 2017 года у нас прошло 10 наборов буткампа, в конце мая стартовал 11 набор.


Буткамп помог:


  • Расширить воронку подбора на входе. Теперь нам не нужно оценивать все риски по кандидатам на старте.
  • Получить опытных и сильных кандидатов. Профи идут к нам охотнее, ведь на самом старте мы даем им возможность сделать осознанный выбор проекта и команды.
  • Активнее вовлекать в формат распределенной разработки. Теперь можно просто взять и поработать со стажером удаленно.
  • Организовать централизованную, качественную адаптацию новичков.
  • Получить гармоничные пары сотрудник–команда. Сотрудник выбирает команду с теми задачами, которые будут его максимально развивать, а команда получает разработчика, замотивированного на решение задач именно этой команды.
  • Получить людей компании, а не сотрудников отдельной команды. Это также очень хорошо сказывается на вовлеченности сотрудников и повышение внутренней кадровой мобильности.

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


Как проходит подбор и адаптация разработчиков в ваших компаниях? Могли бы буткампы помочь и вам? Поделитесь в комментариях своим опытом собеседований в разных компаниях.

Комментарии (23)


  1. MaM
    31.05.2018 14:26
    +1

    Опыт, ну ок. Постоянные неадекватные хрщицы которые пытаються словно пьяный мальчик аутист вставить цилиндр в неподходящее отверстие, непонятные, абсолютно неадекватные собеседования метода- «а ответте в какие циклы луны лучше поливать помидоры». После первого этапа соития, начинается второй этап впринципе этапы могут варироваться, но суть как правило одна, про то, что вы ждете, кем там себя видите, через лет эдак 50, в нашей конторе. Потом пытаются навязать выполнение тестовое задания, конечно оно не оплачиваемое (хотя компания у нас вроде как крупная и плюшки крутые, но нет, нет), любые аргументы никого не интересуют, как правило, это точка рандеву с роботодателем. Иногда пытаются вытянуть бред типа — «а разверните красночерное на салфетке» или «нарисуйте пони класс от класса лощади, но щоб оно там хитро как нибудь», но реже. Потом бывают всякие трешовые предложение вида: поработать за еду или еще как не вполне понятно как. Собеседований из 5-6 попиваний чая и 3-4 кругов обмена мироощущения после активного восприятия шаблонов у меня еще не было, но думаю узнав систему, я ущел бы уже с первого, я пришел работать, а не собеседоваться месяцами.


    1. kaljan
      31.05.2018 14:49

      плюсую комментатору выше


    1. roscomtheend
      01.06.2018 11:08

      После таких собеседований я как-то попал на тех, кто действительно «сломал систему» — полчаса-час пообщались сразу с руководителями и техническими специалистами, вопросы были по бывшим проектам — даже не по коду, а по решениям. Рассказываешь что-то о проекте — они «вижу такую проблему, как обошли? как решили?» — рассказываешь, без всякого кода на салфетках. Или «вот такая задача, как сделать?» — прикидываешь откуда начать, рассказываешь (если и опускаясь ниже уровня, то до блок-схем на словах и общей идеи — здесь сортировка, там словарь — без всяких деталей типа КЧ-деревьев и написания пузырька на ассемблере). Всего одно собеседование, без всяких 5 этапов со стресс-проверками и теста морального облика. Я уж думал такого не бывает.
      А здесь по первоначальному описанию какой-то адский ад, нужно очень хотеть идти туда работать, чтобы выдержать несколько однообразных собеседований.


      1. ncix
        01.06.2018 11:43

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


        1. roscomtheend
          01.06.2018 13:46

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


        1. zenkz
          01.06.2018 17:41

          Даёте пару примеров кода и просите рассказать что он делает, найти ошибки и рассказать как можно улучшить/оптимизировать… Эти 5-10 минут разговора отлично отсекают болтунов и в то же время не создают стресс для кандидата, как, например написание кода на салфетке/доске…


      1. zenkz
        01.06.2018 17:38

        Ваше сообщение бы распечатать и под стекло на стол в HR отделы ИТ компаний (да и не только ИТ). Так и должно быть, когда спрашивают то, с чем реально работают, изучают предыдущий опыт и оценивают, насколько он будет полезен для компании…


  1. Caravus
    31.05.2018 15:32

    Инструкция о том как HR имитировать бурную деятельность.

    Cерьезный дискомфорт для кандидатов, которым нередко приходилось пройти через 5–8 собеседований. В одном собеседовании участвовало от 6 до 10 человек.

    Процесс подбора затягивался на месяцы, мы теряли интересных людей.

    Отлично вообще.


  1. LODIII
    31.05.2018 17:21

    то есть теперь Вы не задаёте задачу про пирожки?


  1. zenkz
    31.05.2018 17:24

    Ваш изначальный подход — это издевательство над кандидатами. (Даже если вы крутая компания, это не даёт вам право проводить 6-8 интервью с одним кандидатом и тратить 2-3 его полных рабочих для, чтобы в результате не взять его в команду).

    Идеальный процесс с точки зрения разработчика выглядит так:
    — Телефонное интервью, чтобы отсеять совсем не подходящих кандидатов) (15-30 минут, опционально)
    — Интервью в компании — (2 часа максимум, из них 15 минут — разговор с HR, софт скилы, рассказ о компании и кандидате, 1 час — техническое интервью, 45 минут — дизайн, умение читать код, паттерны). На интервью 3-5 человек — HR и представители команд (они же и отвечают за техническую часть). Не заставляйте кандитата писать код, лучше попросите спроектировать систему, рассказать на словах как бы реализовал алгоритм или показать примеры кода и попросить найти ошибки/оптимизировать/рассказать что он делает.
    — Если кандидат проходит, то берут на испытательный срок 1-3 месяца, где уже и происходит адаптация в команде/выбор команды. (с выплатой полной оговоренной зарплаты) Для джуниоров вместо испытательного срока может быть стажировка/обучение (бесплатно или с минимальной оплатой, но не больше 1-2 месяцев)


    1. ylian_demakova Автор
      31.05.2018 21:44

      Примерно так и проходит этот процесс сейчас. Только 1-3 месяца кандидат работает по очереди в нескольких командах, которые выбирает сам.


      1. ylian_demakova Автор
        31.05.2018 21:46

        Правильнее назвать буткампера не кандидат, а новый сотрудник. У него все права сотрудника на испытательном сроке.


  1. ylian_demakova Автор
    31.05.2018 17:51

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


    1. Caravus
      31.05.2018 21:00
      +2

      Давайте сравним, с ваших же слов. Было:

      Cерьезный дискомфорт для кандидатов, которым нередко приходилось пройти через 5–8 собеседований. В одном собеседовании участвовало от 6 до 10 человек.

      Стало:
      Гильдия проводит технические собеседования, где кандидат проходит 3 обязательных секции:
      [...]
      Еще есть дополнительная секция для опытных разработчиков
      [...]
      проводим финальное собеседование
      [...]
      А дальше новичок попадает на 3 месяца в буткамп
      [...]
      И только после этого уже сформировавшийся контуровец выбирает команду, где он хочет работать.

      Это же насколько надо хотеть работать в вашей компании?


    1. Caravus
      31.05.2018 21:02
      +1

      Буткамп помог:

      Хоть один пункт напишите который помог чем-то соискателям, а не компании.


      1. ylian_demakova Автор
        31.05.2018 21:34

        Стоит начать с того, что буткамп — это не испытание кандидата, а адаптация нового сотрудника. Буткамперы получают зарплату, о которой договорились. В Буткампе они могут пощупать задачи разных команд, познакомиться с будущими коллегами из этих команд, узнать общие техники и традиции компании. За 3 месяца человек может выбрать тот проект, который ему интересен, учесть личное отношение и атмосферу каждой команды.
        Про собеседования: гильдия проводит 1 собеседование по 3 секциям. Плюс 1 финальное собеседование. Всего 2, вместо 5-8. Для опытных разработчиков, которые претендуют на особые условия, есть еще одно особое собеседование. Итого, у опытных — 3 собеседования.
        Не все новые сотрудники проходят буткамп, есть те, которые идут сразу ради какого-то проекта.
        Из плюсов:


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


    1. zenkz
      31.05.2018 21:34

      А сколько интерьвю в результате проходит кандидат и сколько времени это занимает в новом процессе?
      Если больше 1-2 интервью и 3 часов, то вы ничего не изменили в итоге… Если за 2 часа вы не можете понять подходит вам человек или нет, то вам нужно менять HR и тех, кто проводит техническое интервью. Как вариант вводить систему оценок с проходным баллом и возможностью интервьюверов давать дополнительные баллы за общее положительное или отрицательное впечатление, которое кандидат произвёл.


      1. ylian_demakova Автор
        01.06.2018 10:39

        В среднем проходит 2-3 собеседования, около 4-6 часов в общей сложности. Собеседования проходят в разные дни, как удобнее кандидату.
        Честно говоря, даже меня на должность копирайтера тестили столько же времени, еще и тестовые были всегда. И не только в Контур, но и на предыдущие места работы. Лично мне не кажется это слишком долгим процессом. Если я выбираю работу, я хочу быть уверена, что подхожу компании, а компания подходит мне.


        1. zenkz
          01.06.2018 16:44
          +1

          Это много! Представьте что кандидат работает и хочет сменить работу (а у большинства хороших кандидатов именно так), он разослал резюме в 3-4 конторы и каждая из них проводит такие издевательские собеседования… 4*6 = 24 часа + подготовка, время на дорогу и т.д. получается что минимум 1 рабочая неделя уходит… (а ведь всё это происходит в рабочее время, а значит кандидат либо должен использовать отпуск, либо ещё как-то выкручиваться). Я уже писал выше, что если вы не можете понять за 2 часа подходит вам человек или нет, то значит вы не то спрашиваете или не на то смотрите… К тому же внимательное изучение резюме и профиля в LinkedIn поможет избежать ненужных вопросов, а разговор о предыдущих проектах покажет реальный опыт кандидата. Ещё одна важная вещь: спрашивайте то, что вы реально используете в своей работе. Если, к примеру, вы пишите API, то спрашивайте по API, а не про то как реализовать сортировку пузырьком в двухсвязанном списке…


  1. it2manager
    01.06.2018 08:48

    Следующим этапом будет улучшение сервиса саппорта :) с написанием статьи — «как мы сделали по человечьи». Пишу как клиент :) Вернитесь в реальность!


  1. s_d
    01.06.2018 08:48

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

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

    И спасибо, что поделились опытом. Думаю многим работодателям есть куда расти, и такой подход был бы очень неплох.


  1. LODIII
    01.06.2018 10:03
    +1

    2Автор, Извините за hard
    ИМХо у Вас такая большая текучка в первый год вовсе не потому что буткамп/не буткамп.
    Другая специфика отбора это просто другая воронка попадающих к Вам на работу.
    А почему люди бегут это просто:
    Недавно был анонимный запрос на хабре который показал правду — потолок з/п среднестатистический у Вас 105. При том что за него надо пахать как раб на галерах.
    При том что в Москве с улицы берут на 150. Конечно Екат не Москва, но и здесь ГИКи не глупые и пахать как ВВП будут от 130/150. Тем более что предложений для профи полно — тот же Яндекс и другие федеральные/европейские ИТ конторы — с десяток уж или больше их расплодилось.
    И пока Ваше руководство мечтает построить на Широкой речке Силиконовую долину по сути при таких з/п Вы просто старт для студентов.


  1. ncix
    01.06.2018 11:46

    Буткамп это конечно здорово, но во сколько это обходится компании? Вы уверены что эти расходы окупаются? Очень интересно, оценивали ли вы это с экономической точки зрения и как?