Грейды в Java-разработке: junior, middle, senior

Какие бывают грейды в Java-разработке? В статье разбираемся, как происходит разделение на грейды, какие навыки нужны для каждого и как перейти из одного грейда в другой.

Евгений Хохлов 
Tech Lead в Chatfuel, ex-CTO ICEBERG Sports Analytics

Грейды в разработке – одна из самых противоречивых и субъективных тем. Каждая компания имеет свой набор грейдов, свои правила присвоения и пересмотра. Обычно ваш грейд сильно коррелирует с вашими задачами, зоной ответственности, ожиданиями компании относительно вас и, конечно, зарплатой.

В данной статье мы рассмотрим:

  • наиболее частое разделение на грейды в Java-разработке
  • ключевые навыки, необходимые для каждого грейда
  • на какую зарплату можно рассчитывать в зависимости от грейда
  • как перейти из одного грейда в другой

Начнем с разделения. Чаще всего выделяют три основных грейда: Junior (начинающий разработчик), Middle (опытный разработчик), Senior (ведущий разработчик). И именно эти названия вы чаще всего увидите в описаниях вакансий. Это разделение достаточно условно, и разработчик не переходит с одной ступени на другую в одно мгновение (в конкретной компании таких ступеней может быть больше, чем общепризнанных). Обычно любую таблицу грейдов можно привести к обозначенным выше трем позициям.

Грейды в Java-разработке: junior, middle, senior

Junior

Чаще всего Junior-разработчик:

  • на начальном этапе получает от компании больше, чем приносит пользы
  • работает над рутинными, детально проработанными задачами
  • требует большого количества внимания более опытных коллег

В силу нехватки опыта Junior-разработчик может на первых порах “брать” от компании больше, чем “отдавать”, однако компании готовы мириться с этим и инвестировать в его развитие, если видят потенциал, так как нередко оказывается, что найти хорошего Middle-разработчика на рынке сложнее, дольше и дороже.

Рассмотрим навыки, необходимые Junior Java-разработчику. Будем разделять навыки на две группы hard skills (технические) и softs kills (коммуникационные)

Hard skills Junior Java-разработчику нужны для решения небольших задач, поэтому понимание структуры проекта и глобальных архитектурных паттернов необязательно. Обычно для решения задач требуются:

  • основы объектно-ориентированного программирования
  • синтаксис Java
  • умение выбирать правильные коллекции для решения задач
  • базовые алгоритмы и структуры данных
  • базовые знания Git

Soft skills необходимы для быстрой коммуникации с коллегами. Ваш успех на позиции Junior-разработчика напрямую связан с тем, сколько времени опытные коллеги тратят на вас. Поэтому крайне важно:

  • четко формулировать свои мысли
  • прежде чем задавать вопрос, попытаться найти ответ в открытых источниках (интернет, база знаний компании)
  • задавать вопросы по делу, предоставлять всю информацию по вопросу сразу

Как было отмечено выше, основная ценность Junior-разработчика – это его потенциал развития. Поэтому компании проводят тщательный отбор на этой позиции. Чтобы увеличить шансы, часто требуется либо получить коммерческий опыт на стажировке, либо отточить навыки программирования на сайтах вроде leetcode или codewars.

Middle

Следующий и наиболее многочисленный грейд: Middle Java-разработчик. Middle-разработчик:

  • неплохо ориентируется в коде
  • может без поддержки реализовать проработанную и хорошо описанную задачу
  • может самостоятельно принимать небольшие проектные решения
  • помогает в поддержании документации / базы знаний проекта

Middle Java-разработчик обладает большим набором hard skills:

  • хорошо разбирается в основных библиотеках и фреймворках, которые используются в проекте
  • работает с инструментами логирования и мониторинга
  • настраивает систему сборки (обычно Gradle или Maven), может самостоятельно добавить новую библиотеку или поднять версию текущей

Со стороны soft skills добавляется взаимодействие со смежными командами. Поэтому важно уметь давать и получать конструктивную обратную связь. Уметь находить компромиссы.

Основная задача Middle-разработчика – хорошо реализовать поставленные задачи в срок. Некоторые инженеры всю жизнь живут на этом грейде — им комфортно просто кодить, не занимаясь управлением. Однако хороший Middle-разработчик должен не просто выполнять команды, а понимать, что он разрабатывает и какое влияние это оказывает на бизнес.

Senior

Последний грейд – Senior Java-разработчик, требует большого опыта и налагает большую ответственность в принятии решений. Senior:

  • уважаем в команде разработки
  • может работать над задачей на любом этапе проработки
  • продумывает, как реализовать тот или иной запрос от бизнеса
  • прививает хорошие практики разработки, развивает команду

Senior-разработчик обладает примерно таким же набором хард скиллов, что и Middle, но обычно гораздо глубже понимает нюансы. Например, знает общепринятые подходы или известные проблемы в библиотеках.

Senior должен также владеть soft skills:

  • умеет планировать свое время
  • высоко инициативен
  • умеет убедить в своем видении
  • руководит и помогает развиваться младшим грейдам

Senior-разработчик высококвалифицированный специалист: он не только понимает, какое влияние на бизнес оказывает та или иная фича, но и может критически оценить риски, рассчитать трудозатраты и предложить улучшения.

Как повысить свой грейд?

Перейти с грейда на грейд не самая простая задача, надо приготовиться к тому, что поменяется не только ваша зарплата, но и задачи, которые вы делаете, и зона ответственности.

В любом случае самым лучшим первым шагом будет напрямую рассказать о вашем желании руководителю и составить персональный план развития.

Второй шаг, существенно увеличивающий шансы: начать делать больше, чем от вас ожидается. Если вы Junior разработчик и вы разобрались в сложном месте в проекте – не поленитесь, обновите базу знаний, дополнительно подсветите те вещи, что были непонятны. Если вы Middle-разработчик – дополнительно задумайтесь, а как можно улучшить то, что я делаю, или как реализовать это быстрее.

На какую зарплату можно рассчитывать на каждом грейде?

Зарплата сильно зависит от многих факторов, прежде всего от города и от компании. Конечно, в рамках одной компании и одном городе junior разработчик будет получать заметно ниже, чем middle, а middle будет получать меньше, чем senior.

Но в среднем начинающие специалисты могут получать от 100 тыс. руб, а высококвалифицированные – от 300 тыс. руб.

Грейды в Java-разработке: junior, middle, senior

На какой грейд можно перейти при смене языка программирования?

Если вы не меняете сферу деятельности кардинально, а меняете только язык программирования, то можно перейти на новое место даже без потери грейда. Например если вы Middle Python разработчик, занимаетесь бэкендом и хотите начать писать бэкенд на Java, то скорее всего сможете совершить переход на Middle грейд, особенно, если стек технологий будет знакомый

Итоги

Грейды – удобный способ обозначить свой опыт и уровень знаний. Однако критерии отличаются в зависимости от компании и сферы реализации. От этого изменяется и заработная плата специалиста. В статье мы рассмотрели примерный уровень ожиданий и навыков для каждого из грейдов.

Полезные материалы

Заинтересовала статья? Хотели бы стать Java-разработчиком с нуля? Советуем обратить внимание на курс от ProductStar "Профессия: Java-разработчик". На курсе опытные эксперты научат вас необходимым hard skills, менторы всегда будут на связи и смогут ответить на вопросы, вы сможете сделать свой проект и добавить к себе в портфолио, а Центр Карьеры подберет для вас стажировку с гарантированным оффером уже во время обучения.

1
Начать дискуссию