Грейды в IT спорят, потому что слово одно, а покупают разное. «Junior с тремя годами» в одной вакансии — учёник с нянькой. В другой — уже самостоятельная фича, просто title дешёвый. «Senior без коммерции, зато пет-проекты» почти никогда не значит senior: значит, кто-то путает портфолио с зоной вреда.

Ниже — что на практике ждут на junior, middle, senior и lead, как это считать не годами, и как не калиброваться вилкой из блога. Про скачок в деньгах — соседний разбор что прибавляет грейд. Как закрыть переход junior→middle по чек-листу — план роста. Здесь — ожидания и честная шапка в резюме.

Коротко:

  • Грейд — про самостоятельность и ширину вреда, не про годы в трудовой и не про число фреймворков.
  • Junior делают поставленное. Middle доводят кусок до прода без няньки. Senior решают, чего не делать, и держат контур.
  • Title в CV и title в вакансии часто врут оба. Читайте задачи, сверяйте с десятью живыми слотами своего стека.
  • Не ставьте senior, потому что «уже четыре года». Не сидите junior, если уже водите фичу и ревью.
  • Вилки в долларах из статьи не используйте. Смотрите junior, middle, senior.

Почему «годы ≠ грейд»

Работодатель покупает ответ: что сломается, если вас не будет две недели. Если сломается только ваша задача — вы ближе к junior или к нижнему middle. Если ляжет контур и дежурство команды — ближе к senior, какой бы стаж ни стоял. Год на одном типе тикетов этому не равен: можно пять лет закрывать однотипные экраны и остаться исполнителем с длинной трудовой.

Отсюда вечные споры. Компания A держит title жёстко и платит за объём. Компания B раздаёт senior, чтобы закрыть вакансию. Рынок видит объём. На скрининге «я senior, потому что в трудовой senior» разваливается за пятнадцать минут задач.

Junior: что ждут и чего нет

Ждут рабочий язык, один фреймворк или контур, Git без паники, простой SQL, вопросы вовремя. Нанимают не за текущую скорость, а за то, что рядом можно поставить человека и не получить дыру в проде каждую неделю. Способность учиться здесь не лозунг: это «после ревью не повторяет тот же баг».

Не ждут проектирование платформы, менторство, глубокий DevOps, «архитектурные паттерны» в шапке. Если junior-вакансия требует ownership сервиса и онкол — это чужой грейд под дешёвым title. Читайте текст, не бейдж. Как разбирать объявление: что скрыто между строк.

В резюме junior нужен сценарий, который можно открыть, не «потенциал». Без стажа: резюме без опыта.

Middle: фича до прода без соавторства

Ждут: взял задачу, уточнил край, оценил, довёл, написал тесты на риск, ревьюит точечно, знает, кого дёрнуть у смежников. Отличие от junior не «больше библиотек». Junior на каждом шаге спрашивает «что дальше». Middle сообщает блокер до того, как сгорели три дня.

Ещё ждут «почему», не только «как в ТЗ». Если спецификация молчит про повторную оплату — middle не молчит до прода. CI, мониторинг, тест — как часть ежедневной работы, не как курс «когда-нибудь». Если вы это уже делаете, а в трудовой всё ещё junior — шапка CV может быть middle по объёму; вранья про title работодателя не нужно, нужна зона ответственности в пулях.

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

Senior: контур и «это не делаем»

Ждут проектирование в бытовом смысле: API, данные, что будет под нагрузкой, как откатить. Менторство, которое учит, а не унижает. Ownership модуля или сервиса. Разговор с продуктом: перевод хотелки в ограничение. Trade-off: хорошее сегодня лучше идеального никогда. Production: алерт, дежурство, постмортем без героизма.

Отличие от middle: middle отлично закрывает задачи. Senior меняет, какие задачи вообще берутся, и держит чужой риск. Если в вакансии senior, а в тексте «тикеты по шаблону под присмотром» — это не senior-ожидание, какой бы оклад ни мерещился.

На созвоне senior часто просят не алфавит SOLID, а шов в вашем сервисе и место, где принцип сознательно не применили. Разбор букв: SOLID на практике. Подготовка: interview-prep.

Lead — не «очень senior»

Lead покупают за людей и процесс: приоритеты, 1:1, найм, релизный ритм, инциденты как система, а не как ваш личный ночной подвиг. Можно быть сильным senior без желания календаря чужих встреч — и это нормально. Staff / principal — другая ветка: глубина, несколько контуров, стандарт. Смешивать «хочу больше денег» с «хочу lead» вредно: быт разный, вилка может быть близкой.

Если вы уже делаете lead-работу без title, рынок и внутренний review разъедутся. Тогда разговор не «прибавьте как всем», а «зафиксируйте грейд под объём». Деньги и смена компании: снова про скачок вилки.

Пример 1. Пять лет и junior-объём

Кирилл пять лет в аутсорсе. В CV — Senior. На экране: задачу декомпозирует лид, тесты пишет QA, в прод выкатывает DevOps, Кирилл закрывает кусок экрана. На вопрос «что будет, если вас не будет две недели» — «возьмут другого с той же доской».

Рынок слышит middle, часто нижний, не senior. Честная шапка: Middle frontend, React, кабинет заказов. Пули — про то, что он сам довёл: форма, ошибка API, повторный сабмит. План на квартал — одна задача «на размер больше» из чеклиста junior→middle, если по факту ещё не тянет оценку. Не «пять лет = senior». На созвоне лучше самим назвать объём, чем ждать, пока интервьюер снимет title за вас.

Пример 2. Вакансия Junior, текст — middle

Объявление: Junior backend, Python. Внизу: владение сервисом, онкол, оценка спринта, ревью стажёров, «3+ года коммерции».

Это не ваш junior-слот, даже если оклад junior. Либо компания экономит на title, либо не умеет писать вакансии. Если вы middle по объёму — можно идти, но на скрининге уточните онкол и чей сервис. Если вы junior — это чужая нянька в другую сторону: вас ждут как самостоятельного. Смотрите соседние junior с задачами уровня «понять ТЗ и сделать с ревью», не этот текст. Оклад в объявлении не лечит чужой объём: дешёвый title при middle-вреде — отдельный разговор на оффере, не повод врать себе, что вы ещё ученик.

Как калиброваться без «AI-score 0–100»

Самооценка по чек-листу полезна, если вы требуете от себя примеры из последних двух месяцев. «Наверное, умею ревью» без трёх конкретных PR — не умею. 80% пунктов уровня без примеров — самообман.

Объективнее — пачка живых вакансий своего стека и формата. Выпишите: что должен делать человек, какой вред при ошибке, есть ли онкол, есть ли менторство, кто выкатывает. Если ваши последние месяцы закрывают middle-тексты и проваливают senior — вы middle, какой бы title ни подарили внутри. Каталог удобнее мема из чата: фильтр грейда плюс стек, не «все вакансии мира».

Не калибруйтесь сервисом «вам 73 из 100 на senior». Он не видел ваш прод и не дежурил с вами. Он видит совпадение слов. Слова в CV можно набить. Объём — нет. Тот же обман — чужой чек-лист из блога «20 пунктов senior»: без ваших примеров из двух последних месяцев это снова алфавит, как пять букв SOLID без сервиса.

CIS и международный title часто разъезжаются. Внутренний «ведущий инженер» может быть middle на европейском скрининге. Не переводите title дословно. Переводите объём: сервис, инцидент, люди. Файл: как составить резюме, шапка грейда в профиле: как заполнить профиль.

Созвон: как не спорить про годы

На вопрос «почему вы middle» не отвечайте «три года коммерции». Ответьте последним контуром: «два месяца водила платежный сценарий, оценка моя, в прод без соавторства лида, ревью двух стажёров». На вопрос «почему не senior» честно: «онкол и выбор не делать фичу ещё не на мне». Это сильнее войны за бейдж.

Если вас давят «у нас junior, но задачи как у middle» — зафиксируйте объём письменно до оффера: онкол, чей сервис, кто выкатывает. Иначе через полгода title останется junior, а вред — middle. Внутренний рост без записанных критериев часто так и выглядит.

Обратное: вас зовут senior, а в первый месяц дают только тикеты под присмотром. Это либо онбординг, либо надутый title. Через четыре недели спросите, какой контур ваш. Если ответа нет — вы купили слово, не грейд. Рынок в следующем цикле всё равно спросит объём.

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

Через сколько лет middle?

Года недостаточно. Смотрите, доводите ли фичу без соавторства. Кто-то за год, кто-то за четыре на одном типе задач.

Можно ли senior с пет-проектами без штата?

Почти нет: senior — про чужой риск в проде. Пет показывает junior/вход. Не путайте с резюме без опыта: там честный вход, не маска senior.

Вакансия Junior, просят три года. Это норма?

Часто жадность или копипаст. Читайте задачи. Если задачи junior — фильтр лет можно игнорировать и идти. Если задачи middle — это не junior.

Как писать грейд в CV, если внутри один, по факту другой?

По факту объёма, кратко. Врать про title прошлой компании не надо: в скобках зона ответственности. Врать про senior при junior-объёме — скрининг накажет сильнее.

Где вилки?

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

Стоит ли ждать внутренний грейд?

Если критерии и дата записаны — иногда да. Если title застрял, а объём уже другой — рынок быстрее. Сначала чек-лист, потом сравнение вакансий, не наоборот.

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

Выпишите три последние закрытые задачи: кто ставил ТЗ, кто выкатывал, что было бы без вас две недели. Сверьте с пятью junior и пятью middle объявлениями своего стека в каталоге. Поставьте в шапку тот грейд, который совпал с задачами, не с трудовой. Если совпало вразнобой — шапка по более слабому совпадению: рынок наказывает надутый title сильнее, чем скромный.

Если дыра на самостоятельности — 90 дней из чеклиста, не спор про title. Если объём middle, а вилка junior — сначала факты в резюме: разбор файла, потом разговор про деньги. Не рассылайте senior-файл на junior-слоты «для статистики»: вы кормите воронку и путаете собственную калибровку. Одна пачка одного грейда за неделю честнее, чем двадцать смешанных откликов.