Сначала выберите вид команды, потом компанию — по стадии, на которой вы находитесь, и по тому, какую долю продукта составляет сложная инженерия. Затем проверьте трёх кандидатов и оплатите пробную задачу.
Никто не может честно назвать подходящую компанию для вашего стартапа, не зная, что вы строите. Выбор решают две вещи: насколько ваш продукт зависит от сложной инженерии и на какой стадии вы находитесь. Для обычного веб- или мобильного продукта, как правило, хватит небольшой продуктовой студии или двух опытных фрилансеров, а если вы сами не технический специалист — ещё и опытного технического советника на вашей стороне. Некоторые продукты работают, только если работает что-то сложное, например торговая платформа или модель, которая принимает решения, пока пользователь ждёт. Для таких продуктов ищите компанию, у которой система такого рода уже работает в проде.
Короткий ответ: решите, какая команда вам нужна, прежде чем искать компанию. Отправьте один и тот же одностраничный бриф трём кандидатам этого вида и позвоните двум клиентам каждого из них — тем, чей продукт уже запущен. Двум самым убедительным кандидатам оплатите короткую пробную задачу. Код и облачные аккаунты с первого дня держите на имя своей компании.
Дальше по теме
Стартап может нанять команду одного из шести видов. Почасовая ставка значит меньше, чем две другие вещи: кто планирует работу и где остаются знания о вашем продукте, когда работа прекращается.
Фрилансер — это один инженер, с которым вы заключаете договор напрямую и которому платите за час или за задачу. Фрилансеры подходят для прототипа или одной чётко очерченной работы, например лендинга или экрана админ-панели. Управляете ими вы сами, и когда фрилансер уходит, вместе с ним уходит всё, что он знал о вашем продукте.
Агентство или продуктовая студия строит всю первую версию, включая дизайн, обычно за фиксированную цену или ежемесячную оплату. Хорошая студия уже выпустила много продуктов, похожих на ваш, и уверенно владеет типовыми частями вроде регистрации и платежей. Слабее она там, где сложная часть вашего продукта необычна. Спросите, будут ли те, кто продаёт вам проект, его же и строить.
Специализированная инженерная компания работает с узким классом сложных систем, например с торговыми платформами или рекламными аукционами, которые должны отвечать за доли секунды. Она может показать вам такую систему, работающую в проде. Платят ей так же, как студии или выделенной команде: за проект или помесячно. Для обычного приложения это неверный выбор, потому что вы будете платить за глубину, которой не пользуетесь, и хорошая компания такого рода сама вам об этом скажет.
Выделенная команда — это группа инженеров внешней компании, которые работают только над вашим продуктом и получают оплату помесячно. Она подходит для стадии, когда план меняется слишком часто, чтобы работать по фиксированной цене. Кто-то на вашей стороне должен каждую неделю решать, что делать дальше.
Штатные инженеры — ваши сотрудники, поэтому знания о продукте остаются в вашей компании. Важнее всего это становится, когда продукт и есть бизнес. Расходы идут каждый месяц, ясен план или нет.
Приходящий CTO (fractional CTO) — опытный руководитель разработки, который работает на вас неполное время, например день-два в неделю. Он пишет бриф, проводит собеседования с кандидатами, проверяет работу и заранее предупреждает вас, когда что-то идёт не так, а код при этом пишет нанятая вами команда. Если вы сами не технический специалист, добавьте такого человека к любой команде, которую выберете, и в самом начале спросите, не получает ли он вознаграждение от компаний, которые рекомендует.
Насколько ваш продукт зависит от сложной инженерии? Спросите, что будет, если он одну минуту работает медленно или с ошибками. Если пользователи подождут и пожалуются, инженерная часть обычная, и её построит хорошая команда широкого профиля. Если эта минута стоит денег — из-за сделки по неверной цене или проигранного рекламного аукциона, — вам нужны люди, которые уже строили системы такого рода.
На какой вы стадии и сколько денег уже лежит на счету? Деньги, привлечённые в раунде, позволяют взять на себя ежемесячные расходы на команду. До привлечения инвестиций вкладывайте деньги в то, чтобы доказать, что продукт нужен людям, а инженерную часть держите небольшой.
Если сложная часть вашего продукта — торговая платформа или AI-система, эти статьи разбирают тему подробнее:
Дальше по теме
Ответ на этот вопрос одним названием был бы догадкой, и эта статья не составляет рейтинг компаний. Порекомендовать она может вид команды из раздела выше и способ превратить этот вид в три названия, которые вы проверили сами.
Кандидатов, которым стоит позвонить, дают несколько источников:
Затем напишите одну страницу: что делает продукт и для кого; то единственное, что должно работать в первый же день; что уже есть; ваш срок; кто с вашей стороны принимает решения. Отправьте одну и ту же страницу трём кандидатам. Их вопросы скажут вам не меньше, чем их предложения: команда, которая уже строила что-то похожее, спрашивает о ваших пользователях и ваших рисках раньше, чем заговорит о технологиях.
В 2006 году Пол Грэм, один из основателей Y Combinator, писал, что большинство стартапов в электронной коммерции 1990-х погубили плохие программисты. По его словам, их основатели не могли отличить хороших программистов от плохих. О том, как выбрать хороших программистов, если вы сами не программист, он написал: «Не думаю, что на это есть ответ».
Впрочем, чтобы оценить команду, читать код не обязательно. Начните с работающего продукта: его вы можете увидеть. Один из принципов, лежащих в основе Agile-манифеста 2001 года, гласит: «Работающий продукт — основной показатель прогресса». Если компания говорит, что работает по Agile, ловите её на слове и просите каждую неделю что-то, что можно покликать.
За то, чего вы не видите, платите тому, кто видит. Приходящий CTO или независимый инженер, которому платите вы и который никак не связан с компанией-исполнителем, может раз в месяц читать код и простыми словами рассказывать вам, что его беспокоит.
Четыре проверки не требуют технических знаний.
Начните с их клиентов. Попросите контакты двух клиентов, чьи продукты уже запущены и которые работали с компанией в последние два года, и позвоните им сами. Спросите у них:
Затем выясните, кто будет строить ваш продукт. Попросите назвать имя и роль каждого человека и то, какую часть недели он будет отдавать вам. Спросите, будет ли кто-нибудь из участников продающей встречи писать код. Познакомьтесь с ведущим инженером до подписания и впишите имена в договор, а не только в коммерческое предложение.
Оплатите пробную задачу. Дайте двум кандидатам один и тот же небольшой кусок реальной работы по их обычным ставкам, с письменными критериями приёмки, согласованными до начала. Одной-двух недель достаточно. Результат остаётся у вас, какую бы команду вы ни выбрали, а вы видите, как каждая из них задаёт вопросы и сообщает о проблемах, ещё до того, как свяжете себя месяцами работы.
Договоритесь о еженедельных демо до подписания. Со второй недели вы должны каждую неделю видеть работающий продукт по ссылке, которую можете открыть сами. Слайды и отчёты о готовности в процентах не в счёт. Если прошёл месяц, а покликать нечего, остановитесь и спросите почему, прежде чем оплачивать следующий счёт.
Оформите на свою компанию всё, на чём работает продукт, а внешней команде дайте доступ более узкий, чем у ваших собственных людей.
Договор должен письменно передавать код и продукт вашей компании. Если компания-исполнитель оставляет за собой права на собственные переиспользуемые компоненты, попросите их поимённый список и лицензию, позволяющую продолжать ими пользоваться, если вы расстанетесь. Договор подробно разбирает статья о выделенных командах, ссылка на которую есть выше.
Из шести видов команд, описанных выше, amBrain — специализированная инженерная компания. Она строит и чинит системы реального времени для трейдинга, FinTech и AdTech, а AI-проекты берёт из любой отрасли. Кроме AI-проектов, работу за пределами этих областей она не берёт. Если ваш стартап — обычный веб- или мобильный продукт без AI в основе, вам лучше подойдёт продуктовая студия или опытные фрилансеры.
amBrain делает софт с 2019 года. Форматы работы компании умещаются в одно предложение: «Три формата: полная разработка, выделенная команда или инженеры внутри вашей команды». Условия владения — тоже одно предложение: «Клиент сохраняет полное владение продуктом и кодом, кроме наших переиспользуемых компонентов». Как и у любой компании, попросите поимённый список этих компонентов до подписания.
Если ваш стартап работает в одной из этих областей, amBrain может стать одним из трёх кандидатов, которые получат ваш одностраничный бриф.
Принесите текущую архитектуру и тот сценарий отказа, который вас беспокоит, — разберём его вместе за полчаса.