Карьерный рост: в чем разница между Junior, Middle и Senior?

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

Карьерный рост: в чем разница между Junior, Middle и Senior?

Имеется ли российский аналог разделения позиций Junior, Middle и Senior?

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

Почему чаще применяют разделение на Junior, Middle и Senior?

Эта классификация по понятным причинам удобнее для работы в международных компаниях. Также она более гибко отражает разделение в рамках требований каждой конкретной компании. Так что соответствующие границы субъективные, плавающие и зависят от места работы.

Существует ли какой-то способ объективизации разделения позиций?

IT – это живой, развитый рынок, и наиболее простой тип оценки уровня – рыночный. Требования к уровню в конкретной области можно определить из вакансий и результатов собеседований.

Может ли данное разделение приводить к занижению зарплаты?

Да. Такое грубое категориальное разделение никогда не отражает имеющийся опыт. Но чем более формализованы критерии разделения позиций в компании, тем прозрачнее карьерный рост. При этом распространена ситуация, что джуниор в одной компании зарабатывает больше, чем мидл в другом месте.

Зависит ли скорость карьерного роста от области программирования?

Зависит. Чем специфичнее область, тем медленнее рост. То есть, например, в вэбе в среднем становятся Senior быстрее, чем в геймдеве. Реальный уровень определяется разнообразием задач в практике программирования. Распространены случаи, когда специалисты делают в течение длительного времени однообразный код, и остаются по опыту на позиции Junior. Зачастую это вина не только самих разработчиков, но и компании.

Что в среднем представляют собой позиции Junior, Middle и Senior?

Junior: студент старших курсов или выпускник, без существенного опыта работы, обычно 0.5-1.5 года реального опыта. Решает стандартные задачи с незначительными рисками. Джуниору нужно помогать и проверять результаты, не давать слишком сложные и длительные задания. После выполнения приходится регулярно делать code review. Владение предметной областью неполное. Нужно понимать, что часть задач требует дополнительного времени для освоения инструментария. Однако человек должен сам к этому стремиться.

Middle: Основной работник, умеющий самостоятельно выполнять поставленные перед ним задачи. Обычно 1-3 года опыта. Простые задачи можно не ревьюить. Разработчик может делать длительные таски на 1-2 недели и принимать архитектурные решения. Справляется с нестандартными задачами, а стандартные делает быстрее и с меньшим количеством багов, чем джуниор. Предметной областью владеет достаточно, чтобы обсуждать с коллегами, спорить и находить решения. То есть уверенно знает ключевые технологии.

Senior: работник, хорошо знающий предметную область. Опыт фултайма 4-7 лет. Проводит code review, мыслит проектом на уровне архитектуры и понимает долгосрочные последствия технических решений. Умеет предложить глобальные решения и (если это имеет смысл) альтернативные стеки технологий. Нередко совмещается с управляющими должностями.

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик С#
от 200000 RUB до 400000 RUB
Go-разработчик
по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ