Переход из 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, джунов не берут».