Skip to main content
Назад к блогу
8 мин чтения

Красные флаги при найме разработчика для стартапа

Семнадцать тревожных сигналов на созвонах, в портфолио и договорах — те, что основатели обычно замечают задним числом и жалеют, что не разглядели раньше.

hiringmvppricing

Большинство отношений «основатель — разработчик», которые заканчиваются плохо, можно было предсказать ещё на первом созвоне. Сигналы обычно там — основатели либо не знали, на что смотреть, либо не хотели верить в то, что видят. Я бывал по обе стороны этого: меня нанимали после плохого предшественника (четыре раза в этом году только), и я сам уходил с созвонов, где оценивали меня.

Вот красные флаги, о которых я бы хотел, чтобы знал мой нетехнический друг, прежде чем подписывать что-либо.

Красные флаги на первом созвоне

1. Не может объяснить выбор своего стека

Вы спрашиваете: «Почему Next.js, а не Remix?» или «Почему Postgres, а не MongoDB для этой задачи?» и он отвечает «я так привык» или «все так делают».

Нормальный ответ, если вы нанимаете чисто на реализацию. Плохой ответ от того, кто будет принимать архитектурные решения, которые свяжут вас на 2 года. Сеньор должен суметь назвать одну вещь, которая ему не нравится в его любимом инструменте, одну ситуацию, где он бы взял другой, и что изменило бы его мнение. Если всё «мой стек идеальный» — он не оценивал альтернативы всерьёз.

2. Соглашается со всем, что вы говорите

Вы озвучиваете плохую идею: «Думаю, надо сначала сделать нативное приложение». Хороший разработчик отталкивается: «Давайте поговорим, почему — адаптивный веб может дать тот же результат за треть цены». Разработчик с красным флагом скажет «звучит здорово, сделаем».

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

3. Не может назвать проект, где он больно ошибся

«Какой проект, где вы что-то запороли?» — ключевой вопрос. Ответы, на которые стоит обратить внимание:

Рубцовая ткань — это то, за что вы платите. Если её нет, она нарастёт на вашем проекте.

4. Настаивает на почасовой оплате на явно описываемом проекте

«Я работаю только почасово» на крошечном, чётко описанном проекте (дизайн-система, конкретная интеграция) — часто нормально. «Я работаю только почасово» на MVP с понятным брифом — обычно сигнал, что он не хочет обязательства по фиксированной цене: либо плохо оценивает, либо планирует закладывать запас. Подробнее в фиксированная цена vs почасовая.

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 минут на то, чтобы помочь вам не нанять плохого, чем потом наблюдать, как вы нанимаете меня убирать за ним.