Найти тему

Квалификации программистов - кто такие джуни, мидлы, сеньоры?

Приветствую на нашем канале!
Сегодня в рубрике посвященной разработке игр поговорим о квалификации программистов в IT.

Сегодня устоялось мнение, что развитие разработчика в IT проходит следующий путь:
Студент
Джун
Миддл
Сеньор
Архитектор

Действительно ли такой путь нужно пройти чтобы стать сеньор программистом или архитектором?
Попробую объяснить ситуацию на российском рынке с учетом своего опыта.

Пока человек не погрузился в IT его можно назвать студентом, то есть учеником который еще ничего толком не знает и ничего реализовать не может. Например я свой путь в IT начал с изучения книги FreeBSD 6 и первым делом учился переустанавливать операционные системы и ремонтировать компьютеры.

Моя первая книга в IT
Моя первая книга в IT

Особых навыков программиста мне это не дало, но я запрограммировал внутри ubuntu, на С подобие калькулятора, который может складывать и умножать переменные. Это был файлик который при компиляции запускался и получал на вход числа и нужную операцию. 

К чему я веду? К тому, что будучи этим самым студентом, по сути ни о каком написании программы в срок и тем более соответствии этой программы каким то стандартам качества не может быть и речи. Это конечно зависит от технологий, порог входа в С++ и скажем html совсем разный.

-3

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

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

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

-4

В общем джуниор разработчик это полноценный разработчик который должен приносить пользу компании и закрывать проблемные позиции. Срок освоения новых технологий обычно у него не более 3х месяцев как раз на испытательный срок. Как правило джуниор задает вопрос, как правильно это сделать? Подскажите как это реализовать? И тому подобные, а после ответа может изучить рекомендованный блок и самостоятельно что то запрограммировать.

В течении 1-3 лет джуниор МОЖЕТ трансформироваться в миддл разработчика. Именно может, так как никто гарантии не дает, в каких то компаниях не нужны миддлы, нужны именно джуниоры и вы будете 5 лет решать задачи джуниор разработчиков если самостоятельно не приложите усилия по саморазвитию.

Путь из джунира до сеньора в одной и той же компании очень редок, поэтому закладывайте смену профессии через полгода-год и всегда имейте запас денег чтобы протянуть 4-6 месяцев без доходов. Если на одном месте вы уже не растете, то смело выходите на рынок и ищите новые варианты, с ЗП в 1.5-2 раза выше, если вы чувствуете в себе рост навыков.

Итак чтобы стать миддлом, джуниор должен иметь опыт разработки на нескольких стэках и архитектурах в IT. То есть вы должны освоить несколько новых языков программирования, например C++, PHP, javascript, java, go и.т.д 
Экспертом вы конечно становиться не должны, но реализовать пару проектов из курсов нужно обязательно, тогда вы сможете увидеть разницу и преимущества тех или иных технологий.

-5

В общем миддл это и есть классический программист, он может за приемлемый срок реализовать какое то решение хорошо в нем разобравшись. Когда сеньор или архитектор меняют стэк технологий то они превращаются на какое то время в мидла. То есть архитектор стэка javascript+PHP, превратиться мидла если перейдет на стэк  react+nodejs. 
А переход такого архитектора в другое направление разработки, например на изучение unity+3D  превращает его в студента, так как ничего полезного он сходу сделать не сможет.

С мидлом разобрались, а кто же такой сеньор?

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

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

-6

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

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

Итак с сеньор разработчиками разобрались. Куда им расти дальше? Если говорить по финансам то возможно некуда, так как часто ЗП подобных должностей сопоставимы, а уровень ответственности и нервотрепки сильно повышен.

С технической точки зрения, дальнейший путь сеньора лежит к должности архитектора. Архитекторы бывают разные, бывают обычными программистами (играющий тренер), бывают проектировщиками-согласовальщиками, бывают руководят командой. В сложных системах уровня SAP архитектор может быть единственным разработчиком на проекте.

Как правило архитектор отвечает за весь технологический стэк проекта. Скажем это docker+админить сервера+ приложение + команда разработки + согласование документов + совещания. Задача архитектора чтобы это все работало и функционировало 24/7. То есть любые проблемы и сбои в проекте на совести архитектора. По сравнению с сеньор программистом у архитектора значительно повышаются обязанности и масштаб работ. Из преимуществ - часть задач можно делегировать на других.

-7

То есть кто такой архитектор? Это человек который реализует техническую часть бизнес идеи. Если серьезной компании нужно разработать сайт, то они не пойдут к Васе веб мастеру. Они пойдут к архитектору чтобы проект был реализован в указанный срок с указанным бюджетом. Поэтому значительная часть работы архитектора требует софт скиллы и умение вести переговоры и аргументированно обосновать свою позицию.

Архитектор это вершина технической должности, дальнейший рост уже превратит вас в менеджера или руководителя. То есть поработать с кодом у вас уже не получится с тем же размахом что и раньше.

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

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

Подробнее на нашем официальном сайте:

Квалификации программистов - кто такие джуни, мидлы , сеньоры? - Flame-dragons