1. Определите потребности
Прежде, чем нанимать специалиста, решите, кто вам именно нужен в плане навыков, доступности, рабочих смен, временных ограничений, динамики команды, квалификации и т.д. Для этого полезно задать себе следующие вопросы.
- Для проекта действительно нужен senior-разработчик? Возможно, вы добьетесь лучших результатов с любопытным, трудолюбивым и замотивированным middle-разработчиком.
- Нужен ли разработчик прямо сейчас или позже?
- Будет ли он заниматься конкретным проектом или сразу несколькими? Если он будет закреплен за одним проектом, что его ждет после завершения?
- Какие навыки необходимы для проекта?
- Какие еще навыки/знания было бы неплохо иметь разработчику?
- Какова специфика проекта (сроки и т.д.)?
- Уверены ли вы, что ваши ожидания реалистичны?
- Кто из существующего коллектива будет участвовать в оценке нового разработчика (например, собеседовании, квалификационном экзамене и т.д.)?
2. Используйте контакты ваших сотрудников для поиска новых
Помимо обычных ресурсов (сайтов вакансий, LinkedIn и т.д.), потенциальных кандидатов можно найти в сообществе разработчиков, например, StackOverflow, или среди знакомых ваших нынешних сотрудников.
Сеть контактов — очень эффективный инструмент для поиска, и по мере развития компании она разрастается.
Для сотрудников можно организовать реферальную программу, но для этого необходимо предоставить им нужные инструменты. Например, устроить тренинг и рассказать, как правильно представить ваш бренд.
3. Просматривайте резюме, но не придавайте им слишком большого значения
Ищите в резюме соответствие вашим требованиям, а не описанию вакансии.
Обращайте внимание на детали: описанный в резюме опыт должен отражать реальные навыки кандидата.
Иногда сфера применения упомянутых инструментов слишком широка, и важно понять, какой реальный опыт есть у соискателя. Например, JavaScript. Многие разработчики знают JQuery, но не все понимают сам язык. Тем не менее они без колебаний укажут JavaScript в качестве своего основного инструмента.
Далеко не все резюме отражают навыки и личность. Скорее всего, в некоторых будут плохие описания, неточности, преувеличения, пропуски, а иногда и откровенная ложь. Если резюме не показывает огромное несоответствие между тем, что вы ищете, и тем, что может предложить кандидат, лучше пообщаться с ним лично.
4. Никогда не отказывайтесь от личных собеседований
Одна из задач при найме сотрудника — быстро определить, подходит ли он вашей компании и подходит ли она ему. Лучший способ оценить это — личное собеседование. Вот какие возможности оно дает:
- узнать побольше об опыте соискателя и уточнить сведения, недостаточно подробно описанные в резюме;
- оценить подход кандидата и его соответствие культуре компании;
- увидеть, насколько ясно кандидат может выражать свои мысли — это способствует командной работе и указывает на уровень понимания кандидата;
- выяснить, насколько хорошо разработчик понимает, в чем будет заключаться его работа (возможно, он много лет работал внештатно, и ему будет сложно приспособиться к вашей компании или офисной работе);
- оценить, насколько кандидату интересна компания, в которую он обращается. Искал ли он информацию о потенциальном работодателе? Есть ли у него вопросы о вашей компании?.
5. Проверяйте информацию из резюме соискателей
Некоторые пункты резюме стоит проверить.
- Сертификаты. Запросите подтверждение сертификатов владения языками программирования и инструментами, указанными в резюме. Убедитесь, что их выдало настоящее, зарегистрированное образовательное учреждение.
- Прошлые проекты и рекомендации. Сравните инструменты и языки программирования, указанные в резюме, с проектами, над которыми они работали.
- Слишком расплывчатые описания. Возможно, кандидат указал неполную информацию, потому что что-то скрывает.
6. Тестируйте навыки кандидатов в реальных условиях
Ничто не показывает способности разработчика, чем проверка в реальной ситуации. Однако ее надо правильно организовать и оценить.
Подготовка
Не используйте простые тесты с готовыми вариантами ответа. Вместо этого подготвьте экзамен, на котором потребуется объяснить концепцию, технологию или проблему.
Оценка результатов
В первую очередь уделите внимание мыслительному процессу, а не результату. Интерпретируйте тест как потенциал развития, а не фактические возможности кандидата. Пусть он объяснит, почему у него что-то не получилось, и оцените его ход мысли.
Практический подход к экзамену
Вот образец реального тестирования, которое устраивают для соискателей на должность разработчика.
- Кандидат должен выбрать технологию, которую хочет протестировать.
- Экзамен начинается с нескольких логических вопросов, как в тесте IQ. Они не должны быть связаны с выбранной технологией.
- Затем следуют несколько вопросов с вариантами ответа, посвященных выбранному языку и связанным с ним инструментам (например, если выбран Angular, тест также касается Javascript).
- После этого есть несколько вопросов с развернутыми ответами, где нужно объяснить конкретную ситуацию. Это одно из самых важных заданий, потому что оно показывает способность заявителя объяснить и решить проблему.
- Последнее задание посвящено программированию. Соискателю предлагается следовать инструкциям и внести изменения в небольшое приложение. Изменения тестируются автоматически, а затем код проверяется вручную.
7. Пригласите сотрудников участвовать в собеседованиях
В идеале собеседование должны проводить senior- и middle-разработчики, которые, вероятно, и будут постоянно взаимодействовать с кандидатом. Очень важно убедиться, что команда сработается с новым специалистом.
Действующие сотрудники точнее всего представляют корпоративную культуру и лучше всего могут определить, подходит ли кандидат. При этом он получит полное представление о том, что от него ожидают, а также о проекте, в котором он будет участвовать.
8. Организуйте встречу с CEO или учредителем
Пусть каждый кандидат, одобренный сотрудниками, пройдет заключительное собеседование с соучредителем, CEO или одним из руководителей, прежде чем подписать трудовой договор.
Это показывает кандидату, насколько он ценен, что в новой компании он становится частью семьи, а также насколько важно для основателей знать, кто устраивается в компанию.
9. Будьте полезным для каждого кандидата
Даже если соискатель не получит работу, то расскажет о своем опыте знакомым.
Большинство компаний делают все возможное, чтобы создать отличную рабочую среду, хорошие льготы и достойную оплату. Но создавать ценность для разработчиков, которые просто пришли на собеседование, — это признак того, что компания действительно заботится о людях. Поэтому будьте открыты для разговора и сообщите кандидату, почему он не прошел, покажите ему результаты теста и дайте профессиональный совет. Возможно, через несколько месяцев он повторно свяжется с вами.
10. Давайте второй шанс
- Бывает, что талантливые специалисты плохо показывают себя на собеседовании, потому что нервничают или недостаточно подготовились. Но это не значит, что они не станут отличным дополнением к вашему коллективу. Что произойдет, если кандидат не справится с тестом или собеседованием? Предоставляйте подробную обратную связь и поощряйте кандидатов возвращаться к вам после того, как они подготовятся получше.
- Будьте открыты к тем, кто когда-то работал с вами. Люди решают оставить работу по ряду причин. Но когда они захотят вернуться в компанию, будьте готовы принять их. Если в прошлом отношения складывались удачно, нет никаких причин, почему бы не продолжить их. Не разрывайте отношения с бывшими сотрудниками. Удержание талантов так же важно, как поиск и наем.
Найти первоклассного программиста очень сложно. Но помните, что люди — это самый важный ресурс. Вот почему важно оценивать ваши возможности и использовать время для анализа откликов, неважно, хотите ли вы закрыть одну позицию или набрать целую команду.
1. Определите потребности
Прежде, чем нанимать специалиста, решите, кто вам именно нужен в плане навыков, доступности, рабочих смен, временных ограничений, динамики команды, квалификации и т.д. Для этого полезно задать себе следующие вопросы.
2. Используйте контакты ваших сотрудников для поиска новых
Помимо обычных ресурсов (сайтов вакансий, LinkedIn и т.д.), потенциальных кандидатов можно найти в сообществе разработчиков, например, StackOverflow, или среди знакомых ваших нынешних сотрудников.
Сеть контактов — очень эффективный инструмент для поиска, и по мере развития компании она разрастается.
Для сотрудников можно организовать реферальную программу, но для этого необходимо предоставить им нужные инструменты. Например, устроить тренинг и рассказать, как правильно представить ваш бренд.
3. Просматривайте резюме, но не придавайте им слишком большого значения
Ищите в резюме соответствие вашим требованиям, а не описанию вакансии.
Иногда сфера применения упомянутых инструментов слишком широка, и важно понять, какой реальный опыт есть у соискателя. Например, JavaScript. Многие разработчики знают JQuery, но не все понимают сам язык. Тем не менее они без колебаний укажут JavaScript в качестве своего основного инструмента.
Далеко не все резюме отражают навыки и личность. Скорее всего, в некоторых будут плохие описания, неточности, преувеличения, пропуски, а иногда и откровенная ложь. Если резюме не показывает огромное несоответствие между тем, что вы ищете, и тем, что может предложить кандидат, лучше пообщаться с ним лично.
4. Никогда не отказывайтесь от личных собеседований
Одна из задач при найме сотрудника — быстро определить, подходит ли он вашей компании и подходит ли она ему. Лучший способ оценить это — личное собеседование. Вот какие возможности оно дает:
5. Проверяйте информацию из резюме соискателей
Некоторые пункты резюме стоит проверить.
6. Тестируйте навыки кандидатов в реальных условиях
Ничто не показывает способности разработчика, чем проверка в реальной ситуации. Однако ее надо правильно организовать и оценить.
Подготовка
Не используйте простые тесты с готовыми вариантами ответа. Вместо этого подготвьте экзамен, на котором потребуется объяснить концепцию, технологию или проблему.
Оценка результатов
В первую очередь уделите внимание мыслительному процессу, а не результату. Интерпретируйте тест как потенциал развития, а не фактические возможности кандидата. Пусть он объяснит, почему у него что-то не получилось, и оцените его ход мысли.
Практический подход к экзамену
Вот образец реального тестирования, которое устраивают для соискателей на должность разработчика.
7. Пригласите сотрудников участвовать в собеседованиях
В идеале собеседование должны проводить senior- и middle-разработчики, которые, вероятно, и будут постоянно взаимодействовать с кандидатом. Очень важно убедиться, что команда сработается с новым специалистом.
Действующие сотрудники точнее всего представляют корпоративную культуру и лучше всего могут определить, подходит ли кандидат. При этом он получит полное представление о том, что от него ожидают, а также о проекте, в котором он будет участвовать.
8. Организуйте встречу с CEO или учредителем
Пусть каждый кандидат, одобренный сотрудниками, пройдет заключительное собеседование с соучредителем, CEO или одним из руководителей, прежде чем подписать трудовой договор.
Это показывает кандидату, насколько он ценен, что в новой компании он становится частью семьи, а также насколько важно для основателей знать, кто устраивается в компанию.
9. Будьте полезным для каждого кандидата
Даже если соискатель не получит работу, то расскажет о своем опыте знакомым.
Большинство компаний делают все возможное, чтобы создать отличную рабочую среду, хорошие льготы и достойную оплату. Но создавать ценность для разработчиков, которые просто пришли на собеседование, — это признак того, что компания действительно заботится о людях. Поэтому будьте открыты для разговора и сообщите кандидату, почему он не прошел, покажите ему результаты теста и дайте профессиональный совет. Возможно, через несколько месяцев он повторно свяжется с вами.
10. Давайте второй шанс
Найти первоклассного программиста очень сложно. Но помните, что люди — это самый важный ресурс. Вот почему важно оценивать ваши возможности и использовать время для анализа откликов, неважно, хотите ли вы закрыть одну позицию или набрать целую команду.