Переход из junior в middle — не про «ещё год в трудовой». Это смена режима: вам перестают разжёвывать задачу, и вы сами доводите кусок продукта до прода с понятным риском. Можно просидеть три года джуном. Можно за год начать закрывать чек-лист middle — если брать задачи чуть выше уровня и фиксировать доказательства, а не ждать, пока грейд «начислят».

Ниже — чем уровни отличаются на практике, чек-лист готовности, план на 90 дней и на полгода, какие пули в резюме читаются как middle и что делать, если внутри компании грейд застрял, а на рынке вы уже тянете другой разговор.

Коротко:

  • Junior делает понятно поставленное. Middle декомпозирует, оценивает, доводит, сообщает о риске вовремя.
  • Чек-лист — про самостоятельность, качество, отладку, ревью и контекст соседей, не про число фреймворков.
  • За 90 дней возьмите одну задачу «на размер больше» и доведите её без пошагового контроля.
  • За полгода закройте основы (данные, тесты, поставка) и две-три истории с измеримым исходом.
  • Иногда грейд фиксируют сменой компании. Сначала закройте чек-лист, потом сравнивайте middle-вакансии с junior.

Главное отличие уровней

Junior спрашивают: «понял ТЗ?». Middle спрашивают: «когда будет, что может сломаться, кого предупредить, что вырежем, если не влезет». Его кусок не должен требовать няньки на каждом шаге. Подсказка по архитектуре всей платформы — ещё норма. Подсказка «как завести ветку и написать тест» — уже нет.

Смотрите обязанности, не слово в заголовке. Часть junior-вакансий уже просит самостоятельность. Часть middle — раздута. Читайте задачи. Каталоги: junior и middle.

Чек-лист готовности к middle

  • Самостоятельность. Задача среднего размера: от уточнения до прода (или стенда с понятным Definition of Done) без ежедневных «а что дальше».
  • Декомпозиция и оценка. Нарезаете шаги, называете неопределённость, обновляете срок, когда всплыло, а не в день дедлайна.
  • Качество. Читаемый код, тесты на риск, крайние случаи, не только счастливый путь.
  • Отладка. Логи, метрики, воспроизведение. Не «перезапустил, само прошло» как единственный метод.
  • Ревью. Даёте комментарий, который улучшает систему или учит, не только стиль. Сами спокойно принимаете правки.
  • Контекст. Знаете, кто потребитель вашего API или экрана и что будет при вашем простое.
  • Коммуникация. Блокер заявляется рано. Статус без воды. Вопросы — до того, как потратили три дня не туда.

Если из семи пунктов стабильно горят два — вы ещё junior с опытом, и это честнее, чем война за грейд. Закройте дыры, потом спорьте о вилке.

План на 90 дней

Цель квартала: одна задача «на размер больше» в проде и закрытие самой слабой строки чек-листа. Не три курса параллельно.

Дни 1–30. Диагностика.

  • Пройдите чек-лист с примерами из последних двух месяцев. Где нет примера — это дыра, не «наверное умею».
  • Попросите у лида одну задачу без пошагового ТЗ: сами уточняете крайние случаи.
  • Каждый PR: явно пишите риски и что не покрыто тестами.

Дни 31–60. Поставка целиком.

  • Доведите задачу до пользователя: мониторинг или хотя бы лог, откат, сообщение QA и поддержке, что изменилось.
  • Один раз сознательно вырежьте объём и зафиксируйте это в тикете — навык оценки, не стыд.
  • Разберите три сильных PR коллег: зачем так, где бы вы ошиблись.

Дни 61–90. Ревью и основы.

  • Ревью чужого кода по расписанию, не «если останется время».
  • Точечно закройте фундамент, который мешает отладке: SQL, сеть, состояние клиента, CI — по роли.
  • Черновик резюме: заголовок пока можно оставить junior, пули — уже middle по факту.

План на полгода

  1. Месяц 4. Вторая зона или более толстый кусок той же: чтобы вас не считали человеком одной кнопки.
  2. Месяц 5. Тесты и наблюдаемость как привычка. Инцидент или серьёзный баг: вы ведёте разбор, не только «накатили хотфикс».
  3. Месяц 6. Менторство джуна или стажёра хотя бы точечно: объяснение системы быстро проявляет дыры. Рядом со стажёрами полезно помнить, как выглядит нормальный вход: стажировка в IT — умение объяснить контур как раз и есть middle-навык.

Параллельно не меняйте стек каждые шесть недель. Глубина в одном контуре бьёт коллекцию фреймворков. Если вы ещё выбирали сторону разработки — сначала роль, потом грейд: backend, frontend или fullstack.

Пример: квартал, после которого можно спорить о грейде

Месяц 1. Чек-лист: слабая оценка и слабые тесты. Взял импорт файла без детального ТЗ. Уточнил у продукта дубликаты и кодировку. Оценка сдвинулась один раз — написал в канале на второй день, не в пятницу.

Месяц 2. Импорт в проде, алерты на долю ошибок строк, ручной откат описан. Вырезали «красивый отчёт» из первой версии.

Месяц 3. Ревью коллегам по импорту и соседней выгрузке. Закрыл не «курс по React», а пробел по транзакциям и идемпотентности — потому что на импорте обжёгся. Пули в резюме уже про поставку и риск, не про «участвовал в разработке модуля».

Дальше разговор с руководителем: грейд, зона, вилка. Если «подожди ещё год» без критериев — это тоже данные для решения о рынке.

Основы, без которых middle не склеивается

Самостоятельность без фундамента быстро упирается в потолок: вы ведёте задачу, но не можете отладить и не видите риск. Закрывайте точечно, по боли из реальных тикетов, не «весь компьютерсаенс».

  • Данные. Как ваш запрос бьёт по объёму, индексы, что будет на дубликате и пустой выборке. Даже фронтенду нужно понимать контракт и пагинацию.
  • Поставка. Ветка, CI, что происходит после мержа, как откатить. Middle, который «просто пушит», остаётся джуном в глазах эксплуатации.
  • Тесты. Не покрытие ради процента. Кейс на повтор, на пусто, на таймаут — то, что уже ломало прод в вашей зоне.
  • Наблюдаемость. Где лог, какая метрика, как поймёте, что выкладка вредная, не через жалобу пользователя через сутки.

Недельный ритм, если 40 часов уже заняты работой:

Один PR в неделю с явными рисками в описании. Одна оценка с письменным «что может поехать». Один час на разбор чужого сильного PR. Один час на дыру из чек-листа (например, объяснить себе план запроса). Никакого нового фреймворка, пока импорт или экран, который вы ведёте, не в проде с тестом на край.

Так набирается полгода без иллюзии «я учусь по выходным, на работе меня не пускают». Если на работе правда не пускают к задачам больше кнопки — это ограничение среды, его не лечат курсом. Тогда либо другая команда внутри, либо рынок, когда чек-лист хотя бы частично закрыт учебным контуром и мелкими зонами, которые всё-таки дали.

На собеседовании middle вас попросят рассказать задачу целиком: как уточняли, что вырезали, как отлаживали, кого предупредили. Заготовьте две истории по чек-листу, не десять технологий. Если истории нет — квартальный план ещё не закрыт, и заголовок middle рано. Для тех, кто только входит в IT, этот материал не про прыжок через junior: сначала роль и артефакт — маршруты входа, junior-вакансии, при необходимости стажировка. Грейд следует за поставкой, не за желанием «сразу middle, джунов не берут».

Резюме: пули middle, не список обязанностей джуна

Плохо: «разработка функционала по ТЗ, участие в код-ревью, работа в команде». Хорошо:

  • Импорт CSV заказов: декомпозиция, уточнение дубликатов, поставка в прод, алерт на долю брака строк, вырез отчёта из первой версии.
  • Отладка таймаутов API: по логам сузил до лишних запросов, поправил выборку, добавил тест на объём.
  • Ревью: поймал отсутствие отката миграции до прода; комментарий с альтернативой, не голое «переделай».
  • Оценка: три задачи цикла с обновлением риска; ни одной «сюрприз в последний день».
  • Онбординг коллеги в свой контур: карта, два парных PR, дальше закрывает багфиксы сам.

Заголовок меняйте, когда факты тянут. «Junior, по факту middle» на рынке читают. «Middle» без историй — тоже читают, но на созвоне вскроется. Каркас: как составить резюме. Навыки только подтверждённые: навыки в IT-резюме. Как формулировать опыт: как описать опыт. Прогон верха: разбор резюме.

Как просить грейд внутри — и когда уходить

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

Смена компании часто фиксирует уровень быстрее внутренней таблицы. Не уходите только из обиды, пока чек-лист дырявый: на собеседовании middle это сразу видно. Если чек-лист закрыт — смотрите живые middle-вакансии и готовьте истории, не новый стек «для галочки». Система поиска: как найти работу в IT.

Сигналы, что вы уже middle — и ложные сигналы

Сильные: вам дают задачу без пошагового ТЗ; коллеги спрашивают второе мнение по вашему контуру; вы сами предлагаете вырез и риск, а не только «надо больше времени».

Ложные: выучили третий фреймворк; вас хвалят за сверхурочничество; вы единственный, кто чинит прод ночью, потому что никто не умеет ваш скрипт. Последнее — bus factor, не грейд. Задокументируйте и научите, иначе вы вечный джун с ключами от всего. Сверхурочничество закрывает дыру оценки: вас благодарят за героизм и оставляют на том же грейде, потому что процесс не изменился. Middle чинит оценку и вырез, не славу ночных коммитов.

Частые вопросы

Сколько лет нужно?

Годы — слабый предиктор. Смотрите чек-лист. Год плотных задач с поставкой сильнее трёх лет правки кнопок по скриншотам.

Нужны ли алгоритмы?

Для части отборов — да, точечно. Для грейда внутри продукта чаще важнее данные, тесты и поставка. Не заменяйте чек-лист полугодом олимпиад, если вас тормозит оценка и отладка.

Можно ли быть middle без коммерческого стажа?

Почти нет как ярлык на рынке. Сильный пет-проект помогает войти в junior, не перепрыгнуть грейд. Вход: как найти работу без опыта.

Автотесты и поддержка считаются?

Как фундамент — да. Как автоматический middle-dev — нет. Переход из QA и поддержки оформляйте отдельно: из QA в разработку, из поддержки в DevOps.

Что, если лид не даёт задачи «на размер больше»?

Попросите письменно. Предложите конкретный тикет. Если полгода только мелкие правки — рынок или другая команда внутри. Бесконечное ожидание — тоже выбор.

AI ускоряет переход в middle?

Ускоряет черновик. Грейд — про ответственность и суждение. Не мержите непрочитанное и не путайте скорость с самостоятельностью. Рамка: как оставаться востребованным с AI.

Что сделать сейчас

Сегодня заполните чек-лист семью примерами из реальной работы — или дырами. На этой неделе возьмите одну задачу без пошагового ТЗ и ведите её как middle: уточнение, оценка, вырез, статус, тесты, сообщение соседям.

Перепишите три пули резюме под исход, не под «участие». Сверьте формулировки с middle-вакансиями. Если вы ещё формально на входе — не стыдитесь junior-ролей с задачами вашего размера: грейд следует за фактами, не за желаемым заголовком.