Корпоративная IT-иерархия или кто такие Джун, Мидл и Сеньор?
В мире IT популярен грейдинг. Это разделение специалистов по их профессиональным качествам с целью определения компетентной заработной платы.
Он помогает как HR-специалистам и работодателям, так и самим работникам выдавать/получать оптимальный расчет за услуги. Также в грейдинге учитываются: уровень ответственности, стоимость ошибок и условия труда.
Грейдинг в IT
Всего в IT выделяют три вида грейда:
- Junior (джун) – начинающий специалист, решающий простые и зачастую рутинные задачи, под кураторством более опытного специалиста.
- Middle (мидл) – более смышленый работник, которому доверяют написание кода, но также под наблюдением профессионалов.
- Senior (сеньор) – настоящий профи, решающий наиболее сложные задачи, и присматривающий за джунами и мидлами.
Это стандартная трактовка каждого уровня грейда. Многие компании используют свои определения и требования к специалистам.
Джун (Junior)
Начинающий разработчик – это джун. Он может иметь звание специалист, но не обладать соответствующим опытом работы. Им доверяют небольшие задачи и пристально наблюдают за качеством их выполнения. Иногда джуны не понимают, какая цель их участия в проекте, но главное, что они могут получить знания, повысить насмотренность и наработать опыт.
Основные профессиональные качества джуна:
- знания основ одного или нескольких языков программирования;
- умение использовать Git;
- развитый скил написания и чтения базового программного кода;
- понимание построения рабочего процесса разработчиков.
В среднем требуется 7 месяцев, чтобы Junior стал на уровень выше – Junior+. “+” демонстрирует наличие начального опыта работы и умение самостоятельно решать примитивные задачи.
Мидл (Middle)
Специалист с опытом работы от 2 до 4 лет – мидл. Это твердый “середнячок”, которому доверяют объемные части проекта. Он знает полный масштаб архитектуры и понимает, что делать со своими знаниями.
Основные профессиональные качества джуна:
- уверенное знание языка/языков программирования;
- умение прописывать работающий код;
- понимание базовых концепций и архитектуры;
- самостоятельность при выполнении технических задач;
- умение быть частью команды.
Здесь также возможно повышение: middle+ – специалист, знающий фреймворк, с которым работает, и изучающий дополнительные, а также middle++ – специалист, способный напрямую общаться с заказчиками и самостоятельно вести небольшие проекты.
Сеньор (Senior)
Профессионал с многолетним стажем – сеньор. Он же управляет проектами и ведет целую команду. В послужном списке – прокачанные soft и hard skills.
Основные профессиональные качества сеньора:
- глубокое знание языка/языков программирования, фреймворков, библиотек и инструментов;
- умение ставить цели каждому члену команды;
- самостоятельная постройка всей архитектуры продукта;
- умение реализовывать весь проект.
Сеньоры могут стать прекрасными управленцами, а именно тимлидами – организовывать и вести целую команду разработчиков, а также архитекторами – работать со сложной архитектурой, взаимодействовать с заказчиком напрямую, создавая и презентуя продукты.
Вывод
Грейдинг в IT – это своего рода карьерный рост и мотивация вырасти из джуна в сеньора. Каждый может пройти этот нелегкий путь. Система позволяет переходить с уровня на уровень, повышать уровень заработной платы, наращивать скилы и увеличивать уровень ответственности.
Больше интересных новостей

Изучение Vue JS в одной статье! Разработка приложения на Vue

Стоит ли в настоящее время становиться Java-разработчиком?

5 разочарований программиста

Какие языки программирования через 10 лет потеряют востребованность?
Junior, Middle, Senior в разработке — кто есть кто и как перейти на уровень выше
Junior зарабатывает от 40 000 ₽, Middle от 100 000 ₽, а Senior от 250 000 ₽ и выше.

Виктория Земскова
Автор статьи
29 марта 2022 в 16:59
Четкой границы между младшим (junior), средним (middle) и старшим специалистом (senior) в IT нет. В одной компании разработчик может быть крепким сеньором, а при переходе в другую компанию стать мидлом, но с сохранением заработной платы и даже ее повышением, потому что в другой компании уровни считаются иначе.
Рассказываем, в чём разница между junior, middle и senior, как понять, что вы уже не джуниор или что мидлу пора становиться сеньором. И что нужно сделать, чтобы продвигаться по карьерной лестнице.
Junior — первая ступень в разработке
Джуниор (junior) — это младший специалист. Он знает теорию, освоил синтаксис одного языка программирования и может писать на нём код. Если джуниор не умеет писать код, то это стажер.
Знания у джуниора обычно не структурированы, но их хватает, чтобы решить простые технические задачи, если указано, что и как сделать.
Положение на рынке труда: джуниору сложно найти первую работу. Компаниям всегда проще нанять мидла или сеньора. Поэтому на открытые вакансии начинающих специалистов претендуют тысячи выпускников курсов и институтов.
Проблемы возникают из-за того, что для обучения джуниору нужен наставник, а несложных задач в разработке немного. Иногда для младшего программиста специально ищут задачи, чтобы он мог на чём-то тренироваться. Это требует ресурсов и даст результат, если из него получится крепкий программист и он останется работать в компании. Поэтому наём джуниора — это риск и в основном их берут на работу с прицелом на рост до мидла.
В Skypro на курсе «Веб-разработчик» можно стать джуниором за 10 месяцев и начать поиск работы по новой специальности. Центр карьеры поможет подготовиться к собеседованиям и тестовым заданиям, составить цепляющее резюме. А портфолио с реальными проектами соберете из домашек и курсовых, которые сделаете под руководством опытных наставников.
Опыт. Год — полтора реальной разработки.
Знания и навыки. Хорошо разбирается в языке и технологии, которую использует компания.
Софт-скилы (личностные качества). Восприятие критики, умение слушать, открытость новому, адаптируемость и обучаемость.
Задачи: технические задачи — четко поставленные, с подробным описанием, что и как нужно сделать. Например, исправить некритичные ошибки, добавить или изменить элементы пользовательского интерфейса. Пример задачи в frontend-разработке — сверстать слайдер по прототипу.
Станьте Java-разработчиком в два раза быстрее
Ускоренный курс для тех, кто хочет быстрее перейти на удаленку

Ответственность. Минимальная.
Зарплата. 40 000 ₽ — 100 000 ₽.

Пример вакансии стажера / backend-разработчика уровня junior на хедхантере
Что делать, чтобы перейти на следующий уровень. Джуниор может вырасти до мидла, если изучит весь набор технологий, используемый командой:
- языки программирования;
- фреймворки — платформы, набор технологий, который помогает разработчику создавать, масштабировать и обслуживать веб-приложения;
- системы управления базами данных;
- компиляторы — программы, которые переводят текст с языка программирования в набор машинных кодов.
Будущему мидлу нужно писать код без ошибок, уверенно, самостоятельно и в срок решать небольшие задачи. А еще читать чужой код и высказывать по нему полезные замечания.
Работодатели высоко оценивают навыки и знания выпускников Skypro. Часто говорят, что после курсов, например «Java-разработчик», на позицию джуниора претендуют начинающие мидлы, которые смогут рассчитывать на повышение уже через полгода-год.
Сколько это займет времени. Зависит от компании: где-то разработчик остается на позиции джуниора два — три года, а в другой — перейдет на новый уровень за год. Разработчик тоже влияет на развитие своей карьеры. Джуниоры с опытом 10–15 лет не редкость, если специалист не хочет развиваться в профессии и брать больше ответственности.
Как происходит переход на уровень мидла. Оценивают компетенции младшего специалиста каждые полгода. Джуниор и его наставник встречаются и изучают цели, которые сотрудник должен достичь, чтобы повысить уровень. Вырос джуниор или нет, решает тимлид (руководитель направления). Если код джуниора принимают после первого ревью (проверка), значит, он может перейти на следующий уровень.
Middle — крепкий середнячок
Мидл (middle) — средний специалист. Это основной разработчик, который выполняет поставленные задачи почти без ошибок. Знает языки программирования и использует дополнительные технологии — например, backend-разработчик погружается во фронтенд и учит Angular. Мидлу не нужна проверка кода, наоборот, он сам проверяет его и исправляет, чтобы тот стал простым и понятным.
Мидл умеет решать нестандартные задачи. Например, если его попросили реализовать назначение прав пользователям, мидл понимает, как выполнить задачу, на какие типы разбить: пользователь, администратор, модератор и т. д. Он не боится задачи на неделю и может ее декомпозировать — разделить на простые и понятные части.
Положение на рынке труда. Мидлов редко увольняют, потому что на них держится вся разработка в команде. Устроиться на новую работу мидлу просто: обычно они ищут предложения о работе, при этом остаются на прежнем месте. На новую работу переходят, если их повышают до сеньора или предлагают зарплату выше.
Опыт. От двух до семи лет.
Знания и навыки. К техническим навыкам джуниора добавляются новые — они приходят только с опытом. Мидл должен досконально знать базу используемых в разработке языков, не поверхностно, а понимать, как изнутри работает технология или фреймворк, иметь опыт работы и теоретические знания стандартных библиотек.
Софт-скилы (личностные качества). Мидл понимает, что работает не один, и умеет договариваться с другими членами команды. Проявляет самостоятельность, нацеленность на результат, большую ответственность и инициативность.
Задачи. Решает бизнес-задачи, которые закрывают конкретную проблему. Ему по силам изменить существующий сервис, добавить новые страницы интерфейса или функции API (протокол, с помощью которого программы общаются между собой и обмениваются информацией). Если говорить о тестировании, мидл умеет писать автотесты (программы для автоматического тестирования приложений) с нуля,без копирования кода, полностью самостоятельно. Мидл способен закрывать, не срывая сроков, 80% поставленных задач.
Ответственность. Полностью отвечает за проект или задачу, которую разрабатывает.
Зарплата. От 100 000 ₽ до 300 000 ₽.

Пример вакансии Python-разработчика уровня middle, от 160 000 ₽ до 260 000 ₽ на хедхантере
Что делать, чтобы перейти на следующий уровень. Для этого программисту нужно изучать новые технологии — например, мультиоблачные среды или блокчейн-технологии. Читать и анализировать исходный код популярных проектов: Facebook (организация признана экстремистской и запрещена на территории России), Uber, Netflix или «ВКонтакте». Изучать разные системы управления баз данных.
Сколько это займет времени. У всех разная скорость и возможность обучения на текущем месте работы. Поэтому важные факторы для роста — стремление к саморазвитию и способность достигать своих целей. В среднем мидлу требуется от четырех до семи лет для перехода на следующий уровень. За это время программист полностью изучит все языки и технологии, которые используются в команде, начнет брать на себя больше ответственности за проект, научится наставничеству.
Как происходит переход на уровень сеньора. Оценивает компетенции мидла технический руководитель или другие старшие разработчики — они и решают, может ли мидл перейти на уровень сеньора. Часто в компании только один сеньор и для повышения уровня программисту нужно искать другое место работы.
Senior — самый опытный в команде
Сеньор (senior) — старший разработчик. Уровень зависит не только от стажа в программировании. Если разработчик 10 лет занимается одинаковыми задачами, вырасти в сеньора не получится.
Сеньор — это самый опытный специалист в команде. Решает сложные задачи, проектирует архитектуру программ и систем и понимает, что в итоге должно получиться при запуске продукта или программы. Такой специалист проверяет код и помогает менее опытным разработчикам. Нередко занимает управляющую должность. Главный показатель сеньора — успешно запущенные IT-продукты, которые работают.
Положение на рынке труда. Сеньоров не увольняют. Кадровики охотятся за ними и переманивают в свои компании. При этом предлагают высокие заработные платы, премии, бесплатный выкуп акций компании, страховки ДМС, обучение за счет компании, оплату обедов, занятия в тренажерных залах.
Опыт. От пяти до семи лет.
Знания и навыки. Создает и продумывает архитектуру проекта, пишет инструменты для решения задач в разработке и фреймворки, которыми пользуются джуниоры и мидлы. От сеньора требуют не только найти решение, но и убедить в его правильности заказчика и команду.
Софт-скилы (личностные качества). Для сеньора характерны наставничество, выработка и принятие решений, многозадачность, клиентоориентирование и планирование.
Задачи: решает сложные и нестандартные бизнес-задачи. Например, получив задачу создать безопасный сервис, который свяжет людей, сдающих жилье, с путешественниками, и прозрачную платформу для оплаты на нём, сеньор вначале узнает, какую проблему решает задача. И может согласиться с ней или предложить свое решение, которое будет менее затратным. Затем сеньор собирает группу для решения задачи, формулирует задания для младших разработчиков, принимает работу и представляет результат компании. Сеньор умеет слушать заказчика, понимает процессы не только с технической точки зрения, он решает задачи бизнеса, даже несформулированные.
Ответственность. Отвечает за весь проект и работу всей команды: за архитектуру, скорость и эффективность кода.
Зарплата. От 250 000 ₽ и выше, верхней границы нет.

Пример вакансии PHP-разработчика уровня senior, от 250 000 ₽ до 700 000 ₽ на хедхантере
Что делать, чтобы перейти на следующий уровень. Возможностей у сеньора больше, чем у джуниора или мидла. Развиваться сеньор может в сторону технического директора, тимлида (руководитель команды), IT-архитектора или создать свою компанию по разработке. Для развития ему нужно повышать технические навыки — глубже изучать языки программирования, их структуру; наращивать софт-скилы — планировать работу свою и команды, брать на себя ответственность за решения и результаты и глубже погружаться в бизнес-процессы компании.
Сколько это займет времени. Как и с сеньором, будет ли мидл расти дальше или нет, зависит от самого человека и возможностей, которые предоставляет текущее место работы. Сеньор может как стать техлидом или тимлидом за два — три года, так и оставаться в прежней позиции всю жизнь.
Как происходит переход на уровень техлида. При открытой вакансии к разработчикам-сеньорам присматриваются руководители компании. Если своих специалистов нет или требуется опыт в технологиях, которые компания не использовала раньше, поиск специалиста ведется на стороне через просмотр резюме и собеседования.
Куда может развиваться сеньор
Техлид (Tech Lead), он же CTO — Chief Technical/Technology Officer, или CIO — Chief Information Officer, директор по информационным технологиям. Это человек, который строит архитектуру для всей команды. Это самый сильный разработчик в команде. Выбирает техническое решение задачи: предлагает использовать определенные фреймворки, технологии и библиотеки. Он же проверяет код и решает самые сложные или ответственные технические задачи. Например, принимает решение об автоматизации работы с облачным провайдером и рассчитывает ROI (окупаемость инвестиций) этой автоматизации.
Тимлид (Team Lead) — одновременно опытный программист и хороший менеджер. Связующее звено между командой и менеджером проектов. Тимлид следит, чтобы у каждого сотрудника была задача и он понимал, как ее делать. В половине случаев тимлид занят менеджерской работой: согласует, раздает задачи и права пользователям, следит за загрузкой программистов, распределяет задания.
Проджект-менеджер (Project Manager) — руководитель проекта. Он координирует проект, организует взаимодействие между отделами, руководителями и заказчиками. В небольшой компании один человек может сочетать в одном лице тимлида и руководителя проекта. В больших — эти должности занимают два человека, каждый со своим уровнем ответственности.
IT-архитекторы — это разработчики с большим опытом реализации коммерческих проектов, которые умеют закладывать архитектуру (каркас) сложной IT-системы. Главная задача IT-архитектора — найти оптимальное решение между потребностями заказчика и возможностями команды.
Как пройти путь от программиста-одиночки до руководителя отдела IT в 500 человек
Павел Щербинин — технический директор в «Яндекс.Практикуме», руководитель отдела в 500 человек, экс-вице-президент по технологиям в «СберМаркете» в интервью Skypro рассказал о своей карьере в разработке.

Павел, расскажите о своём образовании.
У меня высшее профильное образование. Я учился в Ступинском филиале Московского авиационно-технического института имени Циолковского (МАТИ), на факультете автоматизированных систем управления.
Какой была ваша первая стажировка или работа? Чему она вас научила?
Моя первая серьезная работа была в компании, которая занималась автоматизацией информационных систем Росздравнадзора. До неё я был программистом-фрилансером, делал сайты на заказ, но это не считается. Своей первой настоящей работой в IT я считаю именно работу в команде.
На стажировке я узнал, что качество моего кода, писать который я учился по книжкам и урокам, не соответствует реальным проектам. И всё, что я делал раньше, было плохого качества. Работая рядом с крутыми программистами, я понял, как писать код, за который не стыдно. Я начал выходить за рамки поставленных задач: разбираться, как и что устроено и почему так написано, а не иначе, как правильно структурировать код по файлам, функциям и т. д. Я многому научился именно на своей первой работе.
Что, по вашему мнению, больше всего оказало влияние на вашу карьеру в IT?
Самое большое влияние на мое профессиональное становление оказала первая работа. Меня окружали крутые специалисты и, самое важное, мне давали пространство и стимул для роста. Они никогда не правили мой код, а спрашивали, что именно не работает. Моя задача была сформулировать вопрос, чтобы получить ответ от опытных коллег и уже самому разбираться в проблеме. Приходилось самостоятельно доходить до каждого решения. Это оказалось суперполезно.
Второе — интерес к программированию. Мне всегда было интересно, как всё устроено, и я старался погрузиться как можно глубже. Вспоминаю очень интересный переломный момент. Когда-то я думал, что я очень хорош в программировании: много лет писал код, выступал на конференциях и был их организатором. И вот я решил посмотреть, как устроено несколько модулей из языка Perl. Я смотрел исходный код и понимал, что не могу его прочитать. И не из-за того, что он плохо написан, а потому, что были использованы конструкции, которых я не знал.
Это стало большим рывком в профессии, погружение в то, как всё устроено. Мне приходилось много читать техническую литературу и чужой код, чтобы разобраться, как и что работает. И конечно, это сильно повышало мой уровень, как программиста.
Кто такие джун, мидл и сеньор?


В мире IT-индустрии разработчики делятся на три основных уровня: джуниоры (Junior), мидлы (Middle) и сеньоры (Senior). Эти три уровня обычно отличаются опытом, уровнем знаний и навыков, а также ответственностью и уровнем заработной платы. Рассмотрим каждый из этих направлений и разницу между ними. 1. Кто такой Junior-программист Джуниор-разработчик – это человек, который только начинает свой путь в IT-индустрии. Он может быть молодым выпускником курсов, университета или переориентироваться на IT из другой области. Есть несколько важных вещей, которые нужно знать, чтобы стать успешным джун-разработчиком: основы программирования, инструменты разработки (например, Git, JIRA, Docker) и фреймворки (для веб-разработки это могут быть Angular, React или Vue). 2. Кто такой Middle-разработчик Мидлы, как правило, имеют опыт в разработке программного обеспечения и способны работать в качестве лидеров в команде разработки. Несмотря на то, что уровень мидла означает средний, эти разработчики играют важную роль в создании и поддержании программного обеспечения. Что нужно знать мидл-разработчику, чтобы быть успешным в своей работе: языки программирования, опыт работы от 2 до 5 лет, базовые знания веб-технологий, понимание архитектуры программного обеспечения. 3. Кто такой Senior-программист Сеньоры – это опытные разработчики, которые обладают глубокими знаниями в различных областях разработки программного обеспечения. Такой программист должен иметь опыт работы 5 до 10 лет, архитектурные знания и уметь решать сложные задачи. Более подробно обо всех этих уровнях программирования расскажет карьерный консультант Kata Academy. Система градации и уровни были условно приняты рекрутерами/HR-специалистами и работодателями, чтобы как-то определять стоимость специалиста на рынке труда. Суть заключается в том, что стоимость специалиста зависит от того, какими навыками и в течение какого срока он обладает. Как правило различают три уровня: – Junior (джун) – начинающий специалист, который только вошел в коммерческую разработку. Отличия джуна от других уровней в том, что у него, как правило, нет опыта коммерческой разработки и на проекте такие сотрудники работают под присмотром более сильных специалистов (ментор/наставник). Из тех навыков , которыми обладают джуны: знание основ своего языка программирования, понимание того, как строятся процессы в команде, умение читать и писать базовый код. Как правило, джун перестает быть джуном спустя 8-12 месяцев, этого срока достаточно для того, чтобы укрепить свои навыки. – Middle (мидл) – специалисты , у которых уже есть опыт коммерческой разработки. Мидлы разрабатывают более крупные части проекта и понимают основы архитектуры проекта. Из тех навыков, которыми обладают мидлы: умение писать хороший код, понимание базовых концепций своего языка, работа в команде и взаимодействие с коллегами, умение самостоятельно выполнить сложные как технические так и управленческие операции. – Senior (сеньор) – самый сильный игрок в команде. Это люди, у которых очень хорошо развиты как менеджерские качества (управление командой/коммуникация/оперативность), так и профессиональные. Как правило , после этой ступени специалисты идут либо на управленцев (лид), либо на архитекторов проекта. Из тех навыков, которыми обладают сеньоры: углубленное понимание фреймворков, библиотек и инструментов разработки, умение закладывать архитектуру сайта/приложения/проекта, управленческие качества, умение быть ментором, умение реализовать проект с нуля. Со своей стороны хотел бы добавить следующее: нет каких-то четких показателей и цифр, в соответствии с которыми специалисты разделялись бы на уровни, так как требования к ним от компании к компании разнятся. В одной компании вас могут оценить как сильного мидла, в другой компании, как среднего джуна. Бывает и такое, что человек расценивается руководителем как мидл, но придя на проект выполняет обязанности и задачи, которые в другой компании выполнял бы например джун. Учитесь, развивайтесь и не стойте на месте. Старайтесь постоянно повышать уровень своей компетенции.

Как распределяются обязанности между специалистами в IT-компаниях? Разберем этот вопрос на примере работы ИТ-интегратора Fusion.
В каждой компании по-своему определяют, какие скиллы должны быть у джуна, мидла и сеньора, четких критериев в мире HR нет. Расскажу, как у нас в компании разделяются эти грейды. Джун или младший сотрудник – это специалист совсем без опыта работы или с минимальным. Под опытом мы в том числе понимаем стажировки, участие в хакатонах. Такой специалист должен быстро обучаться, уметь воспринимать большое количество новой информации. Конечно, он должен быть мотивирован, чтобы не перегореть от огромного потока получаемых знаний. В задачи такого специалиста входит помощь старшим коллегам в решении задач. В нашей команде за джуном всегда закрепляется ментор, более опытный специалист, который обязан помочь в любой сложной ситуации. На джуна ложится минимум ответственности, так как более опытный сотрудник должен проверить, как выполнил задание его младший коллега. Мидл – это сотрудник уже с достаточным опытом для самостоятельной работы. Ему доверяют небольшие проекты и задачи среднего уровня. Мидлы не просто пишут код, но и придумывают решение для сложных задач. Они, в отличие от джунов, могут ходить на встречи с клиентом, так как без труда объяснят сложные процессы простым языком. Мидл – основной специалист отдела разработки. Сеньор – это старший специалист, гуру и эксперт в разработке. Он умеет выполнять даже самые сложные задачи, как правило, является наставником для джунов. Не все мидлы становятся сеньорами, некоторым не хватает знаний, другим – soft skills. Ведь в грейде сеньора важно не только знать, как писать код, но и понимать распределять нагрузку сотрудников, которые находятся под твоим руководством, уметь коммуницировать с коллегами, клиентами, брать инициативу и всю ответственность за проект на себя.
Читать еще:

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

Как правильно изучать языки программирования
Как эффективно изучать программирование. Советы, которые помогут лучше и эффективнее учить любой язык программирования.

7 лучших редакторов кода для разработчиков
Выбираете редактор кода для разработки? Обзор самых популярных и удобных редакторов — читайте в блоге Kata Academy.
Джун, мидл и сеньор: разбираемся, кто есть кто

Деление специалистов на junior, middle и senior хорошо знакомо разработчикам — так обычно определяют уровень компетенций. Но каких требований ожидать от работодателя, если ему нужен «джун», «мидл» или «сеньор»? Попробуем разобраться.
Возраст и опыт — далеко не главное
Человек, который мало знаком с IT, может подумать, что senior — это разработчик, который много лет отдал своей профессии, middle — программист среднего возраста, а junior — вчерашний школьник, который начинает осваивать программирование.
Нельзя сказать, что это полное заблуждение. Нередко джуны действительно молоды, мидлам около 35 лет, а у сеньоров уже седеют волосы. Но не так уж редко встречаются солидные джентльмены, работающие на позиции middle и даже junior под руководством молодого senior-разработчика. Все зависит от компетенций человека, его личностных качеств и, конечно, возраста старта в профессии.
Так в чём различие?
Есть несколько способов понять, кто есть кто, но самый простой и эффективный — посмотреть исходники. Если код сложной программы без труда могут разобрать другие разработчики, у него понятная архитектура и стройная логика — скорее всего, его писал сеньор. И напротив, если код простого продукта получился причудливым, со сложными абстракциями и странными однострочниками — над ним наверняка работал джун.
Сеньоры заботятся о простоте кода — чтобы его легко освоили коллеги, а поддержка не доставила хлопот. Джунам для этого не хватает опыта — они действуют по принципу «Если работает, то всё отлично». До читаемости и чистоты кода руки не доходят.
Если для сравнения взглянуть на код, написанный сеньором, может даже возникнуть недоумение: «Да как так, сложная ведь программа, а так изящно и просто написана!» Этот навык приходит с опытом и далеко не ко всем.
Разница только в коде?
Нет, на этом различия не заканчиваются. Рассмотрим внимательнее специалистов каждого уровня, а затем сопоставим наблюдения.

Junior
В большинстве случаев джуны реализуют простые задачи: например, части проекта, которые затем объединяются. Они делают кирпичики, из которых можно возвести пригодный для жизни дом. При этом джуны зачастую не представляют себе масштабы здания, в постройку которого они вкладываются.
Хорошим джуном считается тот, который может самостоятельно работать над своими «кубиками» — техническими задачами. При этом важно, чтобы его разработки нормально функционировали, когда их встраивают в приложение или сервис.
Скорее всего, на следующий уровень выйдет джун, который:
- стремится развиваться и реализует свои возможности,
- энергичен и целеустремлён,
- умеет с холодной головой воспринимать критику.
Middle
Джун, который набрался опыта, улучшил компетенции и научился чисто выполнять свои задачи, может претендовать на позицию мидла. Буквальный перевод слова middle — «середина», но на самом деле в разработке мидл ближе к сеньору, чем к джуну.
Мидлы осознают масштабы проекта, но тоже разрабатывают только его части, хотя и более крупные. Мидл способен самостоятельно выполнять сложные задачи в рамках проекта, причём не только технические, но и административные. На этом уровне разработчик должен понимать требования бизнеса и уметь реализовывать их на практике.
Важные качества мидлов:
- они понимают функции и структуру продукта, который разрабатывают, и поэтому их решения эффективны;
- у них есть опыт в разработке приложений и сервисов в нужной отрасли, так что им под силу больше задач;
- мидлы хорошо владеют стандартными инструментами и шаблонами, а также знают, когда и для чего их применять;
- в ходе разработки они учитывают не только свои интересы и предпочтения — мидлы понимают, что работают в команде, и умеют взаимодействовать с коллегами.
Senior
Эта ступень не каждому доступна — многие разработчики остаются на уровне мидла всю карьеру. Чтобы подняться выше, нужны «тонкие» компетенции, которые позволят решать задачи, которые не под силу больше никому. Нужно знать и уметь больше, чем большинство коллег. Например, не просто писать хороший код, а учитывать в нём инструментарий и специфику компании. Сеньоры могут самостоятельно разработать масштабное приложение или сервис с нуля — потому что понимают архитектуру и знают, что и как должно быть создано.
Сеньору требуется не только навык командной работы, как мидлу, но и управленческий опыт. Значит, нужны и коммуникативные навыки. Сеньор может убедительно донести свою точку зрения до команды и руководства, а после реализовать предложенную идею. Он всегда знает, как задать вопрос (и коллеге, и поисковому сервису), чтобы получить нужный ответ. И ещё синьор — это часто ментор: помогает джунам осознать масштабы проекта, правильно работать и развиваться.
Сеньор должен глубоко понимать устройство библиотек, фреймворков, инструментов разработки. Иначе конечный продукт будет вести себя непредсказуемо.
Такой специалист в команде — это фактор стабильности. Он понимает технические риски и знает, как их снизить. Задача сеньора — сделать так, чтобы в коде совсем не было «костылей», которыми грешат джуниоры и мидлы. Без вмешательства опытного руководителя иногда получаются такие продукты, которые ассоциируются разве что с фантастическим гибридом бегемота с носорогом, у которого есть ещё гены утконоса и лотоса. Работает этот монстр Франкенштейна — и ладно.
В сухом остатке
Мы видим, что разница между тремя категориями специалистов — не в возрасте или стаже. Главные различия состоят в отношении к самому процессу разработки, в его понимании и осознании. Об этом и цитата в эпиграфе статьи: она очень точно характеризует новичков и профессионалов.
В GeekBrains мы готовим и джунов, и специалистов уровня middle. Для первых у нас есть короткие курсы — «профессии», а для вторых — более продолжительные программы на факультетах GeekUniversity. Выбирайте сами, по какому маршруту сократить путь до позиции сеньора 🙂
