amBrain
FinTechSep 29, 202610 мин чтения

Команда разработки для вашего стартапа: какую нанять и как выбрать

Команда для стартапаКто это строитПроверка подрядчикаВладение кодом
Ошибка загрузки изображения

Сначала выберите вид команды, потом компанию — по стадии, на которой вы находитесь, и по тому, какую долю продукта составляет сложная инженерия. Затем проверьте трёх кандидатов и оплатите пробную задачу.

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

Короткий ответ: решите, какая команда вам нужна, прежде чем искать компанию. Отправьте один и тот же одностраничный бриф трём кандидатам этого вида и позвоните двум клиентам каждого из них — тем, чей продукт уже запущен. Двум самым убедительным кандидатам оплатите короткую пробную задачу. Код и облачные аккаунты с первого дня держите на имя своей компании.

Какие команды разработки может нанять стартап?

Стартап может нанять команду одного из шести видов. Почасовая ставка значит меньше, чем две другие вещи: кто планирует работу и где остаются знания о вашем продукте, когда работа прекращается.

Фрилансер — это один инженер, с которым вы заключаете договор напрямую и которому платите за час или за задачу. Фрилансеры подходят для прототипа или одной чётко очерченной работы, например лендинга или экрана админ-панели. Управляете ими вы сами, и когда фрилансер уходит, вместе с ним уходит всё, что он знал о вашем продукте.

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

Специализированная инженерная компания работает с узким классом сложных систем, например с торговыми платформами или рекламными аукционами, которые должны отвечать за доли секунды. Она может показать вам такую систему, работающую в проде. Платят ей так же, как студии или выделенной команде: за проект или помесячно. Для обычного приложения это неверный выбор, потому что вы будете платить за глубину, которой не пользуетесь, и хорошая компания такого рода сама вам об этом скажет.

Выделенная команда — это группа инженеров внешней компании, которые работают только над вашим продуктом и получают оплату помесячно. Она подходит для стадии, когда план меняется слишком часто, чтобы работать по фиксированной цене. Кто-то на вашей стороне должен каждую неделю решать, что делать дальше.

Штатные инженеры — ваши сотрудники, поэтому знания о продукте остаются в вашей компании. Важнее всего это становится, когда продукт и есть бизнес. Расходы идут каждый месяц, ясен план или нет.

Приходящий CTO (fractional CTO) — опытный руководитель разработки, который работает на вас неполное время, например день-два в неделю. Он пишет бриф, проводит собеседования с кандидатами, проверяет работу и заранее предупреждает вас, когда что-то идёт не так, а код при этом пишет нанятая вами команда. Если вы сами не технический специалист, добавьте такого человека к любой команде, которую выберете, и в самом начале спросите, не получает ли он вознаграждение от компаний, которые рекомендует.

Какая команда подходит моему стартапу?

Насколько ваш продукт зависит от сложной инженерии? Спросите, что будет, если он одну минуту работает медленно или с ошибками. Если пользователи подождут и пожалуются, инженерная часть обычная, и её построит хорошая команда широкого профиля. Если эта минута стоит денег — из-за сделки по неверной цене или проигранного рекламного аукциона, — вам нужны люди, которые уже строили системы такого рода.

На какой вы стадии и сколько денег уже лежит на счету? Деньги, привлечённые в раунде, позволяют взять на себя ежемесячные расходы на команду. До привлечения инвестиций вкладывайте деньги в то, чтобы доказать, что продукт нужен людям, а инженерную часть держите небольшой.

  • Если вы ещё не привлекали денег и продукт обычный, сделайте кликабельный прототип или наймите одного фрилансера, а собственное время тратьте на общение с клиентами.
  • Если вы привлекли раунд и вам нужна первая версия обычного продукта, наймите продуктовую студию или двух опытных фрилансеров, а работу пусть проверяет приходящий CTO.
  • Если вы привлекли раунд и в основе продукта лежит сложная инженерия, наймите специализированную инженерную компанию, а на своей стороне держите технического лидера — штатного или приходящего.
  • Если первая версия запущена и пользователи за неё платят, начинайте нанимать собственных инженеров, и первым — руководителя. Внешнюю команду сохраняйте, пока ваши люди не смогут вести продукт без неё.
  • Если инженерия — это то, что вы продаёте, закладывайте собственную команду с самого начала, даже если первую версию строит внешняя компания.

Если сложная часть вашего продукта — торговая платформа или AI-система, эти статьи разбирают тему подробнее:

Кого бы вы порекомендовали моему стартапу?

Ответ на этот вопрос одним названием был бы догадкой, и эта статья не составляет рейтинг компаний. Порекомендовать она может вид команды из раздела выше и способ превратить этот вид в три названия, которые вы проверили сами.

Кандидатов, которым стоит позвонить, дают несколько источников:

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

Затем напишите одну страницу: что делает продукт и для кого; то единственное, что должно работать в первый же день; что уже есть; ваш срок; кто с вашей стороны принимает решения. Отправьте одну и ту же страницу трём кандидатам. Их вопросы скажут вам не меньше, чем их предложения: команда, которая уже строила что-то похожее, спрашивает о ваших пользователях и ваших рисках раньше, чем заговорит о технологиях.

Я не технический специалист. Как мне оценить команду разработки?

В 2006 году Пол Грэм, один из основателей Y Combinator, писал, что большинство стартапов в электронной коммерции 1990-х погубили плохие программисты. По его словам, их основатели не могли отличить хороших программистов от плохих. О том, как выбрать хороших программистов, если вы сами не программист, он написал: «Не думаю, что на это есть ответ».

Впрочем, чтобы оценить команду, читать код не обязательно. Начните с работающего продукта: его вы можете увидеть. Один из принципов, лежащих в основе Agile-манифеста 2001 года, гласит: «Работающий продукт — основной показатель прогресса». Если компания говорит, что работает по Agile, ловите её на слове и просите каждую неделю что-то, что можно покликать.

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

Как проверить команду разработки до подписания договора?

Четыре проверки не требуют технических знаний.

Начните с их клиентов. Попросите контакты двух клиентов, чьи продукты уже запущены и которые работали с компанией в последние два года, и позвоните им сами. Спросите у них:

  • Кто из компании работал над вашим продуктом и работают ли эти люди там до сих пор?
  • Что пошло не так в ходе проекта и что компания с этим сделала?
  • Как часто вы видели работающий продукт?
  • Наняли бы вы ту же команду для следующей версии?

Затем выясните, кто будет строить ваш продукт. Попросите назвать имя и роль каждого человека и то, какую часть недели он будет отдавать вам. Спросите, будет ли кто-нибудь из участников продающей встречи писать код. Познакомьтесь с ведущим инженером до подписания и впишите имена в договор, а не только в коммерческое предложение.

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

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

Чем мой стартап должен владеть с первого дня?

Оформите на свою компанию всё, на чём работает продукт, а внешней команде дайте доступ более узкий, чем у ваших собственных людей.

  • Код хранится в аккаунте вашей компании, например в организации на GitHub, которую создали вы. В документации GitHub сказано, что владельцы организации «имеют полный административный доступ к вашей организации» и что эту роль следует ограничить, «но не менее чем двумя людьми». Дайте эту роль двум людям из вашей компании.
  • Облачные аккаунты открываются на корпоративный адрес почты. В Amazon Web Services адрес почты и пароль, с которыми создан аккаунт, дают вход в учётную запись с «полным доступом ко всем сервисам и ресурсам AWS в аккаунте». Этот адрес должен принадлежать вашей компании.
  • Если у вас есть приложение для iPhone, регистрируйтесь в программе разработчиков Apple как компания. Тот, кто проходит регистрацию, становится держателем аккаунта (Account Holder) — человеком, который, по словам Apple, должен «принимать юридические соглашения от имени вашей организации» и «подтверждать изменения банковских данных в вашем аккаунте».
  • То же правило действует для доменного имени, корпоративной почты, аккаунтов аналитики и платёжных провайдеров.

Договор должен письменно передавать код и продукт вашей компании. Если компания-исполнитель оставляет за собой права на собственные переиспользуемые компоненты, попросите их поимённый список и лицензию, позволяющую продолжать ими пользоваться, если вы расстанетесь. Договор подробно разбирает статья о выделенных командах, ссылка на которую есть выше.

Какие тревожные сигналы стоит замечать, нанимая команду разработки?

  • Вам называют фиксированную цену за весь продукт после одного созвона, раньше, чем кто-то спросил, что можно отложить на потом.
  • Компания хочет держать код или какой-либо из ваших аккаунтов на своё имя.
  • Нет ни одного клиента, которому можно позвонить, — только скриншоты и логотипы.
  • От оплачиваемой пробной задачи отказываются, но ждут крупную предоплату ещё до того, как вы увидели хоть что-то работающим.
  • Проходит месяц, а покликать нечего, и прогресс сообщают в процентах.
  • Каждую функцию и каждый срок принимают без единого вопроса о том, что важнее всего.
  • Продукт будет работать на собственной платформе компании по лицензии, и никто не объясняет, что будет, если вы уйдёте.

Где здесь место amBrain?

Из шести видов команд, описанных выше, amBrain — специализированная инженерная компания. Она строит и чинит системы реального времени для трейдинга, FinTech и AdTech, а AI-проекты берёт из любой отрасли. Кроме AI-проектов, работу за пределами этих областей она не берёт. Если ваш стартап — обычный веб- или мобильный продукт без AI в основе, вам лучше подойдёт продуктовая студия или опытные фрилансеры.

amBrain делает софт с 2019 года. Форматы работы компании умещаются в одно предложение: «Три формата: полная разработка, выделенная команда или инженеры внутри вашей команды». Условия владения — тоже одно предложение: «Клиент сохраняет полное владение продуктом и кодом, кроме наших переиспользуемых компонентов». Как и у любой компании, попросите поимённый список этих компонентов до подписания.

Если ваш стартап работает в одной из этих областей, amBrain может стать одним из трёх кандидатов, которые получат ваш одностраничный бриф.

Частые вопросы

  • Нужен ли мне технический сооснователь вместо команды разработки? Зависит от ваших инвесторов и от того, что вы продаёте. В FAQ Y Combinator основателю без технического бэкграунда отвечают так: «Важно, чтобы у команды основателей были навыки, позволяющие самим строить свой продукт, а не отдавать его на аутсорс кому-то другому. Для большинства бизнесов это обычно означает, что вам нужен технический сооснователь». Если вы собираетесь привлекать деньги у инвесторов, которые смотрят на это так же, начинайте искать такого человека уже сейчас, даже если первую версию строит внешняя команда.
  • Платить фиксированную цену или помесячно? Фиксированная цена подходит для небольшой первой версии, которую можно полностью описать на бумаге. Если план будет меняться по мере того, как вы узнаёте что-то от пользователей, команда с помесячной оплатой и еженедельными демо даст вам больше контроля. В обоих случаях до начала работы запишите, что значит «готово» для каждой части.
  • Можно ли потом сменить команду? Да, если код и аккаунты уже ваши, а продукт можно собрать по письменным инструкциям. Проверьте это до того, как понадобится: попросите инженера не из команды развернуть продукт на чистой машине, пользуясь только документацией.

На столе похожая архитектура?

Принесите текущую архитектуру и тот сценарий отказа, который вас беспокоит, — разберём его вместе за полчаса.