Про делаПролетели почти полтора месяца с
прошлого поста, а для меня это как в прошлом году было. Много работаю, мало пишу, а потому компенсирую: большой-большой рассказ, как у нас дела.
ПродуктСервис сейчас и сервис полтора месяца назад - это две разных вселенных. Очень большая разница. И она измеряется не просто в новых фичах, а в изменениях, которые надежно и статистически значимо дают очень заметный прирост выручки. Это и новые большие продукты, и заметное улучшение конверсии старых, и другие маленькие трюки.
Для части продуктов мы уже нашли хорошую формулу, для части пока только подбираем ключик, но они все у нас работают в хороший плюс.
РелизыНа нашу небольшую компанию на все продукты у нас в день получается, наверное, около полутора десятка релизов, не меньше. И это поставки в прод именно с какими-то реальными изменениями, а не просто continuous deployment, где релиз есть, а изменения все за флагом. Ничего плохого о continuous deployment сказать не хочу, напротив, просто мы пока до него не доросли.
Постепенно мы приходим к все более высокой дисциплине нашей релизной культуры. Сюда относятся и приёмочные тесты в пайпе, и алерты, и канареечное развёртывание опасных изменений через 10%, и практика контроля логов глазами в течение получаса после релиза, и отказ от релизов перед обедом или окончанием рабочего дня.
АрхитектураЯ в прошлый раз уже писал, что даже на таких ранних этапах видно, как новая архитектура даёт свои плоды. И в этот раз должен сказать, что она продолжает радовать все больше. Высокая скорость выкатки новых продуктов переросла в такую же высокую скорость их изменений. Команды не мешаются друг у друга под ногами и не упираются друг в друга. При этом с большим удовольствием поддерживают соседей, когда видят какую-то интересную возможность.
ПлатформаВ продолжение разговора об архитектуре должен и платформу похвалить. С одной стороны, на данный момент, это большой кусок легаси кода, весьма удачно, на мой взгляд, разбитый на несколько хорошо инкапсулированных подсистем.
С другой стороны, тут у нас получился замечательный набор инструментов для общих и очень важных задач: авторизация, биллинг, телеметрия и аналитика, облачная инфраструктура, платформа под микрофронты и общие компоненты.
Топология командТретий архитектурный вопрос - топология команд. Изначальная идея с одним-двумя людьми на продукт расцвела интересными вариациями: на одном продукте всего один человек, который ещё параллельно и платформенный компонент развивает; на другом команда аж на три человека; третья команда на три человека поддерживает два продукта одновременно; где-то народ работает парами. Короче, получилось и так, и сяк, и пятой точкой, простите, об косяк.
Все достаточно ситуативно, в зависимости от положения дел. Но идея, что в эру вайбкодинга на одном продукте должен быть один человек, кажется, пока не оправдывается.
Продуктовые инженерыСтавка на продуктовых инженеров скорее сыграла. В эру вайбкодинга все разработчики за редким исключением начинают фуллстечить, а лидеры продуктов учатся работать с продуктовой аналитикой. Последнее пока ещё на недостаточном уровне, но, комон, это вчерашние разрабы, и всего-то пара недель прошла.
Вайбкодинг и фреймворкПо фреймворку большой прогресс: последняя версия умеет делать одну сторю годно за пару часов от начала до конца. То, что раньше я делал несколько недель, теперь можно сделать за несколько дней. На выходе более-мене хороший код, более-менее хорошие тесты. Но тут как в анекдоте: после сборки обработать напильником - за итоговый результат все равно отвечать разработчику.
Впрочем, есть и обратное движение: проблемы на предыдущих этапах его освоения отвадили от него заметную часть разрабов. И их выбор тут надо уважать.
ГовнокодК моменту моего прошлого поста у нас было:
- четыре новеньких чистеньких продукта, у которых и до сих пор все вполне прилично в коде;
- один более-менее приличный;
- и ещё три продукта, от кода которых у нас волосы шевелились на... голове: один старый-старый и два новых навайбкоженных монстра, по полтора месяца каждый.
- Плюс платформенные модули, где все было не сильно лучше.
И вот спустя месяц на двух из трёх монструозных продуктов нам удалось построить рядом элегантное, простое и мощное решение, перевести на них всех пользователей и аккуратно удалить нафиг весь старый код.
А вот на третьем мы попробовали пойти ещё дальше: мы взяли старые аксептанс тесты и новым вариантом фреймворка переписали все с нуля. И сработало like a charm. Причём было страшно: мы все очень хорошо знали, что
big bang replacement превращается обычно просто в big bang. Но в эпоху вайб-кодинга все оказалось не так и плохо.
LeanВ целом, все, о чем я писал все эти месяцы, работает просто волшебно. Базовые правила: не делай лишней работы, получай обратную связь как можно раньше. Вот это на продуктовом и инженерном уровне показывает фантастический выхлоп.
КультураДостаточно больное место в компании. Темпы высокие, результаты на уровне. Изменения и в компании, и в ожиданиях, и в процессах, и в темпах автоматически создают повышенное давление на инженеров. Прикладываю все усилия, чтобы в этих условиях все чувствовали себя в безопасности, могли развиваться и сохраняли креативность и инициативность.
Секрет фирмыПри этом это не весь рецепт успеха, есть ещё несколько секретных ингредиентов: всякие новые штучки-дрючки, которые, конечно, используем не только мы, но о которых я смогу рассказать нескоро. И эти штучки ооочень крутые.
Подводя итогиКороооче. Пока полёт уверенный: все то, о чем я пишу уже почти полтора года в блоге, внедряется и работает, как часы. Получается чудо, как хорошо. Но дальше - больше.