Повышение квалификации разработчиков. Junior, Middle, Senior – в чем разница?
На 2023 год существует множество разных подходов к оценке уровня квалификации программистов. Порой сами разработчики не всегда уверены, как определить свой уровень или уровень коллег из команды. Сравним этапы роста и важные качества и навыки, которые свидетельствуют достижении следующей карьерной ступени.
Какие есть уровни квалификации программистов?
Базовая градация инженеров программного обеспечения:
- Trainee (стажер)
- Junior (разработчик младшего уровня)
- Middle (разработчик среднего уровня)
- Senior (старший разработчик)
Эта терминология помогает в коммуникации, распределении обязанностей и ответственности. Дает понимание разным участникам проекта, чего стоит ожидать: работодателю от команды и каждого её звена, заказчику от компании, сотруднику – какие задачи перед ним стоят и какого результата от него ожидают.
На первый взгляд, эти термины очевидны, но на практике оказывается, что все понимают их по-разному.
Квалификация разработчиков простыми словами
Отличия trainee, junior, middle и senior разработчиков, если говорить по-простому.
Trainee-разработчик – это новичок, только начинающий свой путь в разработке. У Trainee нет практических знаний, но есть база, понимание теории. Их путь начинается с обучения с ментором.
Junior-разработчику нужно учиться писать «легкий» для восприятия код. Джуна можно сопоставить с художником, который в поисках своего стиля и понимания, от него ждут идей и любознательности. Ему можно ошибаться, потому что ошибки — это опыт, а опыт — это движение по карьере.
Middle-разработчики делают 95% работы. Им следует полностью овладеть своим техническим стеком и стремиться развивать soft skills так же хорошо, как и hard skills. Middle специалисты стараются помогать своим коллегам стать более грамотными и передают опыт. Поэтому часто важным этапом развития Middle является менторство. Ведь суть команды — это помощь, поддержка, общение и, конечно, создание первоклассного продукта!
Senior-разработчики с глубоĸими специализированными знаниями и исчерпывающим опытом, ĸоторые позволяют им наставлять своих ĸоллег, называются Senior. Такие разработчики имеют развитые Soft Skills: умеют общаться с командой и всегда остаются в тренде разработки. Опыт Senior-а поможет прогнозировать разработку и риски и найти решение в любой ситуации.
Существуют ли формальные критерии роста?
Как определить свой уровень программирования? Есть ли стандарты? К сожалению, формальных критериев, позволяющих быстро и однозначно определить ранг программиста, не существует.
Требования к разработчику могут отличаться в зависимости от страны и даже компании. Основные критерии определения ранга программиста:
- Опыт работы
- Количество и качество hard skills
- Освоенные языки программирования
- Развитые soft skills
- Образование
Например, вряд ли вы встретите Senior с 2-летним опытом работы, но при этом есть много Junior с опытом работы более 5 лет. Стоит отталкиваться от soft и hard skills разработчика. Сухие теоретические знания — это не ключевое отличие, а лишь один из факторов. Опыт работы с разными технологиями, стеками и фреймворками может перевесить образование без практики! А некоторые компании готовы нанимать специалистов без фактического опыта на проектах, но с соответствующим образованием, рассчитывая на обучаемость.
Команда New Line Technologies также опирается на общеизвестные уровни квалификации. Подробнее:
Trainee – это ранний период в ĸарьере разработчика. В New Line Technologies есть программы стажировки, куда берут инженеров начального уровня, которые в основном имеют тольĸо теоретичесĸие знания и не имеют опыта работы. В этом случае должность новичĸа называется Trainee.
Junior – это начальная фаза развития специалиста. Требования:
- Постоянный рост и получения новых навыков
- Умение работать самостоятельно
- Участие в реальных коммерческих проектах под мониторингом ментора
- Энергия и любознательность
Junior обычно достаются однотипные и легĸо формализованные проеĸты с предопределенной архитеĸтурой или наименее сложные задачи, мало влияющие на ĸонечный продуĸт.
Middle специалисты добиваются функциональности основываясь на лучших практиках и паттернах текущих технологий. Обязанности:
- Написание кода
- Ответственность за независимую часть комплексного решения, которое будет подготовлено для дальнейшего использования
- Изучение и интеграция стандартных решений
- Разработка решений, которые имеют стандартные подходы и не требуют специальных исследований
Middle активно сотрудничают с членами команды, включая дизайнеров, аналитиков и архитекторов. Они успевают заблаговременно выявить типичную проблему, умеют сделать выводы, анализировать и избежать этой проблемы в дальнейшем.
Senior: “решающий проблемы”. Senior специалисты хорошо разбираются в бизнес-области, которую они поддерживают. Их ĸомпетенция может расшириться, чтобы помочь с маркетингом и общим развитием бизнеса. Senior всегда будет думать о том, что он делает, с точки зрения того, какую пользу это приносит бизнесу.
Основные обязанности:
- Планирование решений, исследование результатов и помощь с возникающими проблемами
- Мозговой штурм по поиску правильных решений для сложных проблем
- Ответственность за команду, координируя ее рабочий процесс
- Оценка ценностей и рисков
Навыки:
- Аудит проекта и опыт разработки рекомендаций и решений
- Развитые soft skills для координации и баланса клиент-команда
- Долгосрочное виденье
Работа Senior заключается в том, чтобы предлагать наилучшие решения проблем. Руководя проектом, Senior принимает обоснованные решения о разработке и внедрении программного обеспечения и методологий, основываясь на широкий спектр знаний лучших практик и подходов в этой области. Обязательным условием для Senior является самокритика и самосовершенствование – они должны оценивать и анализировать совершенные ошибки и искать пути их решения, во избежания повторения.
Есть ли жизнь после Senior?
Отправная точка карьеры программиста — Trainee. К чему стремиться, достигнув должности Senior?
- Senior Engineer
- Product Manager
- Architect
- Senior Leader
Не забываем про CEO (Chief Executive Officer) Главный Исполнительный Директор и CTO (Chief Technical Officer) Главный Технический Директор. Обязанности включают руководство и представительство компании на высшем уровне, высший Топ-менеджмент. На таком уровне вы должны уметь разбираться как в управлении людьми, так и в технологиях — быть отличным менеджером и высококлассным инженером.
К примеру, CTO New Line Technonologies Сергей Мединцев. Сергей пришел в New Line Technologies на позицию .Net-разработчика в 2010 году. Благодаря активному саморазвитию в качестве технического специалиста, сильным навыкам управления проектами и аналитическому складу ума Сергей смог пройти путь от разработчика .Net до технического директора.
Что может препятствовать повышению квалификации разработчика?
“Целью всего является развитие” – Бернар Вербер в книге “Империя ангелов”. Первое, и самое неочевидное, на первый взгляд, что может препятствовать дальнейшему росту вас, как специалиста – это вы сами. Многие специалисты попадают под эффект Даннинга-Крюгера.
Dunning-Kruger effect — это мнимая, обманчивая самоуверенность в собственной экспертности по отношению к любой области.
Многие инженеры не могут представить лучших методов и практик, чем те, которые они внедряют в настоящее время. Иногда причиной может стать нехватка опыта, когда начинающий специалист, не имея должного практического опыта и не работая в команде, не способен адекватно оценить свои навыки. Фидбек от команды, в этом случае, играет важную роль!
В противоположном сценарии, когда инженер осознает, как мало он еще знает, и как много еще предстоит узнать, тогда начинается переход на более высокий уровень.
Что поможет специалисту не попасть под эффект Даннинга-Крюгера?
- Работать в команде и собирать отзывы из разных частей проекта и бизнес домена, о своей работе и навыках;
- Повышать уровень своей компетентности, расширять кругозор и область знаний;
- Находить время на анализ своего прогресса;
- Делать выводы из полученного опыта, в том числе, из допущенных ошибок;
- Постоянно стремится к совершенствованию, следить за новшествами и тенденциями в своей сфере деятельности, не останавливаться на достигнутом результате.
В заключении
Учитывая всё вышеперечисленное, наша рекомендация – проходите собеседования, опирайтесь на требования, возьмите за привычку пролистывать вакансии, чтобы оценивать рынок и востребованность своих знаний и опыта.
New Line Technologies приглашает на собеседование. Ознакомься с нашими открытыми вакансиями по ссылке. Наши рекрутеры всегда дают фидбек по интервью 😉