
To test or Not to test: чи потрібне тестове завдання для ІТ-фахівців
Серед топ пріоритетів рекрутингу за даними дослідження Benchmark Research Report опинився Candidate experience. Ще у 2016 році 82% компаній використовували тестові завдання, щоб знайти того єдиного співробітника, з яким буде повний метч. ІТ-сфера — не виключення, попри те, що тестові — червоний маркер для багатьох фахівців.
Ставлення до тестових завдань серед ІТ-компаній неоднозначне — їх досі полюбляють деякі hiring менеджери і переважно не люблять рекрутери. Не завжди тестове здатне розкрити вміння кандидата вчитися, розв’язувати завдання у дедлайн та долати виклики. Тож для чого потрібне тестове, які завдання використовувати для ІТ-фахівців та чи дійсно воно працює — поговоримо далі у статті.
Своїми експертними коментарями та допомогою у дослідженні теми поділилася Анастасія Осадчук, Technical Recruiter в ITExpert.
Про що поговоримо:
- Які бувають тестові завдання у рекрутингу
- Плюси і мінуси тестових завдань
- Приклади тестових завдань для програмістів
- Альтернативи для ТЗ під час найму айтівців
Тестове завдання в рекрутингу — це
Тестове завдання — це метод відбору та оцінки кандидатів, який дозволяє перевірити навички, знання, критичне мислення та інші поінти, які важливі під час роботи у певній IT-компанії.
Окрім огляду резюме та інтерв’ю з кандидатом, hiring-менеджери можуть обрати зручний формат тестового завдання для ІТ-спеціалістів: алгоритмічні завдання, практичне написання коду для реалізації певної фічі чи тест на знання якоїсь технології.
Наприклад, команда Google приділяє тестовим завданням величезну кількість часу та ресурсів, аби наймати лише топових спеціалістів. Щоправда, кандидат повинен пройти 8+ етапів, перш ніж отримає омріяну посаду: спочатку потрібно заповнити та надіслати онлайн-заявку, потім пройти відбір за резюме, далі на фахівця чекатимуть тестові завдання з програмування, телефонна розмова з рекрутером, серія технічних співбесід, тести для програмістів і не тільки на наявність навичок комунікацій, симуляції ІТ-ролей, оцінка 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 годин) на тестове завдання. Якщо вже компанія дає досить об’ємне завдання, його варто компенсувати (бажано за стандартним рейтом фахівця)».
Альтернативи для тестових завдань під час рекрутингу айтівців
Не тестовим єдиними — якщо кандидат не готовий виконувати завдання безкоштовно або компанія прагне оцінювати кандидатів менш стресовим способом, пропонуємо розглянути декілька інших варіантів:
- Глибока перевірка під час технічного інтерв’ю
Проведіть із кандидатом професійне інтерв’ю, під час якого спеціаліст має не менш професійно відповісти на запитання про ІТ-сферу, кейси та розповісти про свій досвід роботи. Це не буде простою співбесідою із запитаннями на кшталт: «Що очікуєте від роботи?» або «Ким бачите себе через п’ять років?» Розробіть разом з командою список запитань, які змусять замислитися та продемонструють рівень технічних навичок кандидата. Наприклад, запитайте, які внутрішні механізми мови програмування Python забезпечують garbage collection і як це впливає на ефективність роботи програми.
- Live coding
Запропонуйте кандидату виконати практичне завдання прямо під час співбесіди у форматі live coding. За допомогою такого методу відбору ви зможете подивитися, чи швидко реагує фахівець, наскільки якісно та швидко виконує завдання. До того ж, таке завдання займатиме менше часу, ніж повноцінне тестове — що є величезним плюсом для кандидатів. Вам не доведеться витрачати час та ресурси на перевірку тестового завдання.
- Реальна залученість на проєкті
Замість вигаданого тестового завдання дайте кандидату справжній кейс з проєкту та можливість проявити себе у реальній співпраці. Це може бути окреме завдання (звичайно, без порушень умов NDA): наприклад, рецензування коду. Однак, у такому випадку, буде чесно заплатити фахівцю за його час та внесок у роботу.

«Кандидати можуть надати своє портфоліо, що містить реальні проєкти чи завдання, які вони виконували раніше. Це дозволяє менеджерам оцінити їхні здібності, стиль роботи та результати, яких вони досягли. Але не всі можуть надати приклади коду через NDA або просту неактуальність (застарілість) рішень.
Щодо практики під час співбесіди — у момент лайвкодингу неможливо залучити сторонніх осіб, адже все відбувається у реальному часі, видно обличчя та екран кандидата, тому допомогу задіяти важко. Це великий плюс для того, хто проводить інтерв’ю.
Також дуже рідко замість тестового завдання кандидатам може бути запропоновано реалізувати проєкт, який відповідає реальним вимогам вакансії. Це може дати можливість продемонструвати їхні здібності та креативність у реальних умовах роботи (інколи використовують і замість випробувального терміну). Але необхідно враховувати, що проєктна робота може бути дуже довготривалою, тому вона компенсується.»
Тож яке має бути тестове завдання для програміста вирішує кожна компанія, посилаючись на свій запит. Який би формат команда не обрала — потрібно завжди ставитися до кандидатів з повагою: надавати фідбек, бути на зв’язку, оплачувати великі завдання, бути чесними та прозорими.
Пошук кандидата — це не лише процес наймання, а й підтримки репутації компанії, а це потребує багато часу та ресурсів. Не знаєте, з чого почати? Зверніться до фахівців ITExpert! Ми допомогли вже понад 200 клієнтам закрити технічні позиції і готові поділитися цим досвідом з вами. Залиште ваші контакти і ми проконсультуємо вас щодо можливих рішень на дзвінку!

Наскільки корисним був цей пост?
Click on a star to rate it!
Середній рейтинг 5 / 5. Кількість голосів: 1
Оцінок поки немає! Будьте першим, хто оцінить цю публікацію.



