Как нанимать разработчиков: инструкция по применению

Компании хотят закрыть свободные вакансии разработчиков как можно быстрее, однако найм «первого попавшегося» — это не выход. На поиск хорошего кандидата нужно закладывать месяцы. Алексей Панов, бывший руководитель службы в поиске Яндекса и Engineering Manager в международной bigtech компании рассказывает, как нужно проводить собеседования и испытательные сроки, чтобы привлекать идеальных кандидатов и не разочароваться в выборе.

Ошибки, которые часто допускают компании при найме разработчиков

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

Нереалистичные задания

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

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

Недостаточное или отсутствующее внимание к soft skills кандидата

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

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

Игнорируется результат испытательного срока

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

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

Компания не рассказывает о своих проблемах

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

Рассказывайте про проблемы в компании: например, «мы работаем с legacy-кодами», «у нас сейчас проблемы с тестированием и devOps». Честность на собеседовании помогает нанять кандидата, а не отпугивает его. Ведь проблемы звучат более реалистично, чем идеальная картинка, которой нет в реальной жизни.

Этапы собеседования при приеме разработчика на работу

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

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

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

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

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

4. Финальное интервью: в этой секции уже кандидат «собеседует» нанимающего менеджера. Собеседующий детально рассказывает про проект, команду, обязанности и отвечает на любые вопросы кандидата. Его главная задача - дополнительно «продать» вакансию кандидату.

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

Вместо вывода: советы, как правильно выстроить процесс найма разработчика

Совет 1. Постройте комфортную среду для кандидатов

Собеседование не должно тратить много ресурсов кандидата:

  • Никаких тестовых заданий «на неделю»: в первую очередь они отсекут опытных специалистов, которые знают цену своему времени.

  • Возможность проходить интервью онлайн: если это возможно, встретьтесь с кандидатом в конференции. Хотя при желании кандидата его можно пригласить в офис компании.

  • Секций не должно быть много: обычно не больше 5-6. Количество и состав секций должны быть оговорены с кандидатом заранее.

Совет 2. Проводите секцию с кодом

На интервью с кандидатом обязательно делайте секцию с кодом. Часто для кандидатов на senior-позиции её опускают: «он должен архитектуру делать, а не код писать». Однако секция с кодом показывает навыки специалиста: задачи среднего уровня на LeetCode он должен уметь решать.

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

Совет 3. Структурируйте собеседование

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

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

Совет 4. Доводите каждую секцию до конца

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

6710

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.

Предметная область
Отрасль
Управление
Мы используем файлы cookie в аналитических целях и для того, чтобы обеспечить вам наилучшие впечатления от работы с нашим сайтом. Заходя на сайт, вы соглашаетесь с Политикой использования файлов cookie.