«Складно придумати завдання, яке не можна кинути в Claude»: чи вбив ШІ тестові для розробників

Python Software Engineer Іван Вентик, як тільки-но закінчив навчальні курси, одразу почав шукав роботу. За три місяці пошуків він надіслав 330 відгуків на вакансії, був запрошений на 33 співбесіди і отримав 6 тестових завдань.

«Подавався майже на всі Junior-позиції, де використовувався Python. Переважно потрібно було написати якийсь backend», — розповів Іван.

Два тестові вирішив не виконувати: одне здалося надто складним, інше — схожим на робочу задачу компанії. Втім у більшості випадів насторожував обсяг вимог та дедлайни.

Іван Вентик, Python Software Engineer

«Завдання надіслали в п’ятницю ввечері і написали „дедлайн до понеділка“ тобто по факту дали зробити тестове на вихідні. Є підозра, що це була якась їхня комерційна задача. Я зробив і надіслав, фідбеку не було, коли попросив, отримав таку відповідь: „Добрий вечір, на жаль вже закрили вакансію, ваша реалізація не підійшла нашій команді“», — розповів Іван.

Перший приклад тестового завдання, яке отримав Іван

Розробити бекенд для прийому та обробки лідів, що складається з двох незалежних мікросервісів.

Кожен лід містить у собі дані (передаються з лендинга по API):

— name (відповідає за назву ліда, string)

— phone (відповідає за телефон ліда, string)

— country (відповідає за країну ліда, код країни у ISO 3166-1 alpha-2 форматі, наприклад: UA)

— offer_id (ID оффера, дає розуміння, який саме товар хоче купити користувач-лід на основі лендинга, з якого він до нас прийшов. Тип даних на ваш розсуд: UUID/int/string)

— affiliate_id (ID афіліата, дає розуміння, кому саме з веб-майстрів (афіліатів) належить лід, тобто хто привів ліда на лендинг у нашу систему. Тип даних на ваш розсуд: UUID/int/string)

Архітектура представляє два FastAPI-сервіси в одному репозиторії:

— /landings — відповідає за прийом лідів (для запитів потрібно використовувати Bearer токен)

— /core — основний бекенд для обробки лідів та видачі результатів аналітики (для запитів потрібно використовувати Bearer токен)Сервіси спілкуються тільки через Redis.

Обов’язково реалізувати три таблиці БД: leads (назва та типи полів на ваш розсуд, але потрібно обов’язково зберігати дату додавання ліда в БД), offers (поля: id, name), affiliates (поля: id, name).Bearer токен створюється на основі словника: {«id»: affiliates.id}, що дозволяє розуміти, кому з affiliates належить токен, і перевіряти кожен запит. Якщо affiliates.id немає в таблиці affiliates, запит API буде відхилено.

Вимоги:Валідація всіх полів. Для affiliate_id потрібно перевіряти з id, який зашитий у Bearer (має збігатися). Успішно прийнятий лід кладеться в чергу Redis, повертає 200.

Вимоги до коду:

— Чітка та зрозуміла структура проєкту на ваш розсуд

— README — обов’язковий (має містити кроки для запуску; якщо були відхилення від технологічного стека, описати чому)

— Буде плюсом реалізація детальної Swagger документації та юніт-тестів

Другий приклад

Завдання

  1. Реалізувати сервіс на FastAPI з підтримкою WebSocket, який дозволяє:
    • Створювати лоти для аукціону.
    • Робити ставки через REST.
    • Отримувати оновлення ставок у реальному часі через WebSocket.
  2. Логіка аукціону:
    • Лот має стартову ціну і статус running або ended
    • Клієнти, підключені через WebSocket, отримують повідомлення про нові ставки та подовження часу.

Вимоги

  • База даних: PostgreSQL.
  • Ендпоінти REST:
    • POST /lots — створити лот.
    • POST /lots/{lot_id}/bids — зробити ставку.
    • GET /lots — список активних лотів.
  • WebSocket:
    • GET /ws/lots/{lot_id} — підписка на події лота.
  • Docker
    • Підіймати додаток в контейнері. В README описати, як запустити проект
  • GitHub
    • Створити репозиторій на GitHub.

Формат повідомлень:
{

«type»: «bid_placed»,

«lot_id»: 1,

«bidder»: «John»,

«amount»: 105

}

За словами Івана, для деяких завдань дедлайни здавалися нереальними, якщо писати код вручну. Тож він залучав ШІ:
«Повністю копіював тестове і надсилав якомусь ШІ, часто додавав щось від себе. Коли ШІ зробив усе, я запускав проєкт і перевіряв, чи все працює і чи мені подобається. Надсилав готове тестове, якщо запрошували на співбесіду, тоді просив ШІ пояснити детальніше, як саме все працює», — розповів розробник.

Натомість Middle Software Engineer Максим (ім’я змінене на прохання героя) вважає, що тестові завдання вже втратили актуальність. Вони не завжди об’єктивно оцінюють рівень фахівця, радше свідчать про його вміння делегувати роботу ШІ. А надто об’ємні завдання можуть і взагалі відлякувати кандидатів.

Максим, Middle Software Engineer

«Іноді тестове за обсягом нагадує повноцінний робочий проєкт. Фахівець із достатнім досвідом та вміннями скоріше обере компанію, яка пропонує лише технічну співбесіду, ніж витрачатиме час на тестове», — каже Максим.

Чому тестові завдання більше не потрібні IT-компаніям

Деякі українські IT-компанії розповіли, що причиною відмови від тестових завдань для розробників став ШІ. Тестові, мовляв, просто втратили сенс. Натомість навички кандидатів перевіряють під час спілкування на технічній співбесіді. Такий формат обрала для себе міжнародна IT-компанія EPAM.

Антон Фількевич старший директор із залучення талантів в EPAM

«Під технічної співбесіди ми оцінюємо знання, навички, аналітичне мислення кандидата. Такий підхід робить сліпе копіювання відповідей із ШІ неможливим. Наша внутрішня платформа для проведення інтерв’ю має функціональність, що допомагає виявляти потенційне шахрайство чи порушення правил (наприклад, несанкціонований пошук, використання сторонніх помічників чи пристроїв)».

В українській продуктовій IT-компанії Universe тестові завдання розробникам перестали пропонувати два роки тому. Натомість навички розробника оцінюють під час технічної співбесіди.

«Раніше їхньою основною метою було перевірити, наскільки добре розробник пише код, чи використовує правильні конструкції, патерни проєктування. Але з появою потужних мовних моделей цінність цієї навички суттєво знизилася», — розповів СТО Universe Ігор Закутинський.

Технічним співбесідам віддають перевагу і в компанії Uklon. Зі слів Head of Recruitment в Uklon Дар’ї Кружиліної це дає можливість оцінити мислення, логіку вирішення задач та здатність аргументувати власні рішення. Тестові завдання застосовуємо вибірково — лише у випадках, коли повноцінне оцінювання неможливо провести під час онлайн-співбесіди або коли цього вимагає специфіка ролі, як-от для Data чи Pricing Analysts.
Відмовилися від тестових завдань і у Mate academy.

Юрій Голюк, СТО Mate academy

«Складно придумати завдання, яке не можна просто кинути в Claude з командою „Виконай“. На останніх співбесідах ми давали задачу на system design. Це важлива навичка, і повністю делегувати її AI поки не вийде», — каже Юрій.

Такої ж думки дотримуються і у міжнародній IT-компанії Levi9. До того ж вважають, що домашні завдання можуть відлякувати кандидатів.

Чому IT-компанії продовжують давати тестові завдання

Не всі компанії вважають, що потрібно відмовлятися від тестових завдань. Міжнародна IT-компанія Ciklum пропонує розробникам пройти 60-хвилинне технічне тестування.

«Ми проводимо тестування на платформі HackerRank. Кандидат виконує практичні завдання, які залежно від позиції охоплюють алгоритмічне мислення, програмування, роботу з базами даних, хмарні технології та відповідний технологічний стек», — розповіли у Ciklum.

Водночас більшість компаній, з якими нам вдалося поспілкуватися, дозволяють кандидатам використовувати ШІ під час виконання тестових. І навіть заохочують його використання.

«Ми готуємо тестове завдання на основі реальних та live-coding задач. Ми бачимо, як кандидат мислить і підходить до розв’язання задач. З появою AI дедалі складніше знайти тестове завдання, виконане виключно людиною. Та, якщо чесно, нам це вже й не потрібно. Навпаки, ми заохочуємо кандидатів користуватися AI-інструментами», — розповіла Марта Дзедзінська, Senior Talent Manager у продуктовій IT-компанії Railsware.

Деякі компанії стали навіть частіше давати кандидатам тестові завдання. Наприклад, у ZONE3000 такі завдання є приблизно для 80% вакансій, а ще півтора року тому тестові пропонували для 40% вакансій.

Вікторія Томчинська, IT Recruitment Director & Head of Talent Office

«Ми шукаємо фахівців, здатних керувати роботою ШІ, критично оцінювати його результати та відповідати за технічні рішення, а не просто користуватися інструментами», — говорить Вікторія Томчинська.

Продуктова IT-компанія Maklai, як і appflame, не вимагає виконувати тестові без допомоги ШІ. Головний ред флег — його бездумне використання.

«Були кандидати, які повністю згенерували завдання за допомогою ШІ, а потім не могли відповісти на додаткові запитання. Я відмовляю таким кандидатам на подальших етапах», — коментує Анастасія Старченко, iOS Team Lead Hily в appflame.

Як компанії змінюють формат тестових завдань через ШІ

ШІ може згенерувати код, запропонувати рішення або виконати значну частину роботи за кандидата. Тому компанії змінюють формати відбору.

Компанія-єдиноріг Creatio може пропонувати кандидатам практичний кейс із використанням Creatio AI Studio. Тобто кандидат отримує завдання, інструкцію та доступ до trial-версії платформи. Після виконання завдання із кандидатом проводять зустріч, де той розповідає про обраний підхід.

У Sigma Software пропонують завдання, наближені до реальних проектів.

«Незнайомий код, новий фіче-реквест або частково задокументований проєкт. Ми спостерігаємо за підходом кандидата. Чи він одразу просить ШІ все пояснити? Чи спершу складає план, звужує задачу, визначає ключові компоненти й формулює точкові запитання?» — пояснили в компанії.

В Ajax Systems тестові завдання залишаються частиною відбору на Embedded, Mechanical, Hardware та C+±позиції. Залежно від вакансії це може бути домашнє завдання, live coding або завдання з обмеженим часом під час технічної співбесіди.

Нагадаємо, раніше продуктова дизайнерка розповідала DOU про власний досвід проходження відбору на роботу. Читайте, а також діліться у коментарях, які тестові завдання останнім часом доводилося виконувати вам.



Похожие статьи:
Під час обстрілу Києва 28 серпня постраждав коворкінг LIFT99 Kyiv Hub біля метро «Олімпійська». У будівлі вибило вікна та зруйнувало скляні...
Привет! Я Research & Development Lead в Intellectsoft AR Lab. Мы разрабатываем решения под Microsoft HoloLens в сфере строительства. В этой статье я рассмотрю...
У 2023 році Microsoft може купити Netflix за $190 млрд. Таку думку висловила колумністка Reuters Дженіфер Саба, яка пише про бізнес і технології....
В этом году в международном хакатоне NASA SpaceApps Challenge 15 310 участников из 61 страны разрабатывали 1178 проектов. Украина приняла...
В рубрике DOU Проектор все желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть...
Яндекс.Метрика