VK Retargeting

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

Даниэль Виленчук
Даниэль Виленчук
Ex-главный редактор
6 мин 0 0
Доверяй, но проверяй: что нужно знать о тестировании разработчиков?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

StartExam

Самая гибкая система

тестирования сотрудников

Запросить демо
Самая гибкая система

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

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

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

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

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

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

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

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

Untitled 1.png

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

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

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

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

Подкаст «НЕ ВОРК»

Добро — в ваших наушниках

Подкаст о том, как работать с людьми по-человечески

Слушать
Добро — в ваших наушниках

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

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

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

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

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

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

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

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

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

Выводы

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

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

Поделиться:
Оцените статью:

Читайте также

Как применять визуальный контент в корпоративном обучении
Статьи

Как применять визуальный контент в корпоративном обучении

Разбираем форматы и примеры оформления материалов

Галина Борисова Галина Борисова
9 мин 0 0
Матрица RACI: как распределить роли в команде, чтобы проект двигался быстрее
Статьи

Матрица RACI: как распределить роли в команде, чтобы проект двигался быстрее

Наводим порядок в полномочиях, закрепляем ответственных за каждый этап

Елена Васильева Елена Васильева
11 мин 0 0
Модель ситуационного лидерства Фидлера: как найти идеального руководителя под задачу
Статьи

Модель ситуационного лидерства Фидлера: как найти идеального руководителя под задачу

Разбор теории, шкалы LPC и факторов эффективности управленцев

Елена Васильева Елена Васильева
12 мин 0 0