Все мы знаем стандартную лестницу: Junior, Middle, Senior. Но где на самом деле проходит граница? Почему в одном стартапе «сеньор» — это тот, кто вчера узнал про LINQ, а в кровавом энтерпрайзе от «мидла» требуют проектировать распределенные системы под нагрузкой в миллион RPS?

Я задалась вопросом оценки собственного грейда, когда уходила со своего первого места работы. Кто я для рынка? Почему мои знания на собесе в одной компании соответствуют чуть ли не уровню Senior, а в другой – покрывают максимум вакансию Junior’a?

На самом деле проблема не нова – каждая компания вынуждена формировать собственную систему грейдов, а вакансии чаще всего содержат требования, собранные по принципу «чем больше, тем лучше». В таких условиях оценить собственный уровень становится задачей со звездочкой.

Я решила отойти от субъективности и спросить у самого рынка. В этой статье — результаты анализа 700+ актуальных вакансий, графы связности навыков и ответ на вопрос: в какой момент количество выученных библиотек наконец-то превращается в качество инженера.

Как человечество пыталось измерить программиста

Для начала давайте посмотрим, как программистов пытались классифицировать раньше.

·        1960-70-е: Эпоха перфокарт и замеров

В те времена «хорошим» считался тот, кто писал код быстро и без синтаксических ошибок. Исследование Сэкмана и Ко (1968) выявило пугающий факт: разница в продуктивности между разрабами одного уровня может достигать 1:28. Представьте: пока один делает таску месяц, другой закрывает её до обеда. И  как это контролировать?

·        1980-е: Переход к психологии.

Исследователи Шеил и Кертис призвали перестать считать строки кода и начать изучать ментальные модели. Оказалось, что важно не то, сколько кнопок ты нажал, а как работает твоя память и внимание.

·        1985: Модель братьев Дрейфус.

Это база. Пять ступеней: от «Новичка», который боится отойти от инструкции, до «Эксперта», который пишет код на интуиции. Именно тогда Уинслоу (1996) подсчитал, что путь до эксперта занимает в среднем 10 лет.

·        1998: Мейлир Пейдж-Джонс и «Семь этапов мастерства».

Он адаптировал идеи Дрейфусов специально под наш ИТ-мир. Его главная находка — «Долина отчаяния». Это тот самый момент, когда ты переходишь со стадии «Осведомленного» в «Подмастерья», начинаешь применять новые паттерны, всё ломается, продуктивность падает ниже плинтуса, и ты хочешь уйти в лесники.

·        Наши дни: Эпоха ДНК программиста.

Современные исследования (Microsoft, 2019; Assyne et al., 2022) выделяют до 49 уникальных компетенций. Причем софт-скиллов в «ДНК программиста» теперь больше, чем хардов (31 против 18). Senior сегодня — это не тот, кто знает весь синтаксис, а тот, кто «создает общий контекст» и принимает решения, которые не разорят компанию через год.

Теория — это прекрасно. Но насколько эти модели соответствуют тому, что хотят от нас HR’ы? Давайте проверять.

Кухня данных: как мы «добывали» реальность

Чтобы получить объективную картину, я собрала данные из Telegram-каналов, Habr Career, GetMatch и HH.ru. Исходно было 1800 записей, но после очистки от дублей и «заблудившихся» вакансий (где C# лишь дополнение к другому языку) осталось 721 уникальная вакансия.

Стек исследования:

  • Парсинг: Playwright и Telethon.

  • Разметка данных: Локальная LLM Saiga Llama 3 8B. Она вытаскивала из сырого текста JSON-ы с годами опыта и списком технологий. Без неё я бы размечала этот датасет до следующего года.

  • Анализ: Python (Pandas, Scikit-learn для кластеризации и NetworkX для графов).

Интересные факты, выявленные в процессе исследования

Факт №1. Парадокс стажера: от новичков требуют невозможного

Посмотрите на левую часть графика (0 лет опыта). Требования к «нулевым» кандидатам стартуют с аномально высокой точки — медиана в 9 технологий. Это больше, чем требуют от джунов с годовым опытом!

Почему так? Это визуализация «рыночного маркетинга» или «wishlist-а рекрутера». В вакансии Intern/Junior вписывают всё подряд — от SQL до Microservices — просто чтобы отсеять тех, кто боится сложных слов. Типичный стажер .NET в 2026 году должен знать Kubernetes, квантовую физику и уметь варить кофе из зерен, собранных лично Биллом Гейтсом. Зарплата при этом — печеньки и «огромный опыт».

Факт №2. «Парадокс мидла»: 3-й год карьеры — самый тяжелый

Линия регрессии показывает: требования к «ширине» стека интенсивно растут до 3–4 лет, а потом выходят на плато.

Вакансии уровня Middle содержат на 40% больше уникальных инструментов, чем любые другие. На 3-м году вы — «швейцарский нож», который должен уметь и в БД, и в Docker, и в пайплайны, и в пару фронтенд-фреймворков. Если вы чувствуете выгорание на этом этапе — знайте, это математический пик нагрузки на ваш мозг.

Факт №3. Магическая дата «4.8 года»: момент архитектурного взрыва

Я разделила все навыки на три слоя: База (C#), Инструменты (Docker/EF) и Архитектура (K8s/Kafka/DDD).

Что удалось обнаружить: на отметке 4.8 года происходит «квалификационная бифуркация». До этого момента вы «пишете код», а после — вероятность того, что от вас потребуют «проектировать системы», догоняет вероятность того, что вы будете просто кодить на C#. В 5 лет архитектура становится для вас таким же обязательным стандартом, как знание синтаксиса if/else.

Кроме того, этот график позволяет визуализировать математически определенные границы грейдов. Граница JUNIOR / MIDDLE - это точка, где суммарная вероятность дополнительных навыков становится равной вероятности базовых навыков (1.0). Математически это означает, что начиная с этого момента, требования к «окружению» кода становятся весомее, чем требования к самому синтаксису языка. Граница MIDDLE / SENIOR – это точка максимальной «толщины» архитектурного слоя. Здесь вероятность запроса на архитектурные компетенции (P≈0.9) становится практически равнозначной вероятности запроса на базовое знание языка (P≈1.0).

Факт №4. Junior и Senior живут в разных топологических мирах

Сравнение графов связности показало:

У Junior знания — это «синкретичный клубок». Всё связано со всем, каша в голове (всё из-за того, что приходится заучивать wishlist-ы рекрутеров).

У Senior — жесткая иерархия вокруг «центров силы» (Kafka, Microservices).

Сеньор отличается умением отсекать лишнее. Грейд — это коэффициент порядка в вашей голове. Чем выше уровень, тем меньше в вашем графе знаний случайных «висячих» инструментов.

Факт №5. Ландшафт компетенций: куда исчезает HTML?

На этой тепловой карте видна «диагональ созревания». К 5–7 годам из вакансий практически исчезают требования к HTML, CSS и jQuery. Почему? Рынок считает их «неявными знаниями». Если Senior пишет в резюме, что знает HTML — это как если бы пилот хвастался, что умеет открывать дверь в самолет. Это подразумевается по умолчанию, и писать об этом — только место тратить. Аналогично и с базовыми навыками – linq, ef core и тп.

Главный итог: Грейд — это не стаж, а топология знаний

Проанализировав 700+ вакансий вдоль и поперек, я пришла к выводу, который можно считать основным результатом исследования:

Профессиональная эволюция .NET-разработчика — это не линейный рост знаний, а процесс «кристаллизации» иерархии.

  • Количество не переходит в качество автоматически. После 5 лет стажа количество новых библиотек в вакансиях перестает расти. Рынок понимает: бесполезно требовать от сеньора знания «еще десяти фреймворков».

  • Архитектурный взрыв на отметке 4.8 года. Это точка «квалификационной бифуркации». До неё вы — исполнитель (накапливаете инструменты). После неё — вы проектировщик (выстраиваете связи). В 5 лет стажа паттерны DDD и Microservices становятся для вас таким же «базисом», как ключевое слово public для джуна.

  • Грейд — это коэффициент порядка в вашей голове. Графы связности доказали: у Senior-разработчика знания не «свалены в кучу» (как у Junior), а жестко структурированы вокруг архитектурных хабов. Сеньор знает не «больше слов», он понимает связи между ними на системном уровне.

Вердикт: Грейд — это ваша способность управлять сложностью, а не стаж в трудовой книжке.

Комментарии (17)


  1. maratxat
    17.01.2026 07:40

    исследование топ
    читая про грейды все чаще встречаешь субъективное мнение людей, поэтому приятно увидеть что то приближенное к объективности


  1. Akon32
    17.01.2026 07:40

    Любопытное исследование, спасибо за статью.

    Вердикт: Грейд — это ваша способность управлять сложностью, а не стаж в трудовой книжке.

    Осталось понять, как проверить эту способность на этапе чтения резюме. Мне всегда казалось, что это должно неплохо коррелировать со стажем.


  1. Lewigh
    17.01.2026 07:40

    Вердикт: Грейд — это ваша способность управлять сложностью, а не стаж в трудовой книжке.

    Грейд - это ваша способность зарабатывать деньги.

    Можно долго пытаться убеждать себя что в грейдах есть какой то смысл, корреляция с опытом, управлением какой-то сложностью и прочее. Но на деле грейд - это не более чем навык подстраиваться под хотелки конкретной компании, такие как: умение хорошо собеседоваться, умение дружить с руководством и иметь своих людей на правильных позициях, умение подстраиваться под внутренние требования, какими бы абсурдными они не были, для того чтобы получать больше денег.

    Да хотелось бы чтобы корреляция с опытом была но нет в современных компаниях этого нет уже давно.


    1. Dozorova_Alyona Автор
      17.01.2026 07:40

      У многих компаний есть свои карты компетенций, где расписано на какой грейд какие технологии нужны. К сожалению, эти карты от компании к компании сильно отличаются, как и предлагаемая зп. Так или иначе нужен инструмент, который бы усреднял требования и давал представление о ситуации.


      1. Lewigh
        17.01.2026 07:40

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

        Потому что все это субъективщина.

        Так или иначе нужен инструмент, который бы усреднял требования и давал представление о ситуации.

        Вопрос в том кому нужен? Работодателям очевидно не нужен так как никто в этом направлении как не чесался так и не чешется особо.

        Ну окей, нужен инструмент, как будем строить систему грейдов? По "стандартной лестнице: Junior, Middle, Senior" ? Ну ок, джун - тот кто еще не самостоятельный а мид тот кто уже самостоятельный а сеньор это вообще кто? Абстрактный опытный разработчик? Ну ок. А мид который еще не сеньор но уже не простой рядовой разработчик это кто? Сеньор с 5 годами опыта и с 10 годами это одни и тот же грейд или нужно делить еще на 3-5 подгрейдов? Итого получим 6-10 грейдов. Дальше выясняется что обычно с уровня условного сеньора идет специализация, когда одни хорошо разбирается в БД, другой в DevOps, третий в многопоточности, четвертый проектирует неплохо а пятый просто решала. Как эти критерии рассчитывать, делать сетку навыков под каждую возможную специализацию? А как оценивать пересечение специализаций когда человек несколько специальностей знает? А как оценить специалиста с хорошей базой и гибким мышлением, который по новой технологии доки за вечер прочитает и на коленке сделает? Ну и наконец, будут ли оцениваться навыки вызывающие споры? Ну например, у кого-то есть навыки в продвинутом ООП, DDD SOLID, чистых архитектурах и прочем а кто-то считает это бесполезным и даже вредным. Есть еще функциональное программирования. Как такое оценивать, чтобы привести всех к общему знаменателю? Кто-то гордится что он чистый код пишет а кто-то пишет эффективный. Как быть?


  1. WhiteBehemoth
    17.01.2026 07:40

    Рынок считает их «неявными знаниями». Если Senior пишет в резюме, что знает HTML — это как если бы пилот хвастался, что умеет открывать дверь в самолет. Это подразумевается по умолчанию, и писать об этом — только место тратить. Аналогично и с базовыми навыками – linq, ef core и тп.

    Можно я немного не соглашусь? Во-первых, чем ниже грейд - тем шире спектр задач. А во-вторых, ."Знать HTML/linq/что угодно" можно совершено по разному. От сеньёра обычно никто не ждёт работы с примитивным HTML. Поэтому и не пишут. Но если нужно глубокое понимание технологии, она будет указана.


    1. Dozorova_Alyona Автор
      17.01.2026 07:40

      На самому деле зависит от работодателя. Кто-то говорит о том, что нужно глубокое понимание технологии, например. А кто-то ждёт, что Джун должен иметь желание копаться под капотом, но не указывает это в вакансии, видела на практике. Поэтому чаще всего можно увидеть вакансию без базовых каких-то навыков, которые подразумеваются в голове


  1. WhiteBehemoth
    17.01.2026 07:40

    Факт №1. Парадокс стажера: от новичков требуют невозможного

    Почему так? Это визуализация «рыночного маркетинга» или «wishlist-а рекрутера». В вакансии Intern/Junior вписывают всё подряд — от SQL до Microservices — просто чтобы отсеять тех, кто боится сложных слов. Типичный стажер .NET в 2026 году должен знать Kubernetes, квантовую физику и уметь варить кофе из зерен, собранных лично Биллом Гейтсом. Зарплата при этом — печеньки и «огромный опыт».

    В нашей компании (Квебек, Канада) традиционно есть бюджет на стажёров. Когда мы публикуем вакансию на стаж, там указано всё, с чем стажёр может столкнуться. Вот студент пришёл и я ему предлагаю несколько вариантов, где он может поработать. Объясняю перспективы и ценность для команды.

    В итоге, (на примере прошлого года), парень за три месяца практики поработал и с юнит тестами (всё руки не доходили оптимизировать их). И с реализацией несложной бизнес-логики (следуя похожим примерам из кода) и в деплоймент (azure devops, yaml, bisep, gitops) окунулся. На второй стаж позвали его же, но уже в команду embedded программирования. Там вообще .NET нету.


    1. verls
      17.01.2026 07:40

      но уже в команду embedded программирования. Там вообще .NET нету.

      У меня ностальжи по .NET Compact Framework :)


    1. Dozorova_Alyona Автор
      17.01.2026 07:40

      Есть небольшая разница между тем, с чем можно столкнуться и с тем, что требуется. Одно дело, когда в проекте используется технология, которую можно изучить на практике, и совсем другое, когда стоит понимать какую-то технологию и уметь работать с ней


      1. WhiteBehemoth
        17.01.2026 07:40

        Уметь работать с чем-то? От стажёра никто не ждёт практических познаний. Главное - интерес к профессии и желание учиться.


  1. verls
    17.01.2026 07:40

    При большом количестве лет можно столкнуться не с сеньорством, а со старческим слабоумием... Поэтому всё же в качестве критериев можно использовать:

    • знания архитектуры, проектирование системы (отход от кода)

    • умение общаться с заказчиками используя термины из их домена

    • умение залезть под капот используемой технологии,

    • умение учить юных подаванов


    1. Dozorova_Alyona Автор
      17.01.2026 07:40

      Как нас учат в вузе, разработчик не должен контактировать с заказчиком, это задача аналитика, который формирует тех задание и требования к продукту. Но ситуация диктует свои условия


      1. verls
        17.01.2026 07:40

        В вузе учат теории. То есть теоритически да, должно быть разделение в идеальном случае. Но тогда на выходе будет идеальный код в вакууме, который на практике не факт, что будет работать. Помню на одной из бывших работ, всех тимлидов вывезли за границу и показывали как работает оборудование и весь бизнес процесс от А до Я. Важно отметить, что тут от доменной области многое зависит.

        Мой поинт был в том, что важен язык и понимание (особенно для международной среды). А то из-за разности культур и различного опыта можно промахнуться серьезным образом. И в целом софтскилы, умение работать команде это тоже обязательные навыки для сеньора.


      1. Akon32
        17.01.2026 07:40

        разработчик не должен контактировать с заказчиком, это задача аналитика, который формирует тех задание и требования к продукту.

        Зависит от сферы, наукоёмкости разработки и раздутости штата... Для "типовой автоматизации" - возможно, для разработки "видеокодека" - вряд ли.

        А где "такому" учат? В моё время на этом не заостряли внимания.


  1. WhiteBehemoth
    17.01.2026 07:40

    Стало любопытно проверить теорию из статьи на нашей компании. Компания большая, всегда где-нить кто-нить требуется. Вот например в один офис ищут и сеньёра и мидла и джуна. (называются вакансии чуть иначе, у нас лычки дают легко, часто авансом). Но сильного топологического разлёта не увидел.


  1. Femistoklov
    17.01.2026 07:40

    Плюс. Надо такое же по другим распространённым специализациям.