Найти тему
Rookieman

Иерархия в IT. Становление программиста от junior к senior

В среде IT-специалистов уровень подготовки разработчиков принято разделять на три уровня:

Junior-разработчик (младшего уровня),

Middle-разработчик (среднего уровня)

Senior-разработчик (старший разработчик).

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

В данной статье попробуем разобраться в чем разница.

Так как сам я только начинающий программист, этот вопрос я адресовал своему институскому приятелю, который занимается программированием уже больше 15 лет, успевшему поработать в deutschebank и выиграть конкурсы dataseince google, nVidia. Короче, глубоко понимающему человеку.

Начнем разбор с самых первых шагов.

Обучение.  Начинающему разработчику нужно изучить огромное количество информации, прежде чем начинать кодить самостоятельно.

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

У первых есть понимание в выборе профессии и мотивация, у вторых , скорее всего более фундаментальные знания процесса.

Следующий этап — стажер-разработчик. Знает синтаксис, знает некоторые конструкции, работает под постоянным присмотром более опытного коллеги и довольно часто допускает ошибки. 

С опытом ошибок становится меньше и мы переходим как раз в стадию Junior.

Junior-разработчик. Работает в команде, выполняет простые задачи, так же как и стажёр - требует наставничества и проверки кода. 

На следующий уровень выйдет Junior, который:

  • Стремится к саморазвитию
  • Энергичен и целеустремлен
  • Умеет воспринимать критику

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

Важные качества Middle-разработчика:

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

Следующий этап.

Senior-разработчик. Ключевой специалист в команде.

Обладает всеми перечисленными выше качествами и пруфами. Но так же ....

  • Может точно оценить сложность задачи.
  • Имеет опыт выполнения сложных проектов.
  • Пишут понятный и простой код

Из этого следует что ступень Seinor это в большей степени опыт и усердие.

Существут деление и по временному признаку.

Например, до 1-2 лет— junior, от 2 до 5 лет middle, больше 5 лет senior. Подход поверхностный, но не лишён логики.

С каждым днём работы программист пишет все больше строк и тем самым набивает руку и получает опыт.

Не всегда на практике этот подход работает.

Заключение

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