Developer Growth — оценка навыков и план развития
Когда использовать
- Разработчик хочет самооценку: «где я сейчас, где пробелы»
- Подготовка к performance review / грейд-комитету («докажи фактами из git»)
- Составление персонального плана развития (PDP) на квартал
- Ментор готовит план роста для подопечного
- Вопрос «что мне нужно, чтобы стать senior/staff» → gap-анализ по карьерной лестнице
- Ретро по собственной продуктивности: анализ commit-паттернов за период
Роутинг: тип запроса → workflow
| Запрос звучит как |
Workflow |
Входы |
| «оцени навыки», «где пробелы», «skills matrix» |
A. Self-assessment |
Роль, стек, целевая роль; ответы на вопросы матрицы |
| «проанализируй мой вклад», «что говорит мой git» |
B. Git-анализ |
Путь к репо(ям), имя/email автора, период |
| «план развития», «PDP на квартал» |
C. PDP |
Результат A (и B, если есть репо), целевая роль, часы/нед |
| «готов ли я к senior», «чего не хватает до L4» |
D. Career-ladder gap |
Текущий грейд, целевой грейд, примеры работы |
| «performance review», «подготовь самооценку для ревью» |
B + D → саммари |
Git-репо + грейд-требования компании (или дефолтная лестница) |
Запрос комбинированный («оцени и составь план») → A → B (если есть код) → C.
Процедура
Workflow A: Self-assessment (матрица навыков)
- Собери входы: текущая роль, годы опыта, основной стек, целевая роль/грейд. Если не даны — задай 3-4 вопроса одним сообщением, не растягивай интервью.
- Построй матрицу под стек (не копируй дефолтный список): 4 блока — Languages / Frameworks / Infrastructure / Practices, только релевантные пользователю технологии + 1-2 из целевой роли. Шкала 1-5 (см.
references/templates.md).
- Проставь оценки: попроси пользователя оценить себя, либо — если дан доступ к его коду/git — предложи свою оценку с обоснованием («в коммитах нет тестов → TDD ≤ 2»).
- Посчитай gap (Target − Current) и отсортируй: топ-3 разрыва = кандидаты в цели PDP.
- Проверь по чек-листу (внизу) и отдай артефакт «Матрица навыков + топ-3 gap».
Workflow B: Git-анализ вклада
- Собери входы: путь к репо (или несколько), автор (
git log --author), период (--since). Уточни цель анализа — performance review или самопознание (влияет на тон выводов).
- Прогони анализ скриптами из
references/git-analytics.md: распределение коммитов по типам (feat/fix/refactor/test/docs), по времени, complexity-тренд (radon для Python), паттерны ревью если доступны PR-данные.
- Интерпретируй, а не пересказывай цифры: 70% fix и 0% test → сигнал «пожарный режим, нет профилактики»; коммиты только в один модуль → узкая зона владения. Каждому паттерну — вывод для роста.
- Собери артефакт «Git-профиль разработчика» (таблица метрик + 3-5 инсайтов + рекомендации). LOC ≠ продуктивность — не строй выводы на объёме строк.
Workflow C: Персональный план развития (PDP)
- Возьми на вход топ-3 gap из Workflow A (если A не делали — сначала выполни его быстро) + ограничение по времени (часов/неделю) + горизонт (обычно квартал).
- На каждый gap сформулируй SMART-цель: текущее состояние → целевое состояние → измеримый критерий («провёл 5 код-ревью с фидбеком», не «стал лучше в ревью»).
- Подбери действия трёх типов на каждую цель: практика в рабочих задачах (главное), учебный ресурс (курс/книга — публичные, конкретные), «learning in public» (доклад/статья/OSS).
- Разложи по неделям: milestones на неделях 4/8/12, чекпоинты (еженедельная саморефлексия, ежемесячный прогресс-обзор).
- Стресс-тест реалистичности: суммарная нагрузка ≤ заявленных часов/неделю; если больше — режь цели до 2, не ужимай сроки.
- Отдай артефакт PDP по шаблону из «Выход».
Workflow D: Career-ladder gap-анализ
- Определи лестницу: если у компании пользователя есть своя — попроси её; иначе используй дефолтную IC-лестницу L1-L5 из
references/templates.md.
- Пройди по критериям целевого грейда: для каждого пункта — статус ✅ (есть подтверждение примером) / 🟡 (частично) / ❌ (нет). Требуй конкретный пример работы на каждый ✅, без примера — максимум 🟡.
- Сведи в таблицу готовности с % закрытых критериев и списком ❌/🟡 как приоритетами.
- Дальше по желанию → Workflow C для закрытия пробелов.
Выход
Основной артефакт зависит от workflow. Скелет PDP (Workflow C, самый частый финальный артефакт):
# План развития: [Имя]
**Период:** [Q_ 20__] · **Роль:** [текущая] → **Цель:** [целевая] · **Бюджет времени:** [X ч/нед]
## Топ-3 gap (из матрицы навыков)
| # | Навык | Сейчас | Цель | Почему важно для целевой роли |
|---|-------|--------|------|-------------------------------|
| 1 | [System Design] | 2 | 4 | [решения на уровне сервиса ждут от senior] |
## Цели (SMART)
### Цель 1: [System Design 2→4]
- Текущее: [проектирует в рамках задачи, не сервиса]
- Целевое: [ведёт дизайн фичи end-to-end с design doc]
- Действия: ① [взять дизайн следующей фичи + design doc] ② [книга/курс: конкретное название] ③ [разбор одного публичного system design в блог/команде]
- Критерий успеха: [2 принятых design doc за квартал]
## План по неделям
| Недели | Фокус | Milestone |
|--------|-------|-----------|
| 1-4 | [цель 1: теория + первый design doc] | [ ] design doc №1 на ревью |
| 5-8 | [цель 2 + продолжение 1] | [ ] ... |
| 9-12 | [цель 3 + закрепление] | [ ] ... |
## Чекпоинты
- Еженедельно: саморефлексия (что узнал / где застрял)
- Ежемесячно: обзор прогресса, корректировка
Артефакты остальных workflow: A — таблица «Skill | Current | Target | Gap» по 4 блокам + топ-3 gap; B — «Git-профиль» (метрики + инсайты + рекомендации); D — таблица готовности к грейду (критерий | статус | пример). Полные шаблоны — references/templates.md.
Пример
Вход: «Я мидл-питонист, 3 года, хочу к senior. Оцени и дай план, есть ~4 часа в неделю. Репо не покажу.»
Ход: Workflow A (без B — репо нет) → C.
Артефакт (сокращённо):
## Матрица (фрагмент)
| Skill | Current | Target | Gap |
|-------|---------|--------|-----|
| Python | 3 | 4 | 1 |
| System Design | 2 | 4 | 2 ← топ-gap
| Code Review | 2 | 4 | 2 ← топ-gap
| Тесты/TDD | 2 | 3 | 1 ← топ-gap
| Docker/CI | 3 | 3 | 0 |
# План развития: [Разработчик] · Q_ · Mid → Senior · 4 ч/нед
### Цель 1: System Design 2→4
- Действия: дизайн следующей фичи с design doc; «Designing Data-Intensive Applications» гл. 1-4; разбор дизайна в команде
- Критерий: 2 принятых design doc
### Цель 2: Code Review 2→4
- Действия: брать ≥2 PR коллег/нед на ревью; чек-лист ревью команды выучить и дополнить
- Критерий: 20 содержательных ревью за квартал, фидбек от тимлида
### Цель 3: TDD 2→3
- Критерий: новые фичи квартала покрыты тестами до мержа
| 1-4 | DDIA гл.1-2 + первый design doc | [ ] doc №1 |
| 5-8 | ревью-практика + doc №2 | [ ] 10 ревью |
| 9-12 | закрепление, самооценка заново | [ ] матрица v2 |
«Done» = пользователь получил заполненную матрицу + PDP, влезающий в его 4 ч/нед, с измеримыми критериями.
Чек-лист (перед выдачей)
References
references/templates.md — полные шаблоны: матрица навыков, productivity dashboard, полный PDP, IC-лестница L1-L5, шаблон 1:1
references/git-analytics.md — Python-скрипты: анализ коммитов, complexity-тренды (radon), паттерны код-ревью
1---2name: developer-growth3description: Оценка и рост разработчика: skills matrix, анализ git-вклада, PDP, gap до senior. Триггеры: «оцени мои навыки», «план развития».4---56# Developer Growth — оценка навыков и план развития78## Когда использовать910- Разработчик хочет самооценку: «где я сейчас, где пробелы»11- Подготовка к performance review / грейд-комитету («докажи фактами из git»)12- Составление персонального плана развития (PDP) на квартал13- Ментор готовит план роста для подопечного14- Вопрос «что мне нужно, чтобы стать senior/staff» → gap-анализ по карьерной лестнице15- Ретро по собственной продуктивности: анализ commit-паттернов за период1617## Роутинг: тип запроса → workflow1819| Запрос звучит как | Workflow | Входы |20|---|---|---|21| «оцени навыки», «где пробелы», «skills matrix» | **A. Self-assessment** | Роль, стек, целевая роль; ответы на вопросы матрицы |22| «проанализируй мой вклад», «что говорит мой git» | **B. Git-анализ** | Путь к репо(ям), имя/email автора, период |23| «план развития», «PDP на квартал» | **C. PDP** | Результат A (и B, если есть репо), целевая роль, часы/нед |24| «готов ли я к senior», «чего не хватает до L4» | **D. Career-ladder gap** | Текущий грейд, целевой грейд, примеры работы |25| «performance review», «подготовь самооценку для ревью» | **B + D** → саммари | Git-репо + грейд-требования компании (или дефолтная лестница) |2627Запрос комбинированный («оцени и составь план») → A → B (если есть код) → C.2829## Процедура3031### Workflow A: Self-assessment (матрица навыков)32331. **Собери входы**: текущая роль, годы опыта, основной стек, целевая роль/грейд. Если не даны — задай 3-4 вопроса одним сообщением, не растягивай интервью.342. **Построй матрицу под стек** (не копируй дефолтный список): 4 блока — Languages / Frameworks / Infrastructure / Practices, только релевантные пользователю технологии + 1-2 из целевой роли. Шкала 1-5 (см. `references/templates.md`).353. **Проставь оценки**: попроси пользователя оценить себя, либо — если дан доступ к его коду/git — предложи свою оценку с обоснованием («в коммитах нет тестов → TDD ≤ 2»).364. **Посчитай gap** (Target − Current) и отсортируй: топ-3 разрыва = кандидаты в цели PDP.375. **Проверь по чек-листу** (внизу) и отдай артефакт «Матрица навыков + топ-3 gap».3839### Workflow B: Git-анализ вклада40411. **Собери входы**: путь к репо (или несколько), автор (`git log --author`), период (`--since`). Уточни цель анализа — performance review или самопознание (влияет на тон выводов).422. **Прогони анализ** скриптами из `references/git-analytics.md`: распределение коммитов по типам (feat/fix/refactor/test/docs), по времени, complexity-тренд (radon для Python), паттерны ревью если доступны PR-данные.433. **Интерпретируй, а не пересказывай цифры**: 70% fix и 0% test → сигнал «пожарный режим, нет профилактики»; коммиты только в один модуль → узкая зона владения. Каждому паттерну — вывод для роста.444. **Собери артефакт** «Git-профиль разработчика» (таблица метрик + 3-5 инсайтов + рекомендации). LOC ≠ продуктивность — не строй выводы на объёме строк.4546### Workflow C: Персональный план развития (PDP)47481. **Возьми на вход** топ-3 gap из Workflow A (если A не делали — сначала выполни его быстро) + ограничение по времени (часов/неделю) + горизонт (обычно квартал).492. **На каждый gap сформулируй SMART-цель**: текущее состояние → целевое состояние → измеримый критерий («провёл 5 код-ревью с фидбеком», не «стал лучше в ревью»).503. **Подбери действия трёх типов** на каждую цель: практика в рабочих задачах (главное), учебный ресурс (курс/книга — публичные, конкретные), «learning in public» (доклад/статья/OSS).514. **Разложи по неделям**: milestones на неделях 4/8/12, чекпоинты (еженедельная саморефлексия, ежемесячный прогресс-обзор).525. **Стресс-тест реалистичности**: суммарная нагрузка ≤ заявленных часов/неделю; если больше — режь цели до 2, не ужимай сроки.536. **Отдай артефакт PDP** по шаблону из «Выход».5455### Workflow D: Career-ladder gap-анализ56571. **Определи лестницу**: если у компании пользователя есть своя — попроси её; иначе используй дефолтную IC-лестницу L1-L5 из `references/templates.md`.582. **Пройди по критериям целевого грейда**: для каждого пункта — статус ✅ (есть подтверждение примером) / 🟡 (частично) / ❌ (нет). Требуй конкретный пример работы на каждый ✅, без примера — максимум 🟡.593. **Сведи в таблицу готовности** с % закрытых критериев и списком ❌/🟡 как приоритетами.604. **Дальше по желанию** → Workflow C для закрытия пробелов.6162## Выход6364Основной артефакт зависит от workflow. Скелет PDP (Workflow C, самый частый финальный артефакт):6566```markdown67# План развития: [Имя]68**Период:** [Q_ 20__] · **Роль:** [текущая] → **Цель:** [целевая] · **Бюджет времени:** [X ч/нед]6970## Топ-3 gap (из матрицы навыков)71| # | Навык | Сейчас | Цель | Почему важно для целевой роли |72|---|-------|--------|------|-------------------------------|73| 1 | [System Design] | 2 | 4 | [решения на уровне сервиса ждут от senior] |7475## Цели (SMART)76### Цель 1: [System Design 2→4]77- Текущее: [проектирует в рамках задачи, не сервиса]78- Целевое: [ведёт дизайн фичи end-to-end с design doc]79- Действия: ① [взять дизайн следующей фичи + design doc] ② [книга/курс: конкретное название] ③ [разбор одного публичного system design в блог/команде]80- Критерий успеха: [2 принятых design doc за квартал]8182## План по неделям83| Недели | Фокус | Milestone |84|--------|-------|-----------|85| 1-4 | [цель 1: теория + первый design doc] | [ ] design doc №1 на ревью |86| 5-8 | [цель 2 + продолжение 1] | [ ] ... |87| 9-12 | [цель 3 + закрепление] | [ ] ... |8889## Чекпоинты90- Еженедельно: саморефлексия (что узнал / где застрял)91- Ежемесячно: обзор прогресса, корректировка92```9394Артефакты остальных workflow: **A** — таблица «Skill | Current | Target | Gap» по 4 блокам + топ-3 gap; **B** — «Git-профиль» (метрики + инсайты + рекомендации); **D** — таблица готовности к грейду (критерий | статус | пример). Полные шаблоны — `references/templates.md`.9596## Пример9798**Вход:** «Я мидл-питонист, 3 года, хочу к senior. Оцени и дай план, есть ~4 часа в неделю. Репо не покажу.»99100**Ход:** Workflow A (без B — репо нет) → C.101102**Артефакт (сокращённо):**103104```markdown105## Матрица (фрагмент)106| Skill | Current | Target | Gap |107|-------|---------|--------|-----|108| Python | 3 | 4 | 1 |109| System Design | 2 | 4 | 2 ← топ-gap110| Code Review | 2 | 4 | 2 ← топ-gap111| Тесты/TDD | 2 | 3 | 1 ← топ-gap112| Docker/CI | 3 | 3 | 0 |113114# План развития: [Разработчик] · Q_ · Mid → Senior · 4 ч/нед115### Цель 1: System Design 2→4116- Действия: дизайн следующей фичи с design doc; «Designing Data-Intensive Applications» гл. 1-4; разбор дизайна в команде117- Критерий: 2 принятых design doc118### Цель 2: Code Review 2→4119- Действия: брать ≥2 PR коллег/нед на ревью; чек-лист ревью команды выучить и дополнить120- Критерий: 20 содержательных ревью за квартал, фидбек от тимлида121### Цель 3: TDD 2→3122- Критерий: новые фичи квартала покрыты тестами до мержа123| 1-4 | DDIA гл.1-2 + первый design doc | [ ] doc №1 |124| 5-8 | ревью-практика + doc №2 | [ ] 10 ревью |125| 9-12 | закрепление, самооценка заново | [ ] матрица v2 |126```127128«Done» = пользователь получил заполненную матрицу + PDP, влезающий в его 4 ч/нед, с измеримыми критериями.129130## Чек-лист (перед выдачей)131132- [ ] Матрица построена под реальный стек пользователя, а не дефолтный список технологий133- [ ] Каждая оценка ≥4 или спорная — с обоснованием/примером, не «на глаз»134- [ ] Целей в PDP ≤3, каждая SMART (измеримый критерий, не «стать лучше»)135- [ ] Суммарная нагрузка плана влезает в заявленные часы/неделю136- [ ] Git-выводы — про паттерны и рост, не про LOC; нет выводов из объёма строк137- [ ] В gap-анализе грейда каждый ✅ подтверждён конкретным примером работы138- [ ] Ресурсы в плане — конкретные публичные книги/курсы, не «почитай про X»139140## References141142- `references/templates.md` — полные шаблоны: матрица навыков, productivity dashboard, полный PDP, IC-лестница L1-L5, шаблон 1:1143- `references/git-analytics.md` — Python-скрипты: анализ коммитов, complexity-тренды (radon), паттерны код-ревью