21 прогноз рынка Труда России 2021: работа после эпидемии
25.11.2020
it рекрутмент курс
7 причин, почему Вам не надо изучать IT-рекрутинг
03.12.2020

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

Знаете ли вы, что стоимость найма разработчика программного обеспечения может достигать 60 тысяч долларов? Если вы не имеете большого бюджета для найма работников, вы не можете позволить себе нанимать кандидатов, чьи навыки не подтверждены и просто надеяться на лучшее. Фактически, умение применять навыки программирования, будь то front end, back end или full stack разработка, является фундаментальным для каждого успешного процесса IT рекрутмента.

Как работодатели могут проверить чьи-то способности заранее? Это сложнее, чем просто заглянуть в резюме программиста.

“Многие разработчики посещают курсы обучения программистов для расширения своих навыков, уже имея постоянную работу ” (Квинси Ларсон)[1]

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

Давайте взглянем.

 

Оглавление

  1. Как оценить навыки программирования – методы и советы
  2. Портфолио
  3. GitHub
  4. Stack Overflow
  5. Тесты по алгоритмам программирования (не рекомендуется)
  6. Пробные рабочие тесты
  7. Собеседования
  8. Кодирование в реальном времени
  9. Как оценить навыки программирования: краткое изложение
  10. Видео “Первичный скрининг: как оценить навыки разработчика”

 

Как оценить навыки программирования – методы и советы

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

 

Портфолио

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

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

 

GitHub

Воспринимайте GitHub как расширение для портфолио вашего кандидата. Вам стоит взглянуть на следующие детали их профиля:

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

Количество контрибуций и активность кандидата, иллюстрация с сервиса GitHub

 

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

Держа все это в голове, важно, чтобы вы также знали об ограничениях GitHub. 

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

“Лучшие программисты не чуть-чуть лучше хороших. Они на порядок лучше по любым меркам: концептуальное мышление, скорость, изобретательность и способность находить решения.” (Рэндал И. Стросс)

 

Stack Overflow

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

“Большинство профессиональных разработчиков занимаются программированием не так давно. 55% кодит менее 8 лет, а 1/3 — менее 5” (Квинси Ларсон)[2]

Функционал сервиса Stack Overflow

Функционал сервиса Stack Overflow

 

 

Тесты по алгоритмам программирования (не рекомендуется)

“Измерять продуктивность программиста подсчетом строк кода — это так же, как оценивать постройку самолета по его весу” (Билл Гейтс)

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

Твит пользователя Max Howell

Твит пользователя Max Howell: “Google: 90% наших разработчиков пользуются вашим программным обеспечением (Homebrew), но вы не можете инвертировать “двоичное дерево” на доске, так что замолчите”

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

Итак, как вы можете проверить реальные навыки вашего кандидата в разработке программного обеспечения? Давая на выполнение пробные рабочие тесты кода.

 

Пробные рабочие тесты

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

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

 

Итак, как они работают?

Эти тесты кодирования позволяют смоделировать день из жизни разработчика программного обеспечения в вашей компании, давая новобранцам практическое задание, будь то проект разработки или задача DevOps по настройке системы. Им предоставляется доступ к той же среде, которую обычно используют ваши разработчики – библиотекам, фреймворкам, GitHub или Stack Overflow. Все это позволяет им увидеть, как может выглядеть «первый день», если бы они работали на вас.

Во время пробного рабочего теста кандидатам дается ограничение по времени, которое отражает, как долго вы обычно ожидаете, чтобы ваш разработчик предоставил подобное решение. 

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

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

Они также могут быстро предоставить обратную связь кандидатам – что важно, потому что лучшие технические таланты уходят с рынка почти мгновенно!

“Большая часть разработчиков работает на постоянной работе, примерно 10% — фрилансеры. Только 5% разработчиков желающих работать сейчас в поиске — статистика на много лучше, чем практически в любой другой сфере деятельности” (Квинси Ларсон)[3]

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

  • Они объективны . Каждый кандидат работает над одной задачей. Также тест проводится перед любым собеседованием. Это важно, потому что бессознательная предвзятость по-прежнему представляет собой огромную проблему при приеме на работу. Кодирование образцов работы помогает гарантировать, что квалифицированным кандидатам не откажут по личным, субъективным мотивам.
  • За кандидатами не следят . Некоторые кандидаты могут оказаться в стрессе и не успеть, если их первый тест на кодирование будет проходить во время собеседования. Тесты по программированию рабочих образцов позволяют кандидату выполнить свое первое задание по программированию без присмотра.
  • Они автоматизированы . С таким решением, как DevSkiller, вашим техническим интервьюерам не нужно проверять тесты вручную и они могут быстро отфильтровать кандидатов с наивысшими баллами.
  • Они экономят время ваших кадровых и ИТ-специалистов. Целью этих тестов для разработчиков является предварительный отбор ваших кандидатов на ранних этапах приема на работу. В результате вы сможете проводить собеседования только с самыми лучшими кандидатами. Это означает, что риск вовлечения вашей HR-команды, технического директора или других старших разработчиков в неудачный набор работников минимизирован.  
Диаграмма улучшений CodeValue в облaсти найма разработчиков

Диаграмма улучшений CodeValue в облaсти найма разработчиков, связанных с использованием сервиса DevSkiller

 

 

Собеседования

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

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

Что касается целей технического собеседования, оно должно проверить:

  • Может ли кандидат написать высококачественный код, который соответствует требованиям вашей компании (это уже частично проверено в пробном рабочем тесте)
  • Как кандидат подходит к вызовам и насколько творчески подходят к техническим решениям
  • Является ли он «командным игроком» и могут ли он без проблем сотрудничать с другими.

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

Рекомендуемая литература: Как проводить техническое собеседование: 7 советов по техническому собеседованию

 

Кодирование в реальном времени

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

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

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

Рекомендуемая литератураСобеседование по программированию онлайн и как работать с CodePair удаленно.

Пример кода написанного на языке Java

Пример кода написанного на языке Java

 

Как оценить навыки программирования: краткое изложение

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

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

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

 

Изображения принадлежат  Кевину Ку  на  Unsplash

[1] Цитата из статьи “Insights from Stack Overflow’s 2018 survey of 100,000 developers”

[2] Цитата из статьи “Insights from Stack Overflow’s 2018 survey of 100,000 developers”

[3] Цитата из статьи “Insights from Stack Overflow’s 2018 survey of 100,000 developers”

 

Обзор составили  HR Эксперты ONLINE PERSONAL

Самойленко Геннадий, Данилова Варвара

 

Бонусные видео

В качестве бонуса предлагаем посмотреть видео от известного и авторитетного разработчика инструментов для it рекрутеров – AmazingHiring .

Как оценить навыки разработчика? Какие приемы можно использовать при проведении первичного скрининга для подбора технических специалистов? Где найти достойных специалистов и как выбрать наиболее подходящих?

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

Ссылка на видео “Первичный скрининг: как оценить навыки разработчика”:

<