Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. Масштабирование организации
org_scaling

Масштабирование организации

Conway's Law, Team Topologies, Spotify model, найм EM, сохранение культуры при масштабировании

Масштабирование инженерной организации

Умение вырастить инженерную организацию — один из наиболее недооценённых навыков технического лидерства: большинство компаний обнаруживают проблемы только тогда, когда они уже горят. Понимание структурных законов роста позволяет строить организации, которые ускоряются, а не тормозят при найме.

Быстрый справочник

  • Conway's Law: архитектура вашей системы будет отражать коммуникационные структуры организации — проектируйте команды под желаемую архитектуру.
  • Когнитивная нагрузка команды конечна: если команда не понимает, что делает соседний сервис, — это сигнал разделения.
  • Brooks' Law: добавление людей в опаздывающий проект делает его опаздывать ещё больше — n*(n-1)/2 каналов растут квадратично.
  • Spotify Model — это эволюционный снимок одной компании в 2012 году, а не шаблон для копирования.
  • Team Topologies даёт язык для осознанного проектирования команд: stream-aligned, platform, enabling, complicated-subsystem.
  • Промоутировать лучшего инженера в EM — типичная ошибка: IC-экспертиза и управленческая экспертиза ортогональны.
  • Культура — это реальные паттерны поведения, а не ценности на стене; она передаётся через то, что лидеры делают, а не что говорят.

#1. Почему масштабирование сложно

Рост организации не линеен. Три фундаментальных закона объясняют, почему компании, успешные при 10 инженерах, испытывают острые кризисы при 50.

#Conway's Law

Сформулированный Мелвином Конвеем в 1967 году закон звучит так: «Организации, разрабатывающие системы, неизбежно создают системы, структура которых копирует коммуникационные структуры организации».

На практике это означает: если у вас три команды — фронтенд, бэкенд, инфраструктура — вы получите три-уровневую архитектуру с жёсткими границами. Если хотите микросервисы — формируйте команды вокруг бизнес-доменов. Inverse Conway Maneuver: сначала переструктурируйте команды, потом позвольте архитектуре эволюционировать.

Практический вывод: прежде чем рефакторить архитектуру, нарисуйте org chart — вы уже видите свою будущую систему.

#Cognitive Load (Team Topologies)

Каждая команда имеет конечный объём когнитивной нагрузки — системы, сервисов и зависимостей, которыми она может эффективно владеть и развивать. Этот предел не зависит от талантливости разработчиков; он определяется размером команды и сложностью предметной области.

Три типа когнитивной нагрузки по Team Topologies:

  • Intrinsic — сложность предметной области (не устранима, только управляема).
  • Extraneous — случайная сложность: конфигурация деплоя, сборка, инфраструктура.
  • Germane — обучение и глубокое понимание домена.

Задача лидера — минимизировать extraneous нагрузку (через platform team), чтобы освободить место для germane.

#Brooks' Law

Фред Брукс в книге «Мифический человеко-месяц» (1975) сформулировал: добавление людей в опаздывающий проект делает его опаздывать ещё больше.

Математика коммуникации: в команде из n человек существует n(n-1)/2* двусторонних каналов. При 5 людях — 10 каналов, при 10 — 45, при 20 — 190. Координационные издержки растут квадратично, продуктивность — нет. Это объясняет, почему команды из 8–12 человек часто работают эффективнее, чем из 20+.


#2. Модели организации команд

#Функциональные vs Feature teams vs Matrix

Функциональные команды (фронтенд, бэкенд, QA, DevOps): специалисты объединены по профессии. Плюсы — глубокая экспертиза, карьерные треки, стандарты. Минусы — фича требует координации между несколькими командами, возникают зависимости и бутылочные горлышки.

Feature teams (продуктовые команды): кросс-функциональные команды, владеющие конкретным доменом или фичей. Плюсы — быстрая доставка, полное владение результатом. Минусы — риск дублирования решений, ослабление технических стандартов без горизонтальных структур (chapters, guilds).

Matrix: инженеры формально принадлежат функциональной команде, но временно работают на продуктовую. Плюсы — гибкость. Минусы — двойное подчинение, конфликт приоритетов, «мой менеджер говорит одно, product owner — другое».

Большинство зрелых организаций склоняются к feature teams с горизонтальными структурами для поддержания стандартов.

#Spotify Model

В 2012 году Spotify описала свою организационную модель через четыре концепта:

  • Squad — автономная кросс-функциональная мини-команда (6–8 человек), владеющая конкретной фичей или областью продукта.
  • Tribe — совокупность squads, работающих в смежных областях (до ~100 человек).
  • Chapter — горизонтальная группа специалистов одной профессии (все фронтенд-инженеры в tribe), отвечающая за стандарты и профессиональный рост.
  • Guild — неформальное сообщество по интересам поверх всей компании (гильдия мобильной разработки, гильдия безопасности).

Критика: Spotify Model — эволюционный снимок конкретной компании в конкретный момент. Сами создатели модели предупреждали, что к 2015 году Spotify уже не работала по этой схеме. Слепое копирование порождает карго-культ: организации создают tribes и squads, сохраняя все старые дисфункции — просто с новыми названиями. Не копируйте ответ; изучайте вопросы, которые Spotify пыталась решить.

#Team Topologies: 4 типа команд

Книга Скелтона и Пайса (2019) предлагает более строгий язык.

Stream-aligned team — основная производительная команда, выровненная под конкретный поток ценности (домен, продукт, пользовательский путь). Пример: команда «Оформление заказа». Цель — быстрая независимая доставка. Это должен быть самый распространённый тип в организации.

Platform team — предоставляет внутреннюю платформу как сервис, снижая когнитивную нагрузку stream-aligned команд. Пример: команда, управляющая CI/CD, observability, managed Kubernetes. Ключевое слово — «как продукт»: платформа должна иметь внутренних пользователей, SLA и roadmap.

Enabling team — небольшая группа специалистов, которая временно помогает stream-aligned командам освоить новые практики и потом уходит. Пример: команда внедрения Site Reliability Engineering. Цель — передача знаний, а не долгосрочная зависимость.

Complicated-subsystem team — команда, владеющая специализированным сложным компонентом, требующим глубокой экспертизы (алгоритм рекомендаций, видеокодек, DSP-движок). Stream-aligned команды потребляют этот компонент через API, не погружаясь в его внутреннее устройство.


#3. Когда и как делить команды

#Сигналы превышения когнитивной нагрузки

Превышение когнитивного порога команды проявляется конкретными симптомами:

  • PR review задержки растут: разработчики боятся ревьюировать изменения в частях кодовой базы, которые не понимают.
  • Фраза «я боюсь трогать этот сервис» становится нормой.
  • Онбординг новых сотрудников занимает месяцы, потому что «нужно понять весь монолит».
  • Команда не может назвать границы своей ответственности.
  • Инциденты требуют вовлечения всей команды, потому что никто не понимает систему целиком.
  • Velocity падает при росте размера команды.

#API-first перед разделением

Разделение команды без чётких контрактов между частями системы — путь к хаосу. Правило: перед тем как организационно разделить команду, определите API между частями системы. Если вы не можете чётко описать интерфейс — вы не готовы к разделению.

Порядок действий:

  1. Выявите естественные доменные границы (часто совпадают с bounded contexts из DDD).
  2. Опишите API между доменами (REST, gRPC, события).
  3. Убедитесь, что команды могут работать независимо через эти контракты.
  4. Только затем проводите организационное разделение.

#Размер команды: два подхода

Правило двух пицц Безоса: команда должна быть достаточно маленькой, чтобы накормить двумя пиццами (6–10 человек). Интуитивное правило, хорошо работающее как эвристика.

Team Topologies: правильный размер определяется не количеством людей, а когнитивной нагрузкой. Команда из 4 человек, владеющая сложным финансовым доменом, может быть перегружена. Команда из 12 человек с чёткими границами ответственности может работать эффективно. Вопрос не «сколько людей?», а «может ли команда полностью понимать свой домен и уверенно вносить изменения?»


#4. Engineering Manager vs Tech Lead при масштабировании

#Почему нужна специализация

При команде до 8 человек один человек часто совмещает роли TL и EM. При росте эта модель ломается: у технического лидерства и у управления людьми — разные временные горизонты, разные навыки, разные типы переключения контекста.

TL думает в терминах архитектурных решений, технического долга, системной надёжности. EM думает в терминах карьерного роста, мотивации, найма, связей с другими командами. Попытка одного человека делать оба хорошо при команде 12+ приводит к тому, что один из аспектов страдает — обычно управление людьми, потому что технические проблемы более видимы и срочны.

#Как нанимать первых EM

Что искать в первом EM:

  • Опыт 1-1 разговоров и развития инженеров (не просто «я сам вырос»).
  • Умение работать с неопределённостью и конкурирующими приоритетами без потери команды.
  • Понимание инженерных процессов (planning, retro, delivery), но без желания контролировать технические решения.
  • Комфорт с ролью «второго плана»: EM успешен, когда команда успешна, а не когда EM заметен.

Типичная ошибка: промоутировать лучшего инженера в EM, потому что он «лучший». IC-экспертиза и управленческая экспертиза ортогональны. Отличный инженер, ставший плохим EM, теряет инженерную радость и не приносит пользу как менеджер. Если человек хочет расти технически — создайте IC-трек (Staff Engineer, Principal Engineer).

#Онбординг нового EM

Первые 30 дней нового EM — критичны для завоевания доверия команды:

  • Не начинайте с изменений процессов (даже если видите проблемы). Сначала слушайте.
  • Проведите 1-1 с каждым членом команды в первую неделю с одним вопросом: «Что сейчас мешает тебе работать?»
  • Найдите «quick win» — что-то, что вы можете улучшить или снять с команды за первые 2 недели.
  • Согласуйте с TL разделение ответственности: кто принимает технические решения, кто — организационные.

#5. Сохранение культуры при росте

#Культура = паттерны поведения

Культура — это не то, что написано в корпоративных ценностях. Культура — это то, что происходит, когда лидер выходит из комнаты. Это реальные паттерны поведения, которые воспроизводятся снова и снова.

Несколько примеров: если CTO публично наказывает за неудачные эксперименты, культура будет избегать рисков — что бы ни говорилось про «инновации». Если лидер говорит «у нас нет blame culture», но постмортемы всегда заканчиваются поиском виноватых — команда видит реальную культуру. Лидер транслирует культуру действиями, а не словами.

#Culture carriers

При росте компании критически важно, кто становится «носителями культуры» при найме. Culture carrier — сотрудник, который глубоко понимает и воплощает ценности организации, и при этом сам участвует в интервью и онбординге новичков.

Без осознанных culture carriers масштабирование размывает культуру: каждый новый сотрудник приходит со своими предположениями о том, «как правильно», и постепенно организация теряет связность.

Практика: определите 5–10 поведений, которые для вас являются признаками культурного соответствия, и включите их в структурированные интервью — не как «culture fit» (склонность к однородности), а как «culture add» (разделяет ценности, привносит новое).

#Структурированные ритуалы vs стихийные

Маленькая команда поддерживает культуру через стихийное общение: обеды, случайные разговоры, общий опыт. При 50+ людях стихийные механизмы перестают работать — инженер в одной части компании может не иметь никакого контакта с инженером в другой.

Решение — структурированные ритуалы: регулярные All-Hands с пространством для вопросов, публичные признания (shoutouts), postmortem культура без blame, Engineering Week с хакатонами. Ритуалы — это намеренные механизмы воспроизведения культуры в масштабе.


#6. Масштабирование коммуникации

#Decision Log и RFC процесс

Decision Log — централизованный реестр важных решений с контекстом: что решили, почему, какие альтернативы рассматривались. Не только архитектурные (ADR), но и организационные, процессные.

RFC (Request for Comments) — процесс предложения изменений через письменный документ с периодом для обратной связи. Применим не только к техническим решениям, но и к процессам, OKR, организационным изменениям. При 30+ инженерах синхронные обсуждения перестают масштабироваться: RFC позволяет каждому высказаться в удобное время.

Хороший RFC содержит: контекст и мотивацию, предлагаемое решение, альтернативы и их trade-offs, открытые вопросы. RFC не должен быть длинным — одна страница лучше, чем десять.

#Engineering All-Hands

Engineering All-Hands — регулярная (ежемесячная или ежеквартальная) встреча всей инженерной организации. Цели:

  • Выравнивание на стратегию и приоритеты.
  • Признание достижений команд.
  • Прозрачность о сложных ситуациях и изменениях.
  • Q&A с лидерством.

Как проводить эффективно: начинайте с бизнес-контекста («куда движется компания»), затем инженерные достижения, затем открытые вопросы. Анонимный Q&A (через Slido или аналог) снижает барьер для неудобных вопросов.

#Architecture Guild / Principal Group

При росте технических решений больше одной команды — необходима структура для архитектурной координации. Architecture Guild или Principal Group — горизонтальная структура из старших инженеров и архитекторов, которая:

  • Рецензирует RFC с архитектурными последствиями.
  • Поддерживает согласованность технических стандартов.
  • Выявляет и управляет системным техническим долгом.
  • Не является командой принятия решений — это консультативный орган.

#Async-first при >30 человек

Синхронные коммуникации — митинги — не масштабируются. При >30 человек митинг на 20 минут, требующий 10 участников, стоит организации более 3 часов инженерного времени. Принципы async-first:

  • Документируйте решения письменно (даже после синхронного звонка).
  • Используйте threading в мессенджерах — не разрушайте контекст короткими сообщениями.
  • Для не-срочных решений ставьте дедлайн ответа (24–48 часов), а не требуйте немедленной реакции.
  • Синхронные встречи — только для случаев с высокой неопределённостью и эмоциональной составляющей.

#Кейс: Стартап X — с 8 до 60 инженеров за 18 месяцев

Исходная ситуация (месяц 0): 8 инженеров, монолитный Node.js-бэкенд, общий репозиторий, ежедневные стендапы всей командой. CTO принимает все архитектурные решения, сам делает ревью всех PR. Скорость высокая, коммуникация стихийная.

Кризис роста (месяц 6, 22 инженера): Нанято 14 инженеров за полгода. Появились три потока работ: мобильное приложение, API для партнёров, внутренняя аналитика. Все три проекта горят одновременно. CTO становится бутылочным горлышком: ревью PR занимает 3–5 дней, решения по архитектуре задерживаются на неделю. Инженеры жалуются: «непонятно, что делает другая часть системы, боимся трогать чужой код». Два senior-инженера уходят из-за «хаоса».

Диагностика (месяц 8): Пригласили консультанта по Team Topologies. Выявленные проблемы:

  • Одна большая команда с четырьмя конкурирующими потоками ценности (key person dependency на CTO).
  • Нет platform team — каждый инженер сам настраивал деплой, CI/CD разнородный.
  • Нет процесса для архитектурных решений — всё через CTO или Slack-тред.
  • Монолит без чётких доменных границ усиливал когнитивную нагрузку.

Что сделали (месяц 9–14):

  • Разделили на 4 stream-aligned команды по бизнес-доменам (3–5 месяцев на формирование). Каждая команда — 6–8 человек с TL.
  • Создали platform team из 4 человек: взяли лучшего DevOps-инженера и трёх добровольцев из product-команд. Сфокусировались на единой CI/CD платформе — через 3 месяца время деплоя сократилось с 45 до 8 минут.
  • Запустили RFC-процесс: все архитектурные решения, затрагивающие более одной команды, проходят через RFC с 5-дневным периодом комментариев.
  • Назначили chapter leads по профессиям (frontend, backend, data). Chapter meetings — раз в две недели.
  • CTO перешёл в режим steering: участие в RFC, Engineering All-Hands раз в месяц, 1-1 с TL команд.

Результаты (месяц 18, 60 инженеров):

  • Время от начала фичи до деплоя: сократилось с 3 недель до 6 дней.
  • PR review time: с 3–5 дней до менее 24 часов (каждая команда ревьюирует сама).
  • Текучесть инженеров: снизилась с 28% в кризисный период до 9% после реструктуризации.
  • CTO больше не является бутылочным горлышком ни для одного потока работ.

Главный урок: реструктуризацию лучше делать проактивно при 20–25 людях, а не в реактивном режиме при 40+. Болезненность реорганизации в активной фазе роста значительно выше.


#Типичные ошибки

ОшибкаПочему плохоКак правильно
Преждевременная иерархияДобавление менеджерских слоёв до появления реальной необходимости увеличивает coordination overhead и замедляет решения, не добавляя ценностиДобавляйте менеджмент в ответ на конкретные проблемы (потеря direction, отсутствие growth-разговоров), а не превентивно
Слепое копирование Spotify ModelSpotify описала эволюционный снимок своей культуры в конкретный момент; копирование структуры без культуры и контекста создаёт карго-культ с новыми названиями для старых дисфункцийИзучите проблемы, которые решала Spotify; определите свои проблемы; проектируйте собственное решение
Промоутировать лучшего инженера в EMIC-экспертиза и управленческая экспертиза ортогональны; человек теряет то, что его мотивировало, и не получает компетенций для новой ролиСоздайте отдельный IC-трек (Staff/Principal Engineer); назначайте в EM тех, кто хочет заниматься развитием людей
Создание слишком маленьких командКоманды из 2–3 человек страдают от bus factor, отсутствия ревью-культуры и чрезмерных межкомандных зависимостейМинимальный жизнеспособный размер команды — 4–5 человек; при меньшем составе объедините с другой командой
Игнорирование Conway's LawАрхитектурный рефакторинг без изменения структуры команд не даст результата: система воспроизведёт коммуникационные структуры организацииИспользуйте Inverse Conway Maneuver: сначала сформируйте команды под желаемую архитектуру, потом мигрируйте
Отсутствие platform teamКаждая product-команда самостоятельно решает инфраструктурные проблемы, что дублирует усилия и увеличивает extraneous когнитивную нагрузкуВыделите platform team при ~20–25 инженерах; она должна предоставлять инфраструктуру как внутренний продукт со своим roadmap

#Практические упражнения

Упражнение 1: Team Topologies карта

Нарисуйте карту своей организации по Team Topologies. Для каждой команды определите тип (stream-aligned, platform, enabling, complicated-subsystem). Обозначьте режимы взаимодействия между командами: collaboration (тесное совместное решение задач), X-as-a-service (потребление через API), facilitating (временная помощь). Вопросы для анализа: сколько у вас stream-aligned команд? Есть ли platform team? Есть ли команды без чёткого типа? Где collaboration затянулась — и не пора ли перейти к X-as-a-service?

Упражнение 2: Аудит когнитивной нагрузки

Проведите 30-минутный опрос с каждой командой. Вопросы: какие сервисы/системы входят в зону ответственности команды? Есть ли части системы, которые команда «боится трогать»? Сколько времени уходит на понимание новой части кодовой базы при онбординге? Могут ли все члены команды объяснить, что делает каждый компонент? Если есть зоны страха или непонимания — это сигнал либо разделения ответственности, либо создания документации и enabling team.

Упражнение 3: Conway's Law аудит

Возьмите актуальную архитектурную диаграмму системы и org chart. Наложите их друг на друга: соответствуют ли границы сервисов границам команд? Какие сервисы изменяются несколькими командами одновременно? Там, где несколько команд часто меняют один сервис, — это точка напряжения: либо граница сервиса неправильная, либо граница команд. Задокументируйте несоответствия и предложите одно изменение (организационное или архитектурное) для устранения самого болезненного несоответствия.