Цю статтю написали люди, які самі роблять продукт. Ми не будемо казати вам "розслабся, у тебе все вийде". Але ми чесно розкажемо, чого очікувати — щоб ви витратили час туди, куди треба, і не тривожились про те, на що не варто.
Що таке merged
merged — це інструмент технічного скринінгу. Замість того щоб годинами сидіти на live-coding-інтервʼю з незнайомцем, який свердлить вас алгоритмами, ви робите невелику задачу у своєму темпі, у своєму редакторі, зі своїми інструментами.
Більшість задач — 45–120 хвилин. Медіана по всіх поточних завданнях — 1 година 15 хвилин.
Крок 1: ви отримали лист із запрошенням
У листі буде:
- посилання на задачу;
- оцінка часу;
- дедлайн (за замовчуванням — 5 днів, часто можна домовитись про продовження);
- посилання на цю саму статтю або FAQ.
Вам не треба готуватись спеціально. Це не алгоритмічне інтервʼю. У задачі немає секретних трюків, немає reverse-binary-tree, немає "поговоримо про хеш-таблиці". Є реальний код і реальна проблема, над якою ви би працювали в перший тиждень, якби вас уже взяли.
Крок 2: ви починаєте
Ви клікаєте "Старт" — відкривається задача. Там:
- опис того, що треба зробити (українською або англійською, на вибір компанії);
- посилання на git-репозиторій (ви його форкаєте або клонуєте до себе);
- критерії прийомки — список того, що треба щоб пройшло;
- приблизний час.
Усе. Ніхто не спостерігає за вами через камеру. Ніхто не заходить у ваш редактор. Вас не записують.
Крок 3: ви робите задачу у себе
Ось що можна:
- користуватись своїм редактором (VS Code, JetBrains, vim — що завгодно);
- користуватись AI-асистентом (Copilot, Claude, Cursor, будь-яким);
- гуглити, читати Stack Overflow, читати документацію;
- пити каву, виходити на прогулянку, спати і повертатись;
- запитувати в нас, якщо в задачі щось незрозуміло (контакт — в описі задачі).
Ось що не радимо:
- просити іншу людину зробити за вас задачу. Це не "заборонено" на рівні техніки, але рубрика часто це ловить по стилю комітів, відповідях на ревʼю, невідповідностях у коді;
- сліпо вставляти перше, що запропонував AI, без розуміння. Ми це побачимо і це буде fail. Не тому що "AI погано" — а тому що ви не розбираєтесь у своєму ж дифі.
Крок 4: ви здаєте роботу
Коли готові — відправляєте pull request (або натискаєте кнопку "Submit" — залежить від задачі). Після цього:
- запускаються автоматичні тести (ті, що писав staff-інженер замовника);
- LLM-суддя читає ваш код і оцінює його по рубриці;
- ви отримуєте автоматичні коментарі-питання до коду.
Ці коментарі виглядають як звичайне код-ревʼю. Наприклад: "А що буде, якщо quantity = 0?" або "Тут ви ловите except без типу — чи свідомо?"
Ви маєте відповісти на ці коментарі. Це частина задачі, а не факультатив. Ваші відповіді також оцінюються — і це часто вирішальна частина.
Відповідати можна просто: "Так, зловив би всі виключення свідомо, бо тут нам важливо не впасти у будь-якому разі — логую і повертаю 500" — це нормальна відповідь. Оборонна "AI так написав" — погана відповідь.
Крок 5: оцінка
Після того як ви відправили все, через ~2 хвилини завершується оцінка. Далі є два сценарії, залежно від компанії:
Сценарій А: транспарентний. Ви одразу бачите результат: pass / borderline / fail + коротке обґрунтування. Ви знаєте, чи йдете далі.
Сценарій Б: непрозорий. Результат одразу отримує тільки рекрутер компанії. Вам приходить нейтральний лист "дякуємо, ми з вами звʼяжемось". Далі — вже питання того, як компанія працює з кандидатами.
Який сценарій у вашому випадку — залежить від конкретного замовника. В задачі завжди вказано, чи отримаєте ви feedback.
Часті запитання
"Чи можна користуватись Copilot / Claude / ChatGPT?" Так. У реальній роботі ви ними користуєтесь, ми це знаємо і не робимо вигляд, що це не так. Рубрика оцінює результат, а не "чистоту" процесу.
"А якщо я все зробив з AI, це не буде fail?" Не буде. Ви отримаєте fail, тільки якщо AI-пропозиції пройшли без вашого осмислення: зламали інваріанти, не вписались у стиль, залишили мертвий код, не покриті тестами. Якщо ви AI-асистентом відшліфували задачу до сяючого вигляду — це pass.
"Скільки часу у мене реально є?" У задачі буде медіана виконання по минулих кандидатах. Ви можете перевищити її — це не карає. У нас є кандидати, які пройшли на pass за 40 хвилин і кандидати, які пройшли за 3 години.
"Що, якщо я застряг?" У задачі є контакт merged-саппорту. Пишіть, відповімо. Якщо ви застрягли на технічному — ми не підкажемо (це стане нечесно щодо інших), але якщо у вас проблеми з інструментами, git-ом, описом задачі — допоможемо.
"А якщо мій код буде некрасивий?" У рубриці немає критерію "красивість". Є ідіоматичність (чи пишете ви так, як пишуть досвідчені розробники цього стека) і читабельність (чи можна це потім супроводжувати). Ваш код не має бути витвором мистецтва. Він має бути зрозумілим і коректним.
"Я витратив 4 години. Це fail?" Ні. Ми не міряємо швидкість. Ми міряємо результат.
"Я зроблю задачу, а мене не візьмуть. Куди дінеться мій код?" Ваш код належить вам. Компанія-замовник бачить тільки ваш pull request в їхньому репо. Ми не передаємо ваш код третім особам, не тренуємо на ньому моделі і не використовуємо в маркетингу.
Останнє
Якщо ви робите задачу від merged — це вже сигнал, що до вас в компанії поставились серйозно. Вас не вирішили відсіяти по імені в резюме, не заскочили на 15-хвилинний "просто поговорити", не дали вам 45-хвилинне алгоритмічне випробування, яке перевіряє навички, які ви не використаєте після найму.
Зробіть задачу чесно — і отримайте чесний результат. Це все, що від вас треба.