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

В этом блоге я расскажу о процессе найма, который мы разработали в Qstream.

Должностные обязанности


Описание должностных обязанностей (job spec) — чрезвычайно важный аспект найма, поскольку обычно это первое воздействие на потенциального кандидата. Если не приложить здесь усилий, то вы ухудшите шансы на привлечение талантов.

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

О вакансии


Описание вакансии (role) — наиболее важная часть спецификации, поскольку оно детализирует, чего кандидату ожидать от позиции. Этот раздел — ваш шаг навстречу кандидату. Вы должны быть уверены, что правильно преподносите себя.

О нас


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

О вас


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

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

Задайте вопрос: «Это необходимо?» по каждому пункту. Если не можете убедить себя в ответе, удалите требование.

Гид кандидата


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

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

Пять принципов


Мы определили пять необходимых принципов для этого процесса:

  1. Нанимать на основе реалистичности.
  2. Быть снисходительным к качеству резюме.
  3. Быть внимательным к кандидату.
  4. Открыть процесс собеседования для всей команды.
  5. Пообщаться вне офиса.

1. Нанимать на основе реалистичности


Убедитесь, что задачи для кандидатов реалистичны и актуальны для их рабочей должности.

Как я упоминал во введении, на многих технических собеседованиях предлагаются нереалистичные проблемы, такие как:

  • Вывести все перестановки строки
  • Реализовать алгоритм для реверсирования одиночного связного списка
  • Реверсирование битов целого числа

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

  • В большинстве работ по разработке ПО ничего из вышеперечисленного не применяется
  • Во всех работах по разработке ПО у меня есть ноутбук и Google

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


Субъективность — враг, когда дело доходит до оценки резюме.

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

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

Бертрам улыбнулся. Он выхватил стопку резюме и начал их сортировать: первое обратно в кучу, второе в корзину, третье на стол, четвёртое в корзину. Закончив, Бертрам избавился от половины резюме: «Очень легко, — сказал он. — Просто не бери на работу невезучих людей».
[1]

3. Быть внимательным к кандидату


Чем комфортнее ощущает себя кандидат, тем скорее он проявит свои лучшие качества.

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

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

4. Открыть процесс собеседования для всей команды


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

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

5. Пообщаться вне офиса


Чем меньше нервничает кандидат, тем продуктивнее будет время с ним.

Все знают старую шутку об айтишниках без социальных навыков.


— Привет, я инженер. То есть у меня великолепный потенциал для трудоустройства и я могу чинить вещи по дому.
— А какие у тебя социальные навыки?
— Вау, нельзя же требовать невозможного.


Конечно, это утверждение не соответствует действительности (в основном).

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

Процесс


1. Выбор гида


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

2. Изучение резюме


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

3. Телефон


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

4. Техническое задание


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

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

5. Интервью в офисе и социальное взаимодействие


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

Вот как мы структурируем время кандидата в офисе.

15 минут
Приехать, осмотреться, познакомиться.

15 минут
Выпить кофе с кем-нибудь из команды. Это взаимодействие совершенно случайно. Если солнечно, мы обычно идём в парк с кофе.

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

15 минут
Знакомство с техническим директором. В беседе можно честно обсудить культуру и направление компании.

15 минут
Встреча с кем-то из отдела кадров (People Operations), чтобы обсудить компанию и её преимущества.

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

6. Принятие решения


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

Обратная связь


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

Вывод


Могу обобщить несколько ключевых выводов из этой статьи:

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

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


  1. Cobolorum
    20.08.2018 15:05

    Супер и очень правильно! Но возникает вопрос на сколько найм разработчиков соответствует этому? Или разработчики не инженеры?


    1. alizar
      20.08.2018 15:44

      Инженеры-программисты.


  1. dimoff66
    20.08.2018 16:06

    «Не ожидайте, что один вариант подойдёт всем. Например, действительно ли нужен четырёхлетний опыт или достаточно двухлетнего?»

    Вообще не нужно проставлять опыт как обязательное требование, потому что:
    а) Вы не можете это реально проверить… Если я работал во фрилансе, как вы узнаете, что я проработал там 4 года, а не 2?
    б) Это не дает никакого реального представления об уровне кандидата и может отсеять действительно способных людей с небольшим опытом. Сколько человек просиживал штаны на какой-то должности само по себе значит не очень многое, поскольку разной бывает интенсивность работы и способности разработчика.

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

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

    По моему опыту, тестовое задание должно состоять из неявных для кандидата частей:
    1) 1я часть должна включать в себя несколько небольших заданий, показывающих уровень владения человеком необходимыми технологиями
    2) Пару заданий повышенной сложности на сообразительность

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


    1. JekaMas
      21.08.2018 09:18

      А потом получается: выходишь на рынок и получаешь не одиночные тестовые задания от N компаний, а N(2+M), где M — несколько простых, а 2 — пару повышенной сложности.
      И понимаешь, что на всех времени не хратит и пойду туда, где просто собеседование или максимум одно тестовое на 2-3 часа.


      1. dimoff66
        21.08.2018 12:28

        Под одиночными тестовыми заданиями понимаются какие-то несложные вопросы на 5-10 минут. Предполагается, что в целом все займет часа 2-3 не больше.


    1. pyJIoH
      21.08.2018 11:28

      Меня это тоже в штатовских вакансиях убивает «8-10+ years of experience in Java» как будто это показатель качества.


  1. Wolonter
    20.08.2018 19:40
    +1

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


    А ведь есть такая штука, как электронная почта.


  1. JekaMas
    21.08.2018 09:22

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


  1. RiseOfDeath
    21.08.2018 09:31

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


    У меня нет ни малейшего желания слушать 10 минут рассказ о компании по телефону. Обычно звонят днем, когда я как бы занят. И одно дело потратить минуту на «Здарсте, мы такие-то там, отправить вам нашу ваканкисю на почту?», и совсем другое десять минут своего рабочего времени слушать все то, что можно написать в письме.

    Особенно это раздаржает когда явно указанно, что e-mail предпочтительный способ связи.

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


  1. werklop
    21.08.2018 14:03

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

    Вот бы к этому прислушались работодатели, а то спрашивают фигню какую-то, а потом приходишь к ним и занимаешься формошлепством…
    Другое дело, если компания занимается ML, играми, низкоуровневыми вещами для конкретного железа, тогда да, глубокое знание алгоритмов пригодится