🧑💻 Как я провожу финальные собеседования
Интро
Процесс собеседование разработчика в крупных компаниях состоит из нескольких этапов:
- Скрининг с HR
- Технические секции: алгоритмы, платформа и архитектура
- Финальное собеседование
На скрининге HR спрашивает соискателя об опыте, мотивации, ожиданиях и текущем статусе поиска работы. Вместе с этим он оценивает уровень коммуникации.
Затем идут технические секции, количество которых зависит от уровня кандидата и результатов предыдущих секций.
Вся информация фиксируется в профиле кандидата, в нем хранится информация и о предыдущих попытках устройства в компанию .
После прохождения технических секций профиль кандидата попадает на стол к лидам команд, в которых есть открытые вакансии: они просматривают его и решают, хотят ли они провести собеседование.
У каждого лида свои представления о нужном сотруднике в зависимости от предстоящих задач. К примеру, если это платформенная команда, то разработчику нужно глубже понимать работу инструментов под капотом, уметь хорошие навыки в дебаге, уметь работать с инфраструктурой и т. д.
Мой проект — внутренняя админка с небольшим количеством пользователей, но важная для бизнеса. От разработчика в не требуются никаких особых технических знаний, достаточно в определенной степени знать стек проекта. При этом важны автономность (команда небольшая, нет возможности долго заниматься обучением) и хорошие навыки коммуникации (приходится много общаться со смежниками).
Собеседование
Если с кандидатом хотят пообщаться несколько лидов, то финальных встреч может быть несколько — не больше 2-3 лидов на созвон. По опыту 2 лида — это комфортный предел, после которого собеседующие начинают мешать друг другу.
Первые собесы комфортнее проводить с более опытным интервьюером — это позволяет перенять его опыт и меньше нервничать. С каждым собесом навык их проведения прокачивается: начинаешь понимать какие вопросы работают, что интересно кандидатам и как лучше «продавать» свой проект.
Перед созвоном я просматриваю профиль кандидата и выписываю в отдельную заметку интересные моменты и вопросы, которые я хотел бы задать. Также обращаю внимание на фидбек предыдущих собеседующих. Если позволяет время, то прохожусь по ссылкам в резюме, чтобы лучше понимать о чем говорит собеседник.
Собеседование начинается с короткого знакомства и рассказе о плане встречи. Обычно при общении один на один собес длится минут 40. Из них бо́льшую часть времени кандидат рассказывает о своем опыте и отвечает на вопросы, а последние минут 10 я рассказываю о нашем проекте и команде, после чего отвечаю на вопросы кандидата. По ходу созвона я веду заметки — по ним можно складывать картинку в голове, задавать уточняющие вопросы и написать отзыв.
Для рассказа о нашем сервисе у меня заготовлена специальная презентация, красиво оформленная нашими дизайнерами — она позволяет наглядно рассказать о продукте, технологиях, команде, процессах и наших планах. Кроме этого я вкратце рассказываю чем предстоит заниматься.
Иногда после собеседования в паре мы созваниваемся, чтобы обменяться впечатлениями о кандидате.
По итогу финалов лиды оставляют фидбек, где указывают рассматривают ли они кандидата и на какой грейд (уровень) готовы его взять. Если кандидат понравился нескольким лидам, то он сам выбирает команду, к которой хочет присоединиться.
Также у Яндекса (возможно, и у других компаний) есть программа буткемпа, по которой кандидат работает в нескольких командах по 2 недели и по итогу выбирает ту, где хочет остаться. Такой подход позволяет команде и кандидату увидеть друг друга в деле и снижает риск ошибочного выбора.
Вопросы
В самом начале я прошу кандидата рассказать о своем опыте. Обычно это пара последних мест работы. По ходу рассказа пытаюсь выстроить в голове цельную картину.
Какие вопросы я обычно задаю?
Общие
-
Кем вы видите себя через 5 лет? - Что представляет из себя продукт?
- Какие технологии использовали? Почему?
- Какая была архитектура?
- Расскажи о команде: какие роли, сколько человек?
- Как были выстроены процессы?
- Почему ты хочешь сменить компанию (особенно, если работает там недавно)?
Коммуникация
- Как происходило взаимодействие со смежниками (дизайнеры, бэк, аналитики)?
Понимание процессов
- По какой методологии работали?
- Откуда приходили задачи?
- Как происходил деплой?
Интересы
- Какие задачи интересны?
Лидерские навыки
- Был ли опыт руководства?
- Насколько интересно управлять людьми?
Прочее
- Когда готов выйти на работу?
Также задаю вопросы, записанные ранее на основе профиля к андидата + какие-то вопросы появляются по ходу беседы.
Один из самых важных вопросов: «Расскажи о самой большой / сложной задаче, которую тебе приходилось решать (можно несколько)». Важен он потому, что масштаб решаемых задач влияет на итоговую оценку. В процессе рассказа важно отделять личные достижения от командных, уточняя: «Что из этого делал ты лично?».
Некоторые собеседующие пытаются оценить различные компетенции, задавая по каждой из них по несколько вопросов. Я пока не настолько искушенный интервьюер, поэтому опираюсь на собственное восприятие.
На мой взгляд есть ряд относительно бесполезных вопросов, которые работают только если человек хорошо порефлексировал перед собесом и был готов к ним. Например:
- Что ждешь от команды / проекта / компании?
- Что ждешь от руководителя?
Намного лучше работают такие вопросы:
- Что нравится в текущей работе? Что можно было бы улучшить (или не нравится)?
- Что нравится в текущей команде? Что можно было бы улучшить?
- Что нравится в текущем руководителе? А что не нравится?
На что обращаю внимание?
- Общая адекватность
- Насколько последовательно и понятно объясняет
- Насколько легко общаться — не приходится вытягивать информацию по крупицам
- Углубляется ли в детали или рассказывает поверхностно
При этом стараюсь держать в голове, что люди бывают разные по опыту и темпераменту и мне не нужен кандидат идеальный во всех аспектах — есть моменты, которые можно подтянуть в процессе.
На результаты алгоритмической секции я могу закрыть глаза, если нет красных флагов: чел допускает ошибки в базовых вещах, пытался хитрить и т. п.
Также стараюсь не привязываться сильно к оценкам других лидов, независимо от того позитивный это фидбек или негативный.
Почему важно точно определить грейд?
Финальный грейд (уровень разработчика) выставляют лиды и для одного и того же кандидата она может отличаться: кто-то оценил кандидата как мидла, а другой увидел в нем сеньора.
Грейд — штука местами субъективная и тут есть вероятность ошибиться. У каждого грейда есть ожидания от него и зарплатная вилка. Лиды не знают вилки (но могут примерно их прикинуть).
Если поставить кандидату оценку ниж е реальной, то могут не совпасть зарплатные ожидания кандидата и вилка и он может отказаться от оффера. Если переоценить кандидата, то могут возникнуть сложности с его защитой на ревью (подробнее об этом расскажу в одном из следующих постов, ин шаа Ллах).
По этой причине я иногда могу задать вопросы, которые не относятся непосредственно к работе в моем проекте — это позволяет более точно выставить оценку.
Что мне дает опыт собеседования
Находясь по другую сторону баррикад начинаешь по-другому смотреть на сам процесс: собеседование воспринимается уже не как экзамен, а скорее как диалог и обсуждение взаимовыгодного сотрудничества.
Появляется понимание как лучше рассказывать о своем опыте, на чем делать акценты, а о чем говорить не стоит. Думаю, в дальнейшем прохождение собесов станет для меня в разы комфортнее.
Если есть такая возможность, такой определенно стоит получить.
Полезные материалы
- Статья на Хабре «Чему я научился после проведения тысячи собеседований»: раз, два
- Доклад «Собеседование мобильных разработчиков. Обе стороны баррикады»