5 стадий жизни IT-компании: от стартапа до кровавого Энтерпрайза
Я работал в относительно небольшом числе разных IT компаний, но мне посчастливилось застать разные этапы их жизненного цикла, которые отличались культурой, подходами к процессам, структурой команд и даже требованиями к разработчикам. Особенно интересно наблюдать за переходом от одного цикла к другому своими собственными глазами.
Я попытался выделить 5 основных этапов жизни (классов) IT компаний. Важно учесть, что компания необязательно проходит все эти 5 этапов. Она может остановиться на одном из них в силу особенностей и масштабов бизнеса.
1. «Стартап»
На этом этапе компания только начинает путь, и ее цель — доказать жизнеспособность своей идеи. Это необязательно стартап в классическом его понимании, но большинство совсем маленьких контор, которые начинали с 0 обязательно прошли через этот этап.
Характерные черты:
- Ресурсы ограничены: самая характерная и главная черта. Нет возможности нанимать топовых специалистов и в большом количестве. Зато нанятые энтузиасты часто выполняют несколько ролей одновременно.
- Хаос в процессах: чёткого плана развития на годы вперед — нет, задачи появляются почти спонтанно. Продуктовый фокус может меняться каждые пару месяцев. Всем не до процессов и повышение эффективности. Нет времени играть в менеджмент. Есть очень мало времени и мало людей и нужно дать результат ASAP.
- Идея важнее всего: многие готовы работать за энтузиазм, зарплаты ограничены, часто приходится вкладываться в "светлое будущее". Если повезло со стартовым капиталом, то может быть наоборот, совсем маленькая команда из очень дорогих экспертов. Но как правило это бывшие коллеги из Big Tech, которые решили начать что-то свое.
- Рискованность: никакой уверенности в завтрашнем дне. Сегодня есть инвестиции, завтра — нет. Идея и команда тут играет первостепенную роль.
- Широкий профиль сотрудников: требуются универсалы — Fullstack-разработчики, DevOps, которые одновременно могут заниматься веб-разработкой, инфраструктурой и даже тестированием и принтер настроить😉
- Отсутствие технического долга: по иронии, на старте его просто не успевают накопить, хотя это временно. Зато море костылей и заплаток «до лучших времен».
Плюсы для разработчиков:
- уникальный опыт: стартапы не для всех, тут нет место джунам и зачастую даже мидлам. Нужно делать все самому и быстро разбираться в том, о чем еще вчера даже не слышал. Нужно быть экспертом или им стать находу.
- быстрый рост (конечно, в случае успеха) и возможность НАПРЯМУЮ повлиять на продукт.
- возможность самому заложить фундамент и основу для будущих процессов разработки. Самому выбирать технологии. Полный карт-бланш (если это покрывает стартовый бюджет, конечно)
Минусы: нестабильность, отсутствие процессов и много переработок.
2. Mini Tech
На этом этапе у компании уже есть видение продукта, первые доходы и планы по развитию.
Характерные черты:
- Финансовая стабильность: уже есть поток инвестиций или стабильная выручка (а в идеале и то, и то).
- Команды: минимум две команды разработки, может больше, но часть работы часто отдают на аутсорс (так пока дешевле).
- Первые процессы: появляются планы развития продукта и первые зачатки документации.
- Ограниченная культура: код-ревью и CI/CD могут только зарождаться. Есть уже некий регламент работы (конвенция), какие-то настроенные инструменты и окружения для разработки. Но это все еще в очень сыром виде.
- Зоопарк технологий: из-за отсутствия общей архитектуры и культуры кода продукт превращается в "лоскутное одеяло".
- Гибкость в технологиях: еще можно выбрать что-то новое, но без излишней стратегичности (чаще всего, что доступнее, то и берут).
Плюсы:
- растущие команды
- интересные задачи
- первые элементы карьерного роста: отличный шанс, чтобы проявить себя и вырасти вместе с компанией до большой должности
- общение с руководством компании напрямую
- все еще есть возможность повлиять на продукт
Минусы: много технического долга и костылей, возможно текучка кадров.
Продолжение в следующем посте
Post #91
575
- 👍 9
- 🔥 4
- ❤ 1