Кто такие Junior, Middle, Senior?

Говорим об уровнях разработчиков.
Время прочтения статьи: ~ 5 минут
Наверняка ты уже видела эти слова:

- junior (начинающий),

- middle (средний),

- senior (старший),

- team lead (руководитель команды).

Но что же за ними скрывается?

Сегодня в статье расскажу про разные уровни разработчиков.

К сожалению, не существует абсолютно точного «реестра навыков» по уровням. А жаль! Было бы круто научиться всему по списку и — хоп! — любая соответствующая вакансия у тебя в кармане!

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

Начнём!

Junior

или младший/начинающий
Один из самых спорных для определения уровней разработчиков.
Спорный — так как никто не знает, что же он на самом деле должен знать и уметь. Один из самых частых вопросов: «Как мне понять, я уже Junior или мне ещё надо подучиться?»

Им обычно доверяют простые, некритичные для проекта задачи. Давать такому разработчику сложные таски (всё те же задачи) и ждать разумного исполнения нельзя. Код junior-разработчика нуждается в постоянном ревью. В среднем через год-полтора в меру способный junior developer уже готов к переходу в категорию «middle».

Вот примерный «разумный минимум», который хорошо бы знать начинающему разработчику к моменту выхода на рынок труда:

- базовое понимание своего языка и его особенностей;

- типовые структуры данных и ООП;

- как работать со строками, с датами;

- контекст выполнения;

- понимать жизненный цикл работы программы;

- знать хотя бы один основной фреймворк для своего языка;

- уметь гуглить типовые проблемы;

- желательно владеть английским хотя бы на уровне чтения документации со словарём;

- GIT;

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

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

Поэтому, если ты хотела отсидеться и начать входить в IT ещё лет через 5 — знай, потом будет гораздо сложнее, чем сейчас. По одной простой причине — все уже поняли, что в IT действительно хорошо, и с каждым годом всё больше людей стремятся этому научиться.

Представь, что если на одну Junior вакансию будет по 500 человек, как когда-то на менеджеров и бухгалтеров? А это вполне себе скорое будущее, которое ждёт всех, кто не успеет вбежать в последний вагон.

Middle

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

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

Знает, как именно работает приложение, глубже начинающего понимает задачи, а значит, точнее их оценивает и качественнее реализовывает.

✅ Уже есть хороший опыт, свободно владеет нужными технологиями и старается предугадывать возможные ошибки, аргументирует свои решения. Знаком со стандартными шаблонами и решениями при построении приложения в своей области, понимает, зачем они нужны, и умеет их применять.

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

Обычно рост с уровня начинающего (Junior) до Middle проходит за 1–2 года.

Senior

Старший программист — настоящий эксперт с большим практическим опытом разработки от 4-7 лет.

Может самостоятельно спроектировать и реализовать проект практически любой сложности и понимает, как устроен процесс разработки ПО (программного обеспечения) на каждом из этапов.

Обладает глубоким пониманием как проекта, так и используемых в нём технологий. Может проводить code review и легко видит «узкие места» в коде, работает «на опережение» возможных будущих проблем. Умеет достаточно точно оценивать трудоёмкость задач.

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

Это тот уровень, к которому можно и нужно стремиться.

Дальше рост может быть в двух направлениях — в менеджерском до Team Lead (руководитель команды), либо в техническом — до Architect (архитектор).

Я, например, Senior Full-stack.

От Junior до Senior – сколько времени займет продвижение по карьерной лестнице?

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

Чтобы начать — приходи на наш открытый урок :)
Приходи на наш бесплатный урок, где узнаешь:
подходит ли тебе IT и как выбрать специальность
как найти первую работу и регулярно расти в доходе
как устроиться в международную компанию
Сделай свой первый шаг в IT
Алиса Курц
Отзывы об открытых уроках ❤️
Photo by Jacob
Photo by Leio
Photo by Marion
Photo by Jacob
Photo by Shifaaz
Photo by Jason
Ещё почитать