5 уроков, извлеченных при развитии компании до $4,5 млн ARR без внешнего финансирования
Все началось с письма. Еще в 2015 году я работал консультантом в своей компании из одного человека под названием Atomic Squirrel и планировал нанять DevOps-инженера для совместной работы над несколькими проектами. Осенним утром я обнаружил в своем почтовом ящике следующее сообщение:
Я увидел, что вы ищете DevOps-консультанта, а это как раз то, чем я занимаюсь.
Письмо было от некоего Джоша Падника, который нашел меня через посты в блоге, опубликованные мной много лет назад, о некоторых веб-фреймворках с открытым исходным кодом. Изучив бэкграунд Джоша, я выяснил, что у него была своя консалтинговая компания из одного человека под названием Phoenix DevOps, и что в нашей работе было много пересечений. Я решил, что стоит пообщаться, и ответил Джошу, описав то, чем я хочу заниматься в будущем:
Сначала краткое введение в Atomic Squirrel. Моя цель с этой компанией — сделать для всего технологического стека то же, что Amazon и другие облачные провайдеры сделали для дата-центров. То есть сегодня почти ни один стартап не содержит собственный дата-центр или стойки с серверами — они просто используют AWS или аналогичные сервисы. Я думаю, что для остальной части технологического стека существует аналогичная возможность. Стартапам нет необходимости тратить месяцы на то, чтобы связать воедино Rails + MySQL + GitHub + Travis + Ansible + Docker + AWS + New Relic + loggly… (еще 50 пунктов)… Я считаю возможным создать готовые, сквозные, проверенные в боевых условиях технологические стеки, которые кардинально сократят как время запуска чего-либо, так и объем технического долга, с которым вы остаетесь после запуска.
Мы с Джошем поговорили, затем поработали вместе, консультируя компании друг друга, и, наконец, объединили усилия в рамках одной компании под названием Gruntwork. В этом месяце Gruntwork исполняется 5 лет, поэтому я решил сделать паузу, откопать старое письмо Джоша и подумать о том, как далеко мы продвинулись с тех пор:
- Мы создали «готовые, сквозные, проверенные в боевых условиях технологические стеки», которые я описывал в своем письме: см. библиотеку инфраструктуры как кода (Infrastructure as Code Library) и эталонную архитектуру (Reference Architecture).
- Сотни компаний и тысячи разработчиков используют эти продукты в продакшене.
- Мы создали невероятную команду из примерно 20 человек.
- Мы вырастили бизнес примерно до $4,5 млн годовой регулярной выручки (ARR).
- Мы сделали все это, не привлекая инвестиций и не залезая в долги.
В этом блоге я поделюсь 5 уроками, которые помогли нам оказаться здесь:
- Счастливая случайность, тайминг и удача
- Таланты распределены равномерно, а возможности — нет
- Это марафон, а не спринт
- Сначала жизнь, потом работа
- Всегда первый день
Счастливая случайность, тайминг и удача
СМИ любят рассказывать истории о предпринимателях-героях, которые неустанно трудились, шли против всех правил и преуспели исключительно благодаря своим блестящим решениям, жертвам и стойкости. Но это не наша история. И если честно, это вообще ничья история.
Создание компании отчасти похоже на кулинарию: вам нужны правильные ингредиенты, в правильных пропорциях и в нужное время. Принятие правильных решений, жертвы и упорный труд — это 3 необходимых ингредиента, и мы с Джошем вложили их в достаточном количестве, но вы обнаружите, что в любом рецепте хорошей компании есть еще один ингредиент, который абсолютно необходим, но о нем часто забывают упомянуть: щепотка удачи.
Вот простой мысленный эксперимент, который показывает роль удачи: возьмите своего любимого, самого талантливого, самого почитаемого предпринимателя и измените что-то существенное в его жизни — например, отправьте его на 100 лет назад в прошлое или перевезите в другую страну с совершенно другой культурой или экономикой — и спросите, смог ли он все равно построить свои успешные компании. Например, смог ли Билл Гейтс создать Microsoft век назад? Или смог ли он построить ее в Советском Союзе?
Вы часто обнаружите, что ответ — нет. А теперь ключевой момент: это факторы, которые предприниматель не мог контролировать. Что касается этих факторов, им просто повезло оказаться в нужном месте и в нужное время. Биллу Гейтсу посчастливилось вырасти в относительно безопасной, стабильной, богатой части мира, поддерживающей предпринимательство; посчастливилось иметь доступ к отличному образованию, включая широкий доступ к компьютеру (что было редкостью в 1960-х годах); посчастливилось извлечь выгоду из ряда стратегических просчетов IBM; и посчастливилось вырасти прямо на пороге цифровой революции (как он сам говорил). Уберите любой из этих ингредиентов, и, возможно, никто из нас никогда бы не услышал о Билле Гейтсе.
Теперь позвольте мне внести полную ясность в этот вопрос: одной лишь удачи недостаточно. Билл Гейтс преуспел не только потому, что ему повезло. Но точно так же, как одной удачи недостаточно, недостаточно и упорного труда или принятия правильных решений. И хотя все романтизируют последние пункты, первыe не получают достаточного внимания. И хотя мы с Джошем даже близко не добились успеха Билла Гейтса, мы все равно чувствуем себя невероятно везучими, оказавшись там, где мы есть, и хотим открыто признать лишь несколько удивительных случайностей, которые позволили нам дойти до этого момента:
- Электронная почта и блоги. Письмо Джоша было чистой случайностью. Мы не знали друг друга, и это была чистая случайность, что он использовал Play Framework и случайно наткнулся на мои посты в блоге, опубликованные много лет назад. Это также была чистая случайность, что я хотел сформировать команду в Atomic Squirrel, и у Джоша оказалось свободное время в тот момент. Любое малейшее изменение обстоятельств — и, возможно, Джош никогда не отправит это письмо, а Gruntwork никогда не появится.
- Облака, DevOps, IaC. Проблема, которую мы решаем в Gruntwork, преследовала нас годами. Но до появления облаков, движения DevOps и инструментов Infrastructure as Code (IaC) мы бы никак не смогли создать готовую инфраструктурную библиотеку. Огромная доля успеха в бизнесе сводится к таймингу: например, классический случай с компьютерной мышкой, изобретенной до появления графического интерфейса.
- Семья. Нам с Джошем посчастливилось иметь замечательные, поддерживающие семьи, которые помогали нам на каждом шагу.
- Команда. Мы с Джошем не строили Gruntwork в одиночку. Мы оказались здесь благодаря упорному труду, вдохновению и жертвам команды из более чем 20 человек, которых нам посчастливилось найти в этом мире.
Таланты распределены равномерно, а возможности — нет
Говоря о нашей потрясающей команде, вот интересный факт о более чем 20 сотрудниках Gruntwork, которые работали в компании: они представляют более 10 разных стран по месту рождения (включая США, Бразилию, Болгарию, Латвию, Украину, Нигерию, Австралию, Сербию, Японию и Финляндию) и несколько иной набор из 8 стран по месту проживания (включая США, Великобританию, Германию, Канаду, Нигерию, Ирландию, Финляндию и Австралию). Внутри Gruntwork многие сотрудники предпочитают делиться своими личными руководствами пользователя (Personal User Guides) — чем-то вроде README или инструкции о том, как лучше всего работать с ними, — и я нахожу удивительным все те разнообразные способы, которыми люди думают, работают, живут и взаимодействуют.
Gruntwork была на 100% глобально распределенной командой с самого первого дня, поэтому нам посчастливилось на собственном опыте прочувствовать мысль (часто приписываемую Лейле Джана), что таланты распределены по миру равномерно, а вот возможности — нет. Поскольку пандемия COVID-19 заставила множество других компаний также стать распределенными, я думаю, остальной мир будет все сильнее осознавать этот факт.
Конечно, быть распределенной компанией по собственному выбору — это не то же самое, что быть вынужденным переехать на удаленку из-за глобальной пандемии и карантина. Тем не менее, как только вы познакомитесь с работой в режиме remote-first — когда ваш наем не ограничивается радиусом в 10 миль вокруг какого-то случайного офиса, когда вы можете работать с потрясающими людьми независимо от того, где они находятся, работать откуда хотите, когда хотите и не тратя часы на дорогу, — вернуться назад уже сложно. У распределенной работы есть много минусов, особенно если вас заставили перейти на нее, а не выстроили вокруг нее компанию, поэтому, без сомнений, многие предприятия вернутся к тому, как все было до COVID-19. Но я думаю, что для многих плюсы удаленной работы перевесят минусы, поэтому большое количество компаний останется распределенными, и, что гораздо важнее, я подозреваю, что поскольку миллионы людей попробовали удаленную работу, большинство новых бизнесов в будущем будут распределенными с первого дня.
Мы должны быть готовы к появлению гораздо более распределенной, глобальной рабочей силы в следующее десятилетие. Мы должны быть готовы к истинной глобализации: не к аутсорсингу, где у нескольких крупных компаний есть центральный офис, выполняющий основную работу, и оффшорные команды для второстепенных задач, а к полностью распределенным компаниям формата remote-first, где нет центрального офиса, а всю работу выполняют команды по всему миру. По большей части, я думаю, это будет огромным благом для мира, поскольку возможности наконец выйдут за пределы нескольких привилегированных стран.
Тем не менее, проработав в распределенной компании последние 5 лет, нельзя не признать: большинство правительств не готовы к этому прекрасному новому миру. Законы и правила большинства стран — особенно трудовое и налоговое законодательство — не поспевают за темпами, необходимыми для поддержки этой новой модели. Многие из этих законов основаны на предположениях, которые сегодня кажутся устаревшими и даже старомодными в современном мире, например, на идее о том, что у каждой компании должен быть физический офис, или что продукты — это материальные вещи, создаваемые и продаваемые в одном месте.
В результате наем сотрудников по всему миру — а иногда даже внутри одной страны, например, в разных штатах США — оказывается запутанным, сложным, трудоемким и дорогим делом, особенно для небольших стартапов. Все доступные варианты плохи:
- Подрядчики: Вы можете нанимать людей как подрядчиков, что дешево и просто, но в большинстве стран привлекать подрядчика на полную занятость в одну компанию незаконно.
- Штат сотрудников: Вы можете нанимать людей напрямую в штат, но в большинстве стран трудовое и налоговое законодательство требует наличия физического офиса в этой стране. Это влечет за собой огромные накладные расходы на открытие филиалов, оформление документов, уплату налогов в нескольких странах, соблюдение местного трудового права и так далее. Для небольших стартапов без внешнего финансирования этот путь обычно неприемлем.
- Совместное трудоустройство (ко-эмплоймент): Еще один вариант — использовать схему совместного трудоустройства, при которой сотрудник формально нанимается организацией профессионального найма (PEO) — крупной компанией, имеющей физические офисы в каждой стране, но вы подписываете контракты, согласно которым вся интеллектуальная работа сотрудника принадлежит вашей компании. PEO берет на себя все вопросы местного трудового права, начисления зарплаты, налогов и т.д. Взамен вы обычно платите PEO надбавку к зарплате каждого сотрудника: например, если сотрудник получает 100 000 долларов в год, вы можете платить PEO надбавку в размере 20%, то есть около 20 000 долларов в год, так что общая стоимость найма составит 120 000 долларов в год. Это означает, что каждый наем обходится дороже, но поскольку это позволяет избежать значительных первоначальных и текущих расходов на открытие филиалов по всему миру, обычно это лучший вариант для небольших стартапов без внешнего финансирования. Именно по этому пути мы пошли в Gruntwork, используя JustWorks в качестве нашего PEO в США и Remote.com и Capital GES за пределами США.
Все эти варианты несовершенны и хлопотны. Но где трудности, там и возможности. Вероятно, «следующей Кремниевой долины» не будет — идея о том, что все таланты должны концентрироваться в одном месте, в будущем будет казаться архаичной, — но та страна, которая сможет модернизировать свои законы, чтобы сделать удаленную работу понятной и доступной, получит огромную фору в будущей экономике.
Это марафон, а не спринт
Прежде чем основать Gruntwork, я столкнулся с двумя отрезвляющими статистическими данными:
- Большинство стартапов терпят неудачу. Хотя точный процент варьируется в зависимости от того, как именно вы определяете «стартап» и «неудачу», типичный показатель смертности составляет около 75%.
- Тем немногим стартапам, которым удается выжить, на это требуется десятилетие. Если вам посчастливится добиться успеха со стартапом, в среднем у вас уйдет от пяти до восьми лет на успешный выход из бизнеса, такой как поглощение или IPO, причем эта цифра растет. Более того, как фаундер вы редко уходите сразу после экзита, а остаетесь как минимум еще на 2–3 года, доведя общий срок примерно до 10 лет.
Большинство людей слышали о пункте (1), но относительно немногие знают о пункте (2). Опять же, СМИ искажают действительность, обожаю рассказывать истории об «успехе за одну ночь». Но опять же, это не наша история, да и вообще ничья история.
Реальность такова, что если вы хотите построить успешную компанию, вы должны быть готовы инвестировать в это как минимум десятилетие своей жизни. Если вам сейчас 20 с небольшим, вы будете работать над этим до 30; если вам уже за 30, вы будете работать над компанией до 40; и это если вам посчастливится оказаться среди тех немногих счастливчиков, кто преуспел!
Создание компании требует много времени. Могу сказать, что после 5 лет работы над Gruntwork мне все еще кажется, что мы только начинаем и нам предстоит сделать еще очень многое (об этом позже). Оказывается, такие сроки характерны не только для стартапов: на создание хорошего ПО уходит не менее 10 лет, а на реализацию крупных новых идей может уйти гораздо больше времени.
Все это означает, что к стартапу нужно относиться как к марафону, а не как к спринту:
- Думайте на долгосрочную перспективу. Выбирая идею для стартапа, избегайте погони за причудами, модой и схемами быстрого обогащения. Рассматривайте это как инвестицию на 10 лет и выбирайте идею только в том случае, если вы действительно видите себя работающим над ней большую часть времени бодрствования в течение следующего десятилетия вашей жизни.
- Рассчитывайте силы. Не пытайтесь работать по 80–100 часов в неделю. Не поддавайтесь культу токсичной продуктивности (hustle porn). Просто невозможно поддерживать такой темп на протяжении десятилетия. И хорошая новость заключается в том, что вам это и не нужно: я могу сказать, что можно построить здоровый, растущий бизнес, работая в нормальном режиме и уделяя много времени отдыху.
Сначала жизнь, потом работа
Говоря об отдыхе, один из главных принципов, которым мы стараемся следовать в Gruntwork, звучит так:
Сначала жизнь, потом работа
Другими словами, мы планируем работу вокруг нашей жизни, а не жизнь вокруг работы. Работа важна, и мы увлечены нашей миссией — сделать создание программного обеспечения в 10 раз проще, но у нас есть и другие увлечения. Мы любим проводить время с семьей и друзьями; путешествовать; заниматься спортом; читать; ходить в походы и так далее.
Работа по сути бесконечна; или, согласно закону Паркинсона, работа расширяется, чтобы занять время, выделенное на нее. Чтобы работа не захватывала каждый аспект вашей жизни, вы должны сначала спланировать жизнь, и только потом заполнить оставшееся время работой.
Например, если вы хотите взять отпуск в Gruntwork, здесь нет процесса согласования; вместо этого вы заранее добавляете его в свой календарь, объявляете об этом в нашем канале Slack #ooo (вне офиса), а затем мы планируем работу с учетом этого. Фактически, в Gruntwork у нас есть правило минимального отпуска, согласно которому мы требуем, чтобы все сотрудники брали как минимум 4 недели отпуска в год (не считая праздников, плюс наш 2-недельный перерыв на зимние каникулы). Чтобы все шло по плану, мы даже создали внутренний инструмент, который считывает время отпуска из календаря каждого сотрудника и показывает, выполнен ли минимум:
Также важно разделять жизнь и работу не только во время отпуска, но и изо дня в день. Как сооснователь стартапа, я могу сказать, что вполне возможно думать о своем стартапе 24 часа в сутки. Всегда есть еще работа, которую нужно сделать, всегда есть проблемы, которые нужно решить, всегда есть новые вещи, о которых стоит беспокоиться. Если позволить, стартап может полностью захватить вашу жизнь, заполнив каждый момент бодрствования и немалую часть моментов сна. Это нехорошо. Успех в стартапе ценой всего остального в вашей жизни — это не тот компромисс, на который я хочу идти, и, если на то пошло, я не уверен, что одержимость стартапом в режиме 24/7 повышает ваши шансы на успех.
Одна из вещей, которая помогает — это создание физического разделения между местом вашей работы и местом жительства. Мы предоставляем всем сотрудникам Gruntwork бюджет на поддержание здоровья и благополучия (wellness budget), который можно использовать для повышения продуктивности и улучшения самочувствия, включая оплату коворкинга, чтобы вы могли работать в совершенно отдельном от вашего дома месте, и оплату абонемента в спортзал, чтобы вы могли оставаться здоровыми.
Во время COVID-19 большинству людей приходится оставаться дома из-за карантина, что делает разделение гораздо более сложным. Если вам посчастливилось иметь отдельную комнату в доме, которую вы можете использовать в качестве офиса (опять этот фактор везения!), это может сильно помочь, так как вы можете «уйти» с работы в конце дня, закрыть за собой дверь и легче сосредоточиться на других вещах. Конечно, не у всех есть такая привилегия, а когда из-за COVID-19 дома находятся дети, отделить работу от жизни становится еще труднее. Поэтому в 2020 году мы удвоили личный бюджет и расширили возможные сценарии его использования: например, вы можете использовать его для оплаты услуг нянь, бебиситтеров, ухода за детьми, абонементов на Peloton, домашних спортзалов, оборудования для домашнего офиса и так далее.
К сожалению, COVID-19 был не единственной проблемой в 2020 году. Это был тяжелый год для всех. В такие времена напоминать всем о жизни до работы важнее, чем когда-либо:
Всегда первый день (It’s always day 1)
В Amazon Джефф Безос часто повторяет: «всегда первый день». Независимо от того, насколько крупной становится компания, сколько у нее сотрудников, как долго она существует, они всегда хотят вести себя так, будто это первый день стартапа — оставаться инновационными, находчивыми и гибкими.
Нам далеко до масштабов Amazon, мы все еще крошечный стартап, и тем не менее, принцип «всегда первый день» имеет для нас большое значение. В каком-то смысле кажется, что прошло уже много времени с тех пор, как Джош отправил то письмо 5 лет назад. Но в другом смысле кажется, что мы только начинаем — что мы едва поцарапали поверхность того, что возможно. Нам предстоит построить еще очень многое:
- Больше модулей IaC: инструменты мониторинга, бессерверные инструменты, хранилища данных и т.д.
- Больше стандартов соответствия: например, HIPAA, PCI DSS, NIST 800–53 и т.д.
- Больше облаков: например, GCP, Azure.
- Автоматические обновления для всех зависимостей инфраструктуры.
- Веб-интерфейс для управления всей вашей инфраструктурой.
- И многое другое.
Сделать нужно многое — и это очень хорошо. Мы рады приступить к работе над этими пунктами. Мы рады сделать создание программного обеспечения в 10 раз проще для всех. И мы рады, что даже после 5 лет работы это все еще первый день.
Вся ваша инфраструктура. Описана как код. За 1 день. Gruntwork.io.
