От «делаю по ТЗ» к «решаю задачу сам»
Переход в middle — это момент, когда вам перестают разжёвывать задачу и начинают давать цель.
Middle-инженер — тот, кто способен взять задачу целиком и довести её до конца без пошагового сопровождения.
В чём суть первого перехода
Junior работает в режиме «есть тикет — есть шаги». Кто-то старший уже разбил проблему на понятные кусочки, и задача junior — аккуратно их реализовать. Middle берёт задачу, которую ещё никто не разбил, и декомпозирует её сам. Это не значит «работать без помощи» — это значит самому строить план, а не получать его готовым.
Как выглядит сдвиг на примере
| Этап задачи | Junior | Middle |
| Понять задачу | Ждёт детального ТЗ | Сам уточняет требования вопросами |
| План | Получает готовый | Декомпозирует сам |
| Тупик | Сразу зовёт старшего | Сначала исследует, потом зовёт с гипотезами |
| Готово | «Я закодил» | «Покрыл тестами, проверил края, готов к ревью» |
Есть и обратная сторона самостоятельности, которую важно не перепутать с ней. Самостоятельный middle не значит «молчаливый одиночка, который всё решает сам и ни с кем не советуется». Наоборот: он больше коммуницирует, потому что сам инициирует уточнения, согласует предположения, проверяет понимание с продактом. Автономность — это про то, кто держит инициативу в продвижении задачи, а не про отказ от помощи. Junior ждёт, пока его подтолкнут; middle толкает задачу сам, привлекая нужных людей в нужный момент.
Как работает под капотом
Что мешает junior решать самому? Не нехватка знаний синтаксиса, а отсутствие привычки самому формулировать недостающее. Junior воспринимает пробел в задаче как «мне не дали данных». Middle воспринимает тот же пробел как «я должен этот пробел закрыть — спросить, поисследовать, принять разумное предположение и зафиксировать его». Сдвиг происходит в голове: вы перестаёте ждать, что кто-то снимет неопределённость за вас.
Получили задачу «добавить экспорт в CSV»:
junior: жду, пока скажут, какие колонки, какая кодировка, куда класть файл
middle: выписал открытые вопросы -> на 3 ответил сам разумным дефолтом
-> 2 спросил у продакта -> начал делать
Практический приём: список открытых вопросов
Получив задачу, не бросайтесь кодить и не замирайте в ожидании. Выпишите все непонятные места. На часть ответьте сами разумным дефолтом (и зафиксируйте предположение в тикете). На остальное задайте точечные вопросы. Этот простой приём — и есть переход к middle: вы взяли управление неопределённостью на себя.
Как тренировать самостоятельность
Переход к самостоятельному решению не происходит сам собой — его можно тренировать сознательно. Хороший приём: прежде чем идти к старшему с вопросом, доведите его до состояния «я попробовал A, B и C, вот что получилось, моя гипотеза такая». Часто в процессе подготовки такого вопроса вы находите ответ сами. Если нет — вы приходите не с пустым «не работает», а с проделанной работой, и старший видит в вас растущего инженера, а не источник прерываний.
Второй приём — просить у тимлида задачи «на вырост»: чуть менее формализованные, чем обычно. Скажите прямо: «Дай мне задачу, где придётся самому разобраться в требованиях, я хочу потренировать декомпозицию». Большинство руководителей это приветствуют, потому что им выгоднее иметь самостоятельного middle, чем junior, которого надо вести за руку. Так вы запускаете цикл роста сознательно, а не ждёте, пока он случится.
Частые ошибки
- Замирать при первом пробеле в задаче. Неопределённость — норма, ваша работа в том числе её снимать.
- Бросаться кодить без понимания. Другая крайность: начать делать, не уточнив, и сделать не то.
- Считать «закодил» = «готово». Middle доводит до тестов, граничных случаев и готовности к ревью, а не до первого зелёного запуска.
Итоги
- Junior реализует готовый план, middle строит план сам.
- Ключевой навык — самому снимать неопределённость, а не ждать ТЗ.
- Приём «список открытых вопросов» делает переход управляемым.
- «Готово» для middle включает тесты и граничные случаи.