Грейды, Роли, Скиллы
В профессиональной среде разработки программного обеспечения широко используются уровни и тайтлы, применяемые для описания опыта, ответственности и роли специалистов. Несмотря на их повсеместное распространение, интерпретация этих терминов существенно варьируется между компаниями, рынками и инженерными культурами.
На практике чаще всего используется упрощённая классификация по уровням junior, middle и senior. Эти обозначения служат удобной моделью для коммуникации и найма, однако нередко применяются без явной привязки к конкретному объёму ответственности, автономности и системной сложности, что приводит к размыванию их исходного смысла.
Эта заметка рассматривает происхождение и назначение инженерных уровней, а также анализирует их применение в контексте различных организационных и технических сред.

По опыту
Junior
- От (лат. iūnior) — младший, начинающий
- Опыт: 0 лет
- Основная идея: обучение работе без нанесения ущерба системе.
- Реализует чётко сформулированные задачи
- Исправляет баги под руководством
- Следует существующим паттернам
- Задаёт много вопросов
- Требуется плотный контроль
- Ограниченное понимание системы
- Результат хрупкий и локальный
- Радиус влияния: на себя / небольшая часть функциональности
- Может случайно что-то сломать
- Высокая скорость обучения, низкая надёжность
Middle
- От (др.-англ. middel, герм. midjaz) — между крайними
- Опыт: 2-5 лет
- Ключевая идея: надёжное исполнение.
- Доводит фичи от начала до конца
- Отлаживает нетривиальные проблемы
- Принимает ограниченные проектные решения
- В основном работает самостоятельно
- Понимает свою часть системы
- Нуждается в помощи при сложных компромиссах
- Предсказуемый результат
- Радиус влияния: фича / компонент
- В целом безопасен
- Слабо учитывает долгосрочные последствия
Senior
- От (лат. senior) — старший, более опытный
- Опыт: 5+ лет
- Ключевая идея: владение системами, а не задачами.
- Проектирует подсистемы
- Предугадывает проблемы до их возникновения
- Ревьюит и улучшает работу других
- Осознанно принимает компромиссы
- Высокая автономность
- Сильные навыки отладки и суждения
- Менторит junior и middle
- Думает в терминах отказов и граничных случаев
- Радиус влияния: система / команда
- Senior — первый уровень, где качество суждений важнее объёма выполненной работы.
Суть временной категории
| Название | Суть | Цена* | Сроки* | Качество* |
|---|---|---|---|---|
| Junior | Осваивают | дёшево | долго | низкое |
| Middle | Исполняют | дёшево / средне | средне / долго | низкое / среднее |
| Senior | Решают | дёшево / средне / дорого | долго / средне / быстро | низкое / среднее / высокое |
Это основная категория, определяющая стоимость и риск, поэтому она почти всегда присутствует в вакансиях.
К этой категории существуют расширения.
Staff
- Ключевая идея: масштабирование инженерии через влияние.
- Проектирует системы между командами
- Задаёт техническое направление для нескольких команд
- Разрешает архитектурные конфликты
- Выполняет роль технического «клея»
- Нет прямой власти
- Влияние через доверие и экспертизу
- Горизонт мышления — годы, а не спринты
- Пишет меньше кода, но код имеет высокий вес
- Радиус влияния: несколько команд / домен
- Это не “senior+” Это другая работа
- Оценка не строится вокруг объёма кода
Principal
- Ключевая идея: техническая ответственность на уровне организации.
- Определяет архитектуру крупных частей организации
- Устанавливает инженерные стандарты
- Оценивает крупные технические ставки
- Предотвращает системные сбои масштаба компании
- Исключительно сильное суждение
- Глубокая и широкая экспертиза
- Доверенный советник руководства
- Радиус влияния: организация
- Значительная часть работы Principal заключается в предотвращении плохих решений.
Distinguished (иногда Fellow)
- Fellow — обозначение признанного статуса внутри профессионального сообщества.
- Ключевая идея: долгосрочное техническое видение.
- Формирует направление компании или индустрии
- Определяет фундаментальные принципы
- Решает задачи, недоступные другим уровням
- Представляет инженерию на высшем уровне
- Редкость (один на сотни или тысячи инженеров)
- Авторитет без формальной иерархии
- Создаёт новые области и направления
- Радиус влияния: компания / экосистема
Summary
| Уровень | Основной фокус | Радиус влияния | Ключевой навык |
|---|---|---|---|
| Junior | Обучение | Сам | Усвоение |
| Middle | Исполнение | Функциональность | Надёжность |
| Senior | Системы | Команда | Суждение |
| Staff | Согласование | Несколько команд | Влияние |
| Principal | Направление | Организация | Качество решений |
| Distinguished | Видение | Компания / индустрия | Предвидение |
Middle как формальный уровень почти не используется в США. Он характерен для Европы и постсоветского пространства и служит промежуточной категорией между начинающим и опытным специалистом, снижая давление преждевременного “повышения до senior”.
По типу участия
Роли также делятся по типу вклада:
- IC (Individual Contributor)
- Management
IC — вносит индивидуальный вклад. Management — управляет людьми.
Это разделение появилось ещё в ранних Intel и IBM как следствие понимания того, что принуждение инженеров к управлению людьми снижает качество их основной работы.
Примеры IC
Engineering / Tech
-
Junior Software Engineer
-
Software Engineer
-
Senior Software Engineer
-
Staff Software Engineer
-
Principal Software Engineer
-
Distinguished Engineer / Fellow
-
Junior / Middle — фокус на решении задач
-
Senior — фокус на создании систем
-
Staff / Principal — архитектура и межкомандное взаимодействие
Architecture & Deep Expertise (всё ещё IC)
- Solution Architect
- System Architect
- Security Engineer / Architect
- Performance Engineer
- Infrastructure Engineer
- Site Reliability Engineer (SRE)
Эти роли определяют технические решения, но не управляют людьми, которые их реализуют и поддерживают.
Менеджерские роли
Эти роли оцениваются по результатам команд, релизам и состоянию организации.
Engineering Management
- Engineering Manager (EM)
- Senior Engineering Manager
- Group Engineering Manager
- Director of Engineering
- VP of Engineering
- CTO (в организациях с управленческим уклоном)
Основные обязанности:
- Найм и увольнение
- Оценка эффективности
- Планирование и приоритизация
- Формирование структуры команд
- Управление рисками
- Управление продуктом и поставкой
Product Management
- Senior Product Manager
- Group Product Manager
- Director of Product
- Chief Product Officer (CPO)
Примечание: PM не являются individual contributors (IC), несмотря на отсутствие прямого управления инженерами. Их результат — решения и выравнивание, а не артефакты.
Process and Delivery Management
- Project Manager
- Programme Manager
- Delivery Manager
- Scrum Master (когда это действительно роль, а не формальность)
People / Rersource Management (non-technical)
- People Manager
- HR Business Partner
- Talent Manager
Гибридные роли (зона риска)
Эти роли совмещают техническую и управленческую функции, часто неудачно.
- Tech Lead
- Team Lead
- Lead Engineer
- Tech Lead Manager (TLM)
- Player-Coach
Проблемы:
- Разделённые стимулы
- Конфликтующие метрики успеха
- Повышенный риск выгорания
- Плохая масштабируемость
По роли и умениям
Роли, основанные на навыках, появились тогда, когда системы стали слишком сложными для «универсальных программистов».
Они отвечают на вопрос:
- «В какой предметной области специализируется этот человек?»
И не отвечают на вопросы:
- уровень
- власть
- карьерная ступень
Пример роли и умения: Ruby Developer.
Распространённое недоразумение — Engineer и Developer.
- В ряде стран Engineer — регулируемая лицензируемая профессия с юридической ответственностью (Канада, Великобритания, часть стран ЕС).
- Там, где это не регулируется, Engineer используется либо как формальное усиление роли, либо как индикатор требований к более глубокому пониманию компьютеров и программирования по сравнению с чисто прикладной разработкой.
Заключение
Общепринятая нотация вакансий:
`%LEVEL %SKILL %ROLE` → Senior Java Developer
LEVEL → Junior / Middle / Senior / Staff / Principal
ROLE → Engineer / Architect / Developer / SRE / Data / Security
SKILLSET → Java / Linux / Databases / ML / Cryptography
Уровни используются как упрощённая модель описания инженерного опыта.
Они служат общей системой координат для рынка труда и внутренней структуры компаний.
Грейд/уровень не существует вне конкретной среды. Один и тот же уровень в разных организациях соответствует разному объёму ответственности, автономности и допустимого риска.
Без привязки к организации, инженерной культуре и сложности систем должность не отражает фактическое содержание работы и используется как социальная метка, точка отсчёта или ориентир ожиданий.
Опыт подвержен размытию меньше всего и поэтому является основной точкой отсчёта. Роль формируется внутри организации в процессе работы. Скилл используется как специализация; за карьеру обычно формируется не более двух–трёх специализаций senior-уровня.
История
Эта терминология появилась не сразу и возникла не в «IT» в том виде, в каком мы его знаем сегодня. Она является результатом слияния трёх разных исторических потоков примерно за 70 лет. Я пройду по ним хронологически, убирая мифы по дороге.
1. До-IT происхождение (1940-е–1960-е): инженерия и госслужба
До того как разработка ПО стала профессией, в инженерии уже существовали карьерные лестницы. Классическая инженерия (гражданская, электротехническая, механическая)
Роли неформально понимались так:
- Junior engineer — уровень ученика, обучение под надзором
- Engineer — самостоятельная компетентность
- Senior engineer — ответственность за системы, безопасность и решения
- Principal engineer — финальный авторитет по проектированию
Ключевой момент
- Эти титулы описывали ответственность и юридическую/профессиональную ответственность, а не «очки навыков».
“Senior” означало: ты подписываешь, ты отвечаешь.
Этот подход напрямую перешёл в ранние вычислительные системы.
2. Ранняя эпоха вычислений (1960-е–1980-е): мейнфреймы и институты
Контекст Программное обеспечение существовало внутри:
- государственных структур
- банков
- телекоммуникаций
Сильное влияние оказали военные и гражданские системы ранжирования.
Типичная структура:
- Programmer I / II / III
- Senior Programmer
- Systems Analyst
- Principal Analyst / Architect
Титулы были бюрократичными и иерархичными, но идея постепенно растущей ответственности уже существовала.
Важно
- Культуры «карьерного роста» не было
- Продвижение было медленным и привязанным к стажу
- Техническое мастерство часто вынуждало людей уходить в менеджмент
- Это породило первую крупную проблему: Отличные инженеры становились плохими менеджерами, потому что идти было больше некуда.
3. Ловушка менеджмента (1980-е–1990-е)
По мере роста роли программного обеспечения:
- организациям требовалась глубокая техническая экспертиза
но поощрялся только менеджмент Результат
- «Senior»-инженеры упирались в потолок
- Единственный путь вверх — стать менеджером
- Техническое качество страдало
Эта проблема была широко осознана в:
- Bell Labs
- IBM
- Microsoft (ранний период)
- Intel
Особенно Intel формализовал идею двойной карьерной лестницы.
4. Двойная карьерная лестница (1990-е)
Ключевой вклад Intel
Intel чётко определил:
- лестницу Individual Contributor (IC)
- лестницу менеджмента - с равным престижем и компенсацией.
Были формализованы такие роли, как:
- Senior Engineer
- Staff Engineer
- Principal Engineer
Ключевой сдвиг
- Появляется Staff как уровень между Senior и Principal.
- Staff ≠ “сеньор++”
- Staff = техническое лидерство между командами
Именно здесь начинает кристаллизоваться современная цепочка уровней.
5. Эпоха доткомов (1990-е–2000-е): инфляция титулов
Стартапы “взорвались”. Проблемы
- Нужно было быстро нанимать людей
- Титулы использовались как замена деньгам
- Не существовало единых стандартов
Результат
- “Senior” с 2 годами опыта
- “Lead”, означающий что угодно
- “Architect” без реальной власти применения архиртектурных решенийю
Крупные компании, однако, сопротивлялись этому размыванию.
6. Google и современная система уровней (2000-е–2010-е)
Google довёл карьерную лестницу до модели, ставшей глобальным эталоном.
Внутренняя система
- L3 — начальный уровень (junior)
- L4 — средний (middle)
- L5 — senior
- L6 — staff
- L7 — senior staff / principal
- L8+ — distinguished / fellow
Google явно зафиксировал две вещи:
- Senior — это терминальный уровень
- Staff+ — это про масштаб и влияние, а не про объём кода
Кстати почему уровни начинаются с третьего ? Потмоучто первые два это:
- L1 - Trainee тот кто еще учится
- L2 - Graduate тот кто только что закончился учится
За Google последовали:
- Meta
- Amazon
- Microsoft (в обновлённой форме)
- Netflix
Именно здесь Junior / Middle / Senior / Staff / Principal / Distinguished становятся де-факто глобальным словарём.