β
Войти Регистрация

Тестовое задание для разработчика: как дать и не отпугнуть

Коротко о статье

Компания отправляет пятерым кандидатам тестовое «на пару вечеров». Через неделю приходят два решения, и оба от людей, у которых не было других вариантов. Трое сильных просто не ответили: у них в это время шли собеседования, где тестового не было.

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

Зачем вообще нужно тестовое задание

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

Отсюда первое правило: если вы не знаете, что конкретно хотите увидеть в решении, тестовое не нужно. «Посмотреть, как человек пишет код» слишком размыто. «Проверить, как кандидат проектирует API и покрывает его тестами» уже годится.

Сколько времени и когда платить

Объём тестового задания по уровню
Уровень Разумный объём Что проверять
Junior 2–3 часа Основы языка, аккуратность, умение разобраться в чужом коде
Middle 2–3 часа Структура решения, тесты, обработка ошибок
Senior до 4 часов или без тестового Архитектурные решения и их обоснование, лучше на интервью

Прежде чем отправлять задание, дайте его решить своему разработчику. Сколько у него ушло времени, умножьте на полтора: у кандидата нет вашего контекста. Если получилось больше четырёх часов, режьте задачу или платите за неё.

Как составить тестовое задание

  1. Похоже на работу, но не работа. Возьмите типичную задачу вашей команды и упростите её. Реальную задачу из бэклога давать нельзя: это бесплатная работа, и права на результат всё равно у кандидата.
  2. Одна главная мысль. Маленький сервис с двумя методами API лучше, чем «интернет-магазин с корзиной, оплатой и админкой».
  3. Критерии заранее. Напишите, что будете смотреть: тесты, читаемость, обработку ошибок. Иначе кандидат угадывает, а вы оцениваете по впечатлению.
  4. Гибкий срок. Три-семь дней, чтобы человек мог сделать задание в удобный вечер, а не ночью после работы.
  5. Разбор после. Короткий созвон по решению показывает больше, чем само решение: почему так, что бы изменили, как бы масштабировали.

Чем заменить домашнее задание

Домашнее тестовое не единственный способ увидеть код. Часто альтернатива быстрее и для кандидата, и для команды.

Альтернативы домашнему тестовому
Формат Сколько длится Что показывает лучше всего
Живой кодинг 60 минут Ход рассуждений, как человек застревает и выбирается
Ревью готового кода 40–60 минут Видит ли ошибки, как формулирует замечания коллеге
Парное программирование 1–2 часа Как работает в паре, задаёт ли вопросы
Разбор своего проекта 45 минут Глубину понимания: почему так, а не иначе

Ревью кода особенно недооценено. Подготовьте файл на 100–150 строк с тремя-четырьмя проблемами разного уровня, от неудачного имени до гонки данных, и попросите кандидата провести ревью вслух. Через 40 минут понятно, с кем вы будете работать.

Шаблон тестового задания

Скопируйте и замените подсказки в квадратных скобках. Последний абзац про права на результат лучше оставить как есть: он снимает частый вопрос кандидатов.

Шаблон

Тестовое задание на позицию [роль и уровень]

Контекст: [одна-две строки о продукте и о том, зачем такая задача в работе команды]

Задача: [что нужно сделать, без лишних деталей]

Что сдать: ссылку на репозиторий с кодом и коротким README: как запустить и какие решения вы приняли.

Сколько времени: мы рассчитываем на [2–3] часа. Если задача займёт заметно больше, остановитесь и опишите, что бы сделали дальше.

Срок: [5] дней, можно попросить больше.

Что будем смотреть: [работает ли решение], [тесты], [обработку ошибок], [читаемость].

Что дальше: в течение [3] рабочих дней пришлём отзыв, а при хорошем результате позовём на разбор решения на 30–40 минут.

Права на результат: решение остаётся вашим, мы используем его только для оценки и удалим после завершения отбора.

Чек-лист перед отправкой тестового

Отметьте, что уже сделано. Ничего не отправляется и не сохраняется.

Права на код и персональные данные

  • Код принадлежит кандидату. Программа для ЭВМ охраняется как литературное произведение, а исключительное право изначально возникает у автора (статьи 1228, 1259 и 1261 ГК РФ). Чтобы использовать решение в продукте, нужен договор с кандидатом и, как правило, оплата.
  • Отказ по деловым качествам. Тестовое помогает оценить именно их. Если кандидат попросит, причину отказа нужно сообщить письменно в течение семи рабочих дней (статья 64 ТК РФ).
  • Персональные данные. Решение часто приходит со ссылкой на личный профиль, именем и почтой. Храните его только на время отбора, не пересылайте вне команды найма и удалите после решения по вакансии (152-ФЗ).

Это не юридическая консультация. Сверяйтесь с актуальной редакцией законов и юристом.

Вопросы и ответы

Сколько времени должно занимать тестовое задание?

Два-три часа чистой работы для middle и не больше четырёх для senior. Проверьте объём на своём сотруднике: если он справился за два часа, кандидату без контекста понадобится больше. Всё, что требует выходных, стоит оплачивать или заменить другим форматом.

Нужно ли платить за тестовое задание?

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

Можно ли использовать решение кандидата в своём продукте?

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

Чем заменить домашнее тестовое задание?

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

Как оценивать тестовое задание?

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

Нужно ли давать обратную связь по тестовому?

Да, хотя бы короткую: два-три пункта о сильных сторонах и о том, что не дотянуло. Кандидат потратил на вас вечер, и молчание после этого бьёт по репутации компании сильнее, чем отказ.

Весь путь от вакансии до оффера разобран в статье о найме разработчика.

Меньше тестовых, больше точных приглашений

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

Разместить вакансию Подробнее для работодателей

Что почитать дальше

Источники

Проверено 6 октября 2026 года. Правовые нормы по тексту кодексов. Объёмы, форматы и шаблон предложены редакцией IT Career Gym по практике найма.

← Вернуться к списку статей

Рассылка

Подписываясь, вы соглашаетесь с политикой обработки персональных данных.