Блог

Все статьи

Повышение квалификации разработчиков. Junior, Middle, Senior – в чем разница?

Career growth in IT

На 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 приглашает на собеседование. Ознакомься с нашими открытыми вакансиями по ссылке. Наши рекрутеры всегда дают фидбек по интервью 😉