Ценность и исполнение абсолютны

Feb 13 2023
Все остальное шум
Жизнь стартапа Я почти ничего не знаю о жизни. Это было еще более верно, когда я пришел в свою первую компанию после университета.
Фото Джексона Дэвида на Unsplash

Жизнь стартапа

Я почти ничего не знаю о жизни. Это было еще более верно, когда я пришел в свою первую компанию после университета. Это был небольшой стартап в индустрии рекламных технологий, примерно 25 человек, все молодые и крутые. Компания только что подняла свой первый раунд, и пришло время ускориться. Меня наняли в качестве Data Scientist для извлечения информации из огромного количества данных, накопленных компанией. Я думал, что моя работа заключается в обучении моделей машинного обучения, написании кода на Python и игре в настольный футбол. Я был так чертовски неправ.

Жизнь была веселой

Я был вторым членом команды Data, сразу после самого Head, так что все нужно было строить с нуля. Это было захватывающе и сложно. Я проводил время за чтением научных работ по машинному обучению, понимая, как мало я знаю, и писал код как сумасшедший. Я быстро понял, что школа не научила меня многим основным навыкам, необходимым для моей повседневной работы. Так я узнал. Каждый день. Я научился писать производственный код на Python и Scala, создавать задания Spark и организовывать их с помощью групп DAG Airflow. Я научился перебазировать и обрабатывать конфликты в git. Я научился создавать пайплайны CI/CD. Я научился пользоваться AWS. Меня разрывали на части код-ревью старших участников. Эти сотни комментариев на запрос на включение были моим ускоренным курсом по инженерии данных.

Я люблю это. У меня был свой маленький пузырь, где я мог учиться и создавать одновременно, в своем собственном темпе, потому что я был под эгидой исследований и разработок, потому что «в науке о данных все требует времени» и потому что я был младшим. Так прошло несколько месяцев, пока я не начал замечать что-то другое.

Я видел давление

В управлении, ответственном за десятки человек.
На внутренних инженерах, ответственных за доставку миллионов рекламных объявлений в режиме 24/7 менее чем за 50 миллисекунд.
На инфраструктуре люди, отвечающие за постоянное обслуживание многомиллионной инфраструктуры.
Менеджеры по работе с клиентами, отвечающие за продажу решения клиентам и привлечение денег.
На основателей, ответственных за видение и выживание компании.

Я видел, как они просыпались среди ночи, имея дело с неудачами и эскалациями. Кофейные кружки разлетались вдребезги, люди кричали друг на друга, а людей поджаривали за то, что они не попадали в цель. Перепады настроения были эпическими.

Вот тогда я понял.

Это о выживании

Когда вы работаете в стартапе, все дело в выживании. И чтобы выжить, вам нужны две вещи: ценность и исполнение. Все остальное шум.

Ценить

Ценность — это самое важное, что нужно понять, особенно для технарей, поскольку мы склонны слишком много сосредотачиваться на технической стороне.

Компании существуют по одной причине: решать важные проблемы. Вот и все.

Какой язык программирования использовать? Какой фреймворк использовать? Какой текстовый редактор использовать? Какая архитектура? Должны ли мы использовать машинное обучение? Это не имеет значения. В лучшем случае это деталь реализации.

Ценность исходит из проблем, болевых точек и пользователей. Итак, сначала нам нужно их понять. Затем нам нужно создавать продукты, которые облегчат их жизнь. Наконец, нам нужно сделать это быстро. Но есть одна загвоздка.

Исполнение

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

Возможно, мы разрабатываем лучшую модель машинного обучения, но пока она не запущена в производство, она бесполезна. Исторически именно так работали ИТ-проекты. Проекты, длящиеся месяцы или годы с обширной командой разработчиков, прежде чем они попадут в производство. За исключением редких случаев, это 1. бесполезно и 2. неэффективно. Если мы отправим что-то слишком поздно, мы рискуем остаться без денег и ничего не показать.

А как же конкуренция? Хотим ли мы, чтобы пользователи ушли к другому конкуренту?

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

Так что же нам делать? Мы повторяем. Мы фокусируемся на основных частях и отправляем их как можно скорее. Мы собираем отзывы, улучшаем, а затем добавляем функции. Промойте и повторяйте до тех пор, пока область интереса не перестанет быть привлекательной. Вот почему продукты SaaS имеют частные и общедоступные предварительные версии. Вот почему время от времени нам придется выпускать полуфабрикаты с неприятным кодом. Наш конвейер приема может быть не самым быстрым или экономичным, наша модель машинного обучения может быть не самой точной, а наша серверная часть может быть не самой масштабируемой, но благодаря этому мы двигаемся быстро и гибко. Это настоящий Agile.

Звучит легко, но это не так. Хорошая итерация требует другого мышления. Мы должны идти на компромиссы и соглашаться на поставку неоптимального кода. Мы должны принять временный хаос ради долгосрочного успеха. И это тяжело.

Заключение

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

Идеи без должного воплощения — пустая трата времени. Вот почему нам нужно быстро выполнять итерации, получать отзывы пользователей, улучшать, а затем при необходимости вносить изменения.

Наконец, и это, вероятно, самая сложная часть, мы должны смириться с компромиссами и поставкой неоптимального кода.

Интересно, что все сказанное до сих пор относится к каждой компании, а не только к стартапам. У них просто больше денег.

Пока они этого не сделают.