
To test or Not to test: нужно ли тестовое задание для IT-специалистов
Среди топ приоритетов рекрутинга по данным исследования Benchmark Research Report оказался Candidate experience. Еще в 2016 году 82% компаний использовали тестовые задания, чтобы найти того единственного сотрудника, с которым будет полный метч. IT-сфера — не исключение, несмотря на то, что тестовые — красный маркер для многих специалистов.
Отношение к тестовым задачам среди IT-компаний неоднозначно — их до сих пор любят некоторые hiring менеджеры и преимущественно не любят рекрутеры. Не всегда тестовое способно раскрыть умение кандидата учиться, решать задачи в дедлайн и преодолевать вызовы. Для чего нужно тестовое, какие задания использовать для IT-специалистов и действительно ли оно работает — поговорим далее в статье.
Своими экспертными комментариями и помощью по исследованию темы поделилась Анастасия Осадчук, Technical Recruiter в ITExpert.
О чем поговорим:
- Какие бывают тестовые задания в рекрутинге
- Плюсы и минусы тестовых заданий
- Примеры тестовых заданий для программистов
- Альтернативы для ТЗ во время найма айтишников
Тестовое задание в рекрутинге – это
Тестовая задача — это метод отбора и оценки кандидатов, позволяющий проверить навыки, знания, критическое мышление и другие поинты, которые важны при работе в определенной IT-компании.
Кроме обзора резюме и интервью с кандидатом, hiring-менеджеры могут выбрать удобный формат тестового задания для IT-специалистов: алгоритмические задания, практическое написание кода для реализации определенной фичи или тест на знание какой-либо технологии.
Например, Google уделяет тестовым заданиям огромное количество времени и ресурсов, чтобы нанимать только топовых специалистов. Правда, кандидат должен пройти 8+ этапов, прежде чем получит желаемую должность: сначала нужно заполнить и отправить онлайн-заявку, затем пройти отбор за резюме, далее специалиста будут ожидать тестовые задания по программированию, телефонный разговор с рекрутером, серия технических собеседований, тесты для программистов и не только на наличие навыков коммуникаций, симуляции IT-ролей, оценка HR-отделом. И, наконец, официальное приглашение на работу (для тех, кто справился и выдержал нагрузку). Многие кандидаты-айтишники откажутся от такого тестового и этого процесса, даже не дочитав все его этапы до конца.
Тестовые задания при приеме на работу программиста: за и против
Тестовые задания для айтишников — важна часть процесса найма в IT. Они позволяют проверить технические навыки и оценить их способность решать реальные задачи. Далее мы детально рассмотрим плюсы и минусы этого подхода — своими мыслями по теме поделилась Technical Recruiter в ITExpert, Анастасия Осадчук.
Плюсы тестовых заданий
У тестовых заданий при приеме на работу программиста есть свои плюсы, существенно облегчающие отбор кандидатов. Среди преимуществ тестовых выделим главные:
- Быстрая проверка навыков
Это самая главная цель любого тестового задания айти. Кандидат может проявить себя: показать свои технические способности на практике, инженерный подход к решению проблем, умение работать с дедлайнами и так далее. Благодаря разнообразию форматов рекрутеры и менеджеры могут протестировать ключевые требования вакансии, которыми должен обладать потенциальный сотрудник. Если вы ищете Junior специалиста с навыками php, тестовые задания могут помочь вам быстро проанализировать навыки большого количества откликнувшихся кандидатов.
- Объективность оценивания
Если тестовые задания в IT стандартизированы, у них есть четкие критерии оценки, а также несколько этапов — это удобная возможность для тех. специалистов проверить свои знания, а рекрутерам отобрать наиболее заинтересованных кандидатов для работы из большого пайплайна. К примеру, тестовое задание для веб-разработчика – хороший фильтр, помогающий найти самого профессионального кандидата, который не боится pixel perfect.
- Знакомство двух сторон друг с другом
ТЗ может больше рассказать о кандидате, а самому кандидату — о том, заинтересуют ли его задания и процессы команды. Это снижает риски как для специалиста, так и для компании — тестовые помогают найти человека, который лучше всего подходит для вакансии.

«В целом IT-компании достаточно часто используют тестовое задание как один из этапов рекрутинга IT-специалистов разного уровня и стека. Это распространенная практика для разработчиков, QA, дизайнеров. Реже его используют для проверки навыков Team/Teach Lead’ов, скиллы Project Manager’ов чаще проверяют уже на собеседовании с вопросами в формате кейсов или проверки компетенций. По-моему, тестовое — must-have для:
- Трейни/джуниор специалистов — когда нужно профильтровать большое количество откликов на вакансии, проверить качество работы (без наличия реальных проектов). Например, тестовые задания для junior frontend — достаточно типичны.
- Специалистов, откликающихся на вакансии, где нужен специфический доменный опыт, проверить, насколько легко будет кандидату адаптироваться с новым продуктом.
Тестовые задачи – это еще и фильтр заинтересованности специалиста. Не все кандидаты готовы тратить свое время на них. Иногда даже если специалисты соглашаются на тест, потом начинают “гоустить” и в результате ничего не делают. К примеру, тестовое задание для DevOps по этой причине редко используется (рынок и так ограничен). Однако это большая гарантия того, что специалисты, которых вы встретите на собеседовании, действительно хотят сменить работу, а не проходят интервью, чтобы “оценить рынок”».
Минусы тестовых заданий
Как и у любой системы оценки, у тестовых заданий есть свои слабые стороны. Вот некоторые из них:
- Поверхностная оценка
Не все компании создают тестовые задания для программиста, которые оценят кандидата с разных сторон. Более того, все не протестируешь. Поэтому большинство тестовых заданий ограничены форматами и не могут показать навыки IT-специалиста в полной мере.
- Ограниченное время для выполнения и разные подходы к выполнению
Каждый специалист работает по-разному: кто-то сделает задачу за предоставленные ему четыре часа, чтобы просто уложиться в дедлайн, а кто-то потратит больше суток, чтобы сделать работу профессионально и качественно. Как оценивать такие два разных подхода — непонятно. Очевидно лишь то, что не каждый согласится бесплатно тратить свое время на тестовое, поэтому менеджеру следует объективно оценивать, сколько тестовых заданий в it потребуют времени на выполнение.
- Отсутствие контекста
Тестовое задание может быть «выдернуто» из проекта и не давать кандидату полное представление о специфике и контексте. В таком случае у специалиста просто нет шанса показать свой максимум. А менеджер не сможет как следует оценить кандидата. Также компании, которые дают задание, не всегда прописывают ТЗ достаточно четко и могут не предоставлять развернутый фидбек для кандидата — это не только демотивирует и заставляет в следующий раз десять раз подумать, прежде чем соглашаться на тестовое, но и вредит качеству выполнения задания.
- Нехватка контроля
Выполняя тестовое задание, кандидат может прибегнуть к разным ухищрениям: привлечь к работе друга, использовать уже написанный ранее код или применить ChatGPT. Хитрости станут очевидны команде уже в первую неделю работы, когда кандидат не сможет справиться с поставленными заданиями и их объемом.
Важно! Тестовое задание не должно превращаться в благотворительную кампанию, когда кандидат делает все, чтобы получить желаемое место, но на руках — ни четкой задачи, ни адекватного дедлайна, ни оплаты за работу или развернутого фидбека. Чтобы привлечь кандидатов и не портить впечатления специалистов до собеседования, подавайте тестовые вопросы для IT-специалистов прозрачно и четко. Помните: не только вы выбираете специалистов, но и они вас, из-за негибкого и недружественного процесса найма вы можете остаться без кандидатов. А в конечном счете и без сильной команды на проекте.

«У кандидатов очень разное отношение к тестовым. Кто-то относится резко негативно, реже — наоборот. Я стараюсь сразу известить кандидата о всех возможных этапах собеседований и рекрутинга. Если специалист не готов к ТЗ, он об этом скажет сразу = сэкономит время всем участникам процесса. Немотивированный кандидат вряд ли качественно выполнит ТЗ. Начиная рекрутинговый процесс кандидат должен понять, сколько времени он на него может потратить.
Интересно, что синиорные специалисты, в прошлом участвовавшие в найме в команду как hiring менеджеры, более лояльно относятся к тестовым заданиям. Они понимают важность этого этапа и зачем он нужен не только компаниям, но и самим кандидатам.
Среди минусов ТЗ я бы еще выделила следующие:
- Тестовые задания могут не отражать полностью реальные рабочие ситуации или требования вакансии. Если мы видим, что уже 4–5 специалистов не могут выполнить задание или не дают результат, который ожидает менеджер компании, необходимо посмотреть подачу и требования ТЗ.
- Так или иначе вы должны пообщаться со всеми кандидатами, узнать о том, как они принимали решения по тестовым и готовы ли обсуждать другие альтернативы. Не нужно воспринимать ТЗ как волшебную таблетку, глубинный скрининг кандидатов, который сразу скажет, подойдет ли вам специалист и нужно ли уже завтра начинать онбординг.
- Тестовые задания могут создавать стресс для кандидатов, что в свою очередь влияет на точность выполнения задач и эффективность в целом (конечно, чрезмерное волнение может возникнуть и во время лайвкодинга или собеседований).
Чтобы минусы были не столь явными, мы советуем клиентам стараться учитывать реальный контекст вакансии и добавить элементы, отображающие рабочие кейсы. На мой взгляд, обязательно предложить возможность обсуждения своих решений (этот этап можно включить в техническое собеседование)».
Как не зафейлить тестовое задание: примеры ТЗ для программистов
При подготовке тестового задания для кандидата следует учесть несколько важных моментов:
- какие именно навыки должен проверить тест,
- сколько времени будет занимать задание,
- как объективно оценить результаты, кто будет участвовать в оценке,
- насколько быстро команда сможет предоставить специалисту фидбек, в каком формате,
- будет ли ТЗ оплачиваться, в каком размере.
Также следует определиться с форматом тестового, в котором потенциальный кандидат должен проявить себя. Это могут быть задачи по теме:
- Основ программирования
К примеру, написать функцию, которая вычисляет сумму всех чисел в массиве. Или создать алгоритм сортировки массива пузырьком или вставкой. Также можно предложить кандидату написать программу, которая определяет, является ли данное число простым.
- Структуры данных и алгоритмов
Кандидат может разработать алгоритм обхода бинарного дерева в глубину (DFS) с помощью рекурсии, используя стек или очередь. Также написать функцию для поиска наибольшей общей подпоследовательности (LCS) двух строк. Или реализовать структуру данных «хеш-таблица» с поддержкой операций вставки, удаления и поиска по ключу.
- Мультитрейдинга и параллельного программирования
Это может быть написание программы, использующей потоки для вычисления суммы элементов в большом массиве чисел. Или программа, где два потока обмениваются сообщениями через общий буфер. Также можно дать задачу для разработки с использованием многозадачности, где несколько потоков одновременно выполняют разные задачи.
Каждое тестовое задание должно создаваться с учетом навыков кандидата и ожидания компании по его умениям. Делимся примерами тестовых заданий для программистов уровня Senior от наших клиентов:
- Тестовое для Frontend разработчиков часто выглядит как задание на упрощенную разработку продукта компании: например, интернет-магазин может попросить сделать визуализацию списка товаров.
- Тестовое для Data Engineers в MarTech-компании может содержать обработку простых маркетинговых данных о рынке клиентов.
- Тестовое для С++ разработчиков, работающих с desktop-приложениями, может быть заданием на создание простого десктоп-продукта для просмотра изображений (например, если это рекрутинг в компанию, разрабатывающую графический редактор).

«Основные цели тестов — проверить уровень технических знаний, твердых и мягких навыков. В целом цели тестов можно распределить на следующие виды:
- проверка качества написания кода (очень четкие требования, задание близко к реальному на проекте);
- подход к решению задач, мышление (большие по объему и менее структурированные задачи, где нет правильного ответа).
Если менеджер оценивает правильность и эффективность реализации, качество кода и понимание основных концепций программирования, обычно отказов по качеству тестового задания будет больше. Компания ищет идеального специалиста по техническим навыкам. В то же время и кандидаты, которых приглашают на финальный этап собеседования, с большей вероятностью получают приглашение в команду. Этот подход часто используется для проверки кандидатов на frontend, QA и другие вакансии, где относительно много откликов.
Для второго типа заданий подход оценки иной. 99% кандидатов попадают на собеседование, чтобы обсудить результаты ТЗ. Иногда такие тестовые специально делают запутанными, непонятными, чтобы узнать, как кандидат будет менеджить подобные ситуации в работе: как он воспринимает неструктурированные задания, не возникнет ли конфликтов и так далее. Такой подход релевантен для оценки синиоров или специалистов с редким стеком (которых и так немного на рынке).
Мое мнение в том, что тестовые в любом случае не должны занимать слишком много времени у кандидатов. Обычно специалисты еще не уволились с прошлой работы и не все могут потратить очень много времени (например, более 10 часов) на тестовое задание. Если компания дает достаточно объемную задачу, ее следует компенсировать (желательно по стандартному рейту специалиста)».
Альтернативы для тестовых заданий во время рекрутинга айтишников
Не тестовыми единственными — если кандидат не готов выполнять задания бесплатно или компания хочет оценивать кандидатов менее стрессовым способом, предлагаем рассмотреть несколько других вариантов:
- Глубокая проверка во время технического интервью
Проведите с кандидатом профессиональное интервью, во время которого специалист должен не менее профессионально ответить на вопросы об IT-сфере, кейсах и рассказать о своем опыте работы. Это не будет простым собеседованием с вопросами по типу: «Что ожидаете от работы?» или «Кем видите себя через пять лет?» Разработайте вместе с командой список вопросов, которые заставят задуматься и продемонстрируют уровень технических навыков кандидата. К примеру, спросите, какие внутренние механизмы языка программирования Python обеспечивают garbage collection и как это влияет на эффективность работы программы.
- Live coding
Предложите кандидату решить практическую задачу прямо во время собеседования в формате live coding. С помощью такого метода отбора вы сможете посмотреть, быстро ли реагирует специалист, насколько качественно и быстро выполняет задание. К тому же такая задача будет занимать меньше времени, чем полноценное тестовое — что является огромным плюсом для кандидатов. Вам не придется тратить отдельное время и ресурсы на проверку тестового задания.
- Реальная вовлеченность на проекте
Вместо придуманного тестового задания дайте кандидату настоящий кейс по проекту и возможность проявить себя в реальном сотрудничестве. Это может быть отдельная задача (конечно, без нарушений условий NDA): например, рецензирование кода. Однако в таком случае будет честно заплатить специалисту за его время и вклад в работу.

«Кандидаты могут предоставить свое портфолио, содержащее реальные проекты или задания, которые они выполняли ранее. Это позволяет менеджерам оценить их способности, стиль работы и достигнутые результаты. Но не все могут предоставить примеры кода из-за NDA или простую неактуальность решения (например, если оно морально устарело).
Что касается практики во время собеседования — в момент лайвкодинга невозможно привлечь посторонних лиц, ведь все происходит в реальном времени, видны лицо и экран кандидата, поэтому помощь привлечь не получится. Это большой плюс для собеседующих.
Также очень редко вместо тестового задания кандидатам может быть предложено реализовать проект, отвечающий реальным требованиям вакансии. Это возможность продемонстрировать способности и креативность в реальных условиях работы (иногда используются и вместо испытательного срока). Но необходимо учитывать, что проектная работа может быть очень продолжительной, поэтому она компенсируется.»
Поэтому какое должно быть тестовое задание для программиста решает каждая компания, ссылаясь на внутренний запрос. Какой бы формат команда ни выбрала, нужно всегда относиться к кандидатам с уважением: предоставлять фидбек, быть на связи, оплачивать большие задания, быть честными и прозрачными.
Поиск кандидата — это не только процесс найма, но и поддержка репутации компании, а это требует много времени и ресурсов. Не знаете, с чего начать? Обратитесь к специалистам ITExpert! Мы уже помогли более 200 клиентам закрыть технические позиции и готовы поделиться этим опытом с вами. Оставьте ваши контакты и мы проконсультируем вас о возможных решениях на звонке!

Насколько полезной была эта статья?
Click on a star to rate it!
Средняя оценка 0 / 5. Количество голосов: 0
Оценок пока нет! Будьте первым, кто оценит этот пост.



