Доверяй, но проверяй: что нужно знать о тестировании разработчиков?

Время чтения: 10 минут
Дата публикации:
Доверяй, но проверяй: что нужно знать о тестировании разработчиков?
Поделиться:

Содержание статьи

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

В последние годы рынок IT в России рос с пугающей скоростью, при этом являясь, скорее, рынком работника. 2022-й год перевернул всё с ног на голову. Так, по данным HeadHunter с января по сентябрь количество вакансий в IT упало на 25%. При этом число резюме выросло на 55%, с 211 тысяч до 327.

У этого эффекта есть сразу несколько объяснений: это и выход на рынок десятков тысяч специалистов из международных компаний, покинувших Россию; и большое количество людей, которые после начала кризиса обучились на онлайн-курсах и претендуют на джуниор-позиции. 

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

Строим воронку найма: как отбирать разработчиков

В 2022 году американская платформа CodinGame выяснила, что самая насущная проблема IT-рекрутинга — это поиск квалифицированных кадров, о ней упомянули 46% опрошенных респондентов. Это почти в два раза больше, чем у второго места «топа» — определения реального потенциала у кандидатов, которые не оканчивали профильные учебные заведения.

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

Поэтому опытные IT-рекрутеры советуют проводить многоступенчатый отбор:

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

  2. При наличии, исследовать GitHub претендента. Рекрутеры обращают внимание на количество подписчиков, дату регистрации, количество репозиториев и коммитов.

  3. Уточнять опыт использования Stack Overflow. Изучив, с какими вопросами и ответами кандидат приходит на крупнейший Q&A-сервис для разработчиков, можно понять области его интересов, примерный уровень знаний, репутацию в сфере.

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

  5. Проводить технические интервью. В идеале — с кодингом в режиме реального времени и под присмотром нанимающего менеджера с опытом в разработке.

В этой статье сосредоточимся на 4-м пункте — тестировании — и расскажем о его тонкостях на примере нашего клиента, одного из крупнейших корпоративных университетов России.

 

Как протестировать знания программистов

Клиент, которого мы упомянули чуть выше, делает особый упор на проверку знаний IT-специалистов. За прошлый год компания провела больше 500 тысяч сеансов тестирования в StartExam, причём оценивала совершенно разных профессионалов: разработчиков и их руководителей, DevOps, администраторов СУБД, кибербезопасников, архитекторов.

Спектр языков и технологий для оценки также используется максимально широкий: Java, Python, Kotlin, SQL, PostgreSQL, PL/SQL, JavaScript, Agile, AI, ML, Data Science и др.

В компании используют 5 различных видов заданий:

  1. Проверка теории. В таких заданиях можно, например, спросить, для чего используется описанный алгоритм. Или попросить дать определение термину: «Что такое функции высокого порядка?»

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

  2. Поиск ошибки. Кандидату выдаётся кусок кода, в котором нужно найти и исправить баг.

  3. Описание результата. По фрагменту кода нужно описать, к какому результату приведёт его исполнение. Здесь может быть как выбор ответа из списка заготовленных, так и открытый текстовый ввод.

    Untitled 1.png

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

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

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

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

 

Взломать за 60 секунд: как защититься от читерства

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

Но система StartExam превратилась в практически невзламываемое решение. Расскажем, с какими кейсами мы сталкивались и как в нашей платформе закрыты эти «бреши»:

  • Намеренное «притормаживание» таймера, чтобы получить больше времени на прохождение. В системе хранится как клиентское, так и серверное время. По расхождениям видно все попытки «читерства».

  • Смена часовых поясов. Если начало теста запланировано на 10:00 по местному времени, то попытка начать его раньше или позже ни к чему не приведет – система отслеживает часовые пояса.

  • Поиск правильных ответов в консоли. Ответы не хранятся в коде, сопоставление происходит на сервере.

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

  • Вход с двух устройств. Система фиксирует такие попытки и позволяет зайти с одного устройства за раз.

  • Подстановка значений регистрационной анкеты. В StartExam можно создавать уникальные закодированные ссылки на тесты. По ним невозможно зарегистрироваться за другого человека.

Выводы

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

В идеале, ваша система тестирования должна поддерживать большинство современных языков программирования и предотвращать попытки взлома и читерства. Это в полной мере реализовано в StartExam. Оставьте заявку на сайте и получите 5 дней бесплатного демо-доступа.


Подпишитесь на рассылку от «звёзд» оценки!

Всего 2 письма в месяц, внутри — только полезные материалы, кейсы и исследования.

Я прочитал политику обработки персональных данных и даю согласие на обработку своих данных.

Был ли вам полезен материал?

Поделиться:

Продукты для оценки и развития

Повышайте эффективность сотрудников вместе со StartExam

Оценка 360º

Выявляйте сильные стороны и точки роста сотрудников по методу 360 градусов.

Система тестирования

Гибкая платформа для тестирования и оценки знаний с продвинутой аналитикой

Спасибо, ваша заявка принята!
В ближайшее время с вами свяжемся. А пока подпишитесь на наш Telegram-канал — делимся кейсами и экспертными статьями по оценке персонала.
Перейти в Telegram