Більшість відносин «засновник — розробник», які закінчуються погано, можна було передбачити ще на першому дзвінку. Сигнали зазвичай там — засновники або не знали, на що дивитися, або не хотіли вірити в те, що бачать. Я бував по обидва боки цього: мене наймали після поганого попередника (чотири рази цього року тільки), і я сам ішов із дзвінків, де оцінювали мене.
Ось червоні прапорці, про які я хотів би, щоб знав мій нетехнічний друг, перш ніж підписувати будь-що.
Червоні прапорці на першому дзвінку
1. Не може пояснити вибір свого стеку
Ви питаєте: «Чому Next.js, а не Remix?» або «Чому Postgres, а не MongoDB для цієї задачі?» і він відповідає «я так звик» або «всі так роблять».
Нормальна відповідь, якщо ви наймаєте суто на реалізацію. Погана відповідь від того, хто буде приймати архітектурні рішення, які звʼяжуть вас на 2 роки. Сеньйор має зуміти назвати одну річ, яка йому не подобається у його улюбленому інструменті, одну ситуацію, де він би взяв інший, і що змінило б його думку. Якщо все «мій стек ідеальний» — він не оцінював альтернативи всерйоз.
2. Погоджується з усім, що ви говорите
Ви озвучуєте погану ідею: «Думаю, треба спочатку зробити нативний застосунок». Хороший розробник відштовхується: «Поговорімо, чому — адаптивний веб може дати той самий результат за третину ціни». Розробник із червоним прапорцем скаже «звучить чудово, зробимо».
Розробник, що погоджується з кожним продуктовим рішенням, або не впевнений у собі настільки, щоб заперечити, або не досвідчений настільки, щоб мати свою думку, або планує взяти майбутні зміни обсягу як додатковий дохід. Усі три варіанти дорого обходяться вам.
3. Не може назвати проєкт, де він боляче помилився
«Який проєкт, де ви щось запороли?» — ключове питання. Відповіді, на які варто звернути увагу:
- «У мене ніколи не було проєктів, які пішли не так» — або бреше, або робив тільки маленьку роботу.
- «Мої клієнти завжди були задоволені» — не відповідь, теж насторожує.
- «Одного разу зробив X, запустили, зламалося в продакшні, полагодив через Y, і тепер завжди роблю Z» — це відповідь.
Рубцева тканина — це те, за що ви платите. Якщо її немає, вона наросте на вашому проєкті.
4. Наполягає на погодинній оплаті на явно описуваному проєкті
«Я працюю тільки погодинно» на маленькому, чітко описаному проєкті (дизайн-система, конкретна інтеграція) — часто нормально. «Я працюю тільки погодинно» на MVP із зрозумілим брифом — зазвичай сигнал, що він не хоче зобовʼязання за фіксованою ціною: або погано оцінює, або планує закладати запас. Детальніше у фіксована ціна проти погодинної.
5. Ухиляється від питання «хто ще торкатиметься цього коду?»
Вам треба розуміти: один розробник, команда чи карусель із підрядників? Якщо відповідь розмита («буде допомога, якщо знадобиться») — тисніть. Засновники, які не знають, хто в їхньому репозиторії, закінчують із кодом, за який ніхто не відповідає.
Червоні прапорці в портфоліо
6. Усе — скриншоти, жодного живого посилання
Скриншоти дешеві. Скриншот відполірованої панелі доводить, що людина вміє користуватися Figma. Живе посилання доводить, що продукт відвантажується і працює.
Просіть живі посилання. Якщо він не може поділитися нічим, бо «всі клієнти під NDA» — один-два, ок. Якщо кожен проєкт заблокований — або він працює виключно зі стелс-стартапами (рідко), або прикрашає те, що насправді задеплоєно (часто).
7. Ніде немає цифр
Кейси, набиті прикметниками («красиво», «швидко», «чудово») і порожні від цифр (швидкість завантаження, дельта конверсії, аптайм, масштаб) — це маркетинг, а не доказ. У кожного реального проєкту є вимірювані результати. Якщо в кейсах розробника їх немає — або він не міряв, або цифри були поганими.
8. Дати в портфоліо не сходяться
Подивіться на дати проєктів. Якщо заявляють 10 років досвіду, а всі проєкти за останні 18 місяців, — або рання робота схована (чому?), або термін завищений. Не обовʼязково дискваліфікує, але варто запитати напряму.
9. Перераховують технології, а не результати
«React, Node, TypeScript, AWS, Docker, GraphQL, Next.js, Tailwind, Prisma, PostgreSQL, Redis, Kubernetes...» — це не портфоліо, це список навичок із LinkedIn. Що він побудував, для кого, з яким результатом? Якщо портфоліо відповідає тільки на «які інструменти», але не на «яку задачу», — він продає компетенцію як товар, а не судження.
Червоні прапорці в пропозиції
10. Фіксована ціна без доданого документа з обсягом робіт
«€30 000 за ваш MVP» — без письмового обсягу — це не ціна, це рахунок за майбутнє розчарування обох сторін. Будь-яка справжня фіксована пропозиція йде разом зі специфікацією, де описано, що входить і що не входить. Якщо питаєте специфікацію і отримуєте «розберемося по ходу», — ви платите за те, що ніхто не описав.
11. Ставка абсурдно низька для заявленого рівня
«Сеньйор full-stack у Європі/США» за €30/годину — це або не сеньйор, або він не робить роботу сам. Хороші розробники на різних ринках працюють за різними ставками, але всередині ринку ставки згруповані. Розробник драматично нижче ринку або нарощує портфоліо (ок, майте на увазі), або субпідряджає когось, з ким ви не зустрічаєтеся (тривожно), або спотворює рівень (йдіть).
12. Немає гарантії, немає передачі, немає періоду підтримки
Нормальне співробітництво включає період, у який баги, знайдені після здачі, лагодяться без доплати (зазвичай 30 днів, іноді 60). Відсутність гарантії взагалі означає, що у розробника мотивація на останній день — «відвантажити, виставити рахунок, піти», а баги запуску стають вашою проблемою за доплату.
Те саме з передачею. Якщо його план — «ось репозиторій, удачі», без документації з деплою, облікових записів, тієї дивної штуки на 481-му рядку, — ви платите за подарунок, який зламається.
13. Оплата 100% наперед або 100% у кінці
Ані те, ані інше не нормально для роботи за віхами. Наперед — у розробника немає мотивації доводити до кінця; в кінці — у вас немає важеля, якщо пропаде. Віхи (зазвичай 25/25/25/25 або 20/30/30/20) вирівнюють інтереси. Розробник, який наполягає на одній із крайностей, структурує співробітництво на свою користь, а не збалансовано.
Червоні прапорці в договорі
14. Розмиті умови про інтелектуальну власність
Ви платите за код. У договорі має бути написано простою мовою, що по повній оплаті весь код, дизайн і матеріали — ваші, з правами достатньо широкими, щоб модифікувати, субліцензувати і розповсюджувати. Якщо в договорі йдеться про «ліцензію на використання» або залишаються «права на перевикористовувані компоненти», — торгуйтеся або йдіть. Засновники обпікалися, виявивши, що їхній «власний» продукт використовує кодову базу, яку розробник ліцензує ще й конкурентам.
15. Арбітраж у юрисдикції, не вашій і не його
«Спори — в арбітраж на Британських Віргінських островах» у договорі між засновником у Німеччині і розробником у Польщі — прапорець. Не завжди злий намір — іноді це шаблон, — але запитайте. Договір, який відбиває бажання судитися, — договір, який вас не захищає.
16. Немає пункту про розірвання
Будь-яке співробітництво має розриватися. З причини, без причини, з розумним повідомленням (зазвичай 2 тижні). Якщо єдиний спосіб закінчити — довести до кінця, обидві сторони в пастці, якщо все піде не так.
Червоні прапорці в комунікації
17. Довгі мовчання
Найпередбачуваніший червоний прапорець для мене. Розробник, якому потрібно 4 дні, щоб відповісти на «можемо створитися?», буде 4 дні відповідати на «продакшн лежить» і 4 дні на «треба переглянути обсяг». Темп комунікації на етапі продажів — це найкраще, що вони можуть. Це стеля, не підлога.
Сам я зобовʼязуюся відповідати протягом 1 робочого дня. Не завжди влучаю в цей стандарт, але міряю себе по ньому. Розробник, який не міряє власну швидкість відповіді, буде гіршим після підписання.
Зелені прапорці, на які варто дивитися
Раз я перерахував 17 способів програти — три способи виграти:
Вони ставлять складні питання у відповідь. «Чому ця фіча, а не та?» «Яка у вас зараз траєкторія?» «Що буде, якщо запустимося рівно через 10 тижнів, але конверсія погана?» Розробник, який цікавиться вашим продуктом, а не тільки специфікацією, думає, чи відповідально брати ваші гроші.
Вони говорять, чого не роблять. «Я не беру суто фронтенд-задачі». «Я не працюю підрядником на агенції». «Я не пропускаю тести заради дедлайну». Обмеження говорять про реальний бізнес, а не про людину, яка женеться за кожним доларом.
Вони рекомендують когось іншого, якщо не підходять. Найсильніший сигнал. Розробник, який каже «я вам не підходжу, але знаю кого — ось контакт», — достатньо впевнений у своїй завантаженості, щоб втрачати угоду, і достатньо чесний, щоб сказати правду. Я намагаюся так робити на кожному дзвінку, де не збігаємося за форматом. Третина моїх клієнтів прийшла саме так.
Перевірка нутром
Якщо ви на четвертому дзвінку з кандидатом і все ще сумніваєтеся — довіряйте цьому відчуттю. Розробники, які вам підходять, роблять «так» легким — не тому, що вони продавці, а тому, що відповіді зрозумілі, портфоліо говорить саме за себе, договір чесний, і комунікація швидка.
Коли доводиться вмовляти себе погодитися — зазвичай ви маєте рацію в сумнівах. Довіряйте цьому.
Якщо хочете 20-хвилинний дзвінок, де я чесно скажу, справжній чи розробник, якого ви розглядаєте, — надішліть його сайт або пропозицію, і я скажу, що бачу. Без продажів, без зобовʼязань. Напишіть через форму. Краще я витрачу 20 хвилин на те, щоб допомогти вам не найняти поганого, ніж потім спостерігати, як ви наймаєте мене прибирати за ним.