Переход из 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 по факту.
План на полгода
- Месяц 4. Вторая зона или более толстый кусок той же: чтобы вас не считали человеком одной кнопки.
- Месяц 5. Тесты и наблюдаемость как привычка. Инцидент или серьёзный баг: вы ведёте разбор, не только «накатили хотфикс».
- Месяц 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-ролей с задачами вашего размера: грейд следует за фактами, не за желаемым заголовком.