Корпоративная IT-иерархия или кто такие Джун, Мидл и Сеньор?
В мире IT популярен грейдинг. Это разделение специалистов по их профессиональным качествам с целью определения компетентной заработной платы.
Он помогает как HR-специалистам и работодателям, так и самим работникам выдавать/получать оптимальный расчет за услуги. Также в грейдинге учитываются: уровень ответственности, стоимость ошибок и условия труда.
Грейдинг в IT
Всего в IT выделяют три вида грейда:
- Junior (джун) – начинающий специалист, решающий простые и зачастую рутинные задачи, под кураторством более опытного специалиста.
- Middle (мидл) – более смышленый работник, которому доверяют написание кода, но также под наблюдением профессионалов.
- Senior (сеньор) – настоящий профи, решающий наиболее сложные задачи, и присматривающий за джунами и мидлами.
Это стандартная трактовка каждого уровня грейда. Многие компании используют свои определения и требования к специалистам.
Джун (Junior)
Начинающий разработчик – это джун. Он может иметь звание специалист, но не обладать соответствующим опытом работы. Им доверяют небольшие задачи и пристально наблюдают за качеством их выполнения. Иногда джуны не понимают, какая цель их участия в проекте, но главное, что они могут получить знания, повысить насмотренность и наработать опыт.
Основные профессиональные качества джуна:
- знания основ одного или нескольких языков программирования;
- умение использовать Git;
- развитый скил написания и чтения базового программного кода;
- понимание построения рабочего процесса разработчиков.
В среднем требуется 7 месяцев, чтобы Junior стал на уровень выше – Junior+. “+” демонстрирует наличие начального опыта работы и умение самостоятельно решать примитивные задачи.
Мидл (Middle)
Специалист с опытом работы от 2 до 4 лет – мидл. Это твердый “середнячок”, которому доверяют объемные части проекта. Он знает полный масштаб архитектуры и понимает, что делать со своими знаниями.
Основные профессиональные качества джуна:
- уверенное знание языка/языков программирования;
- умение прописывать работающий код;
- понимание базовых концепций и архитектуры;
- самостоятельность при выполнении технических задач;
- умение быть частью команды.
Здесь также возможно повышение: middle+ – специалист, знающий фреймворк, с которым работает, и изучающий дополнительные, а также middle++ – специалист, способный напрямую общаться с заказчиками и самостоятельно вести небольшие проекты.
Сеньор (Senior)
Профессионал с многолетним стажем – сеньор. Он же управляет проектами и ведет целую команду. В послужном списке – прокачанные soft и hard skills.
Основные профессиональные качества сеньора:
- глубокое знание языка/языков программирования, фреймворков, библиотек и инструментов;
- умение ставить цели каждому члену команды;
- самостоятельная постройка всей архитектуры продукта;
- умение реализовывать весь проект.
Сеньоры могут стать прекрасными управленцами, а именно тимлидами – организовывать и вести целую команду разработчиков, а также архитекторами – работать со сложной архитектурой, взаимодействовать с заказчиком напрямую, создавая и презентуя продукты.
Вывод
Грейдинг в IT – это своего рода карьерный рост и мотивация вырасти из джуна в сеньора. Каждый может пройти этот нелегкий путь. Система позволяет переходить с уровня на уровень, повышать уровень заработной платы, наращивать скилы и увеличивать уровень ответственности.
Больше интересных новостей
5 советов для начинающих программистов
Рисуем героя из Among Us / Библиотека Python Turtle
Создание Java программы с дизайном! Изучение библиотеки JavaFx
Тренды 2023 года в сфере IT / Популярные направления
Джун, мидл, сеньор. В чём разница
«Я ещё джун или уже не джун?» — вот в чём вопрос. Отвечает Наталья Ёркина из Ostrovok.ru.
- Как провалить собеседование
- 6 советов для джуна
Опыт и знания программистов увеличиваются во время работы — и джуны не исключение. Обычное дело — прийти на работу, узнать что-то, порешать задачи и через пару месяцев подумать «Ну вот я уже, наверное, и стал мидлом, надо просить зарплату в два раза выше».
А чаще всего не пора, и вот почему.
Дисклеймер: нет простого способа определить, джун перед вами или уже мидл. Умение находить множественные решения задач — только один из способов.
Джуны — младшие разработчики
Джуны — программисты, которые иногда не знают, что именно они знают (и никто из коллег тоже не знает). Это тот случай, когда не совсем понятно, что человек умеет, и совсем не ясно как он это применяет на практике.
Тест на джуна: придумайте больше двух способов сделать слайдер на сайте
Тест на джуна: придумайте больше двух способов сделать слайдер на сайте.
Вы джун, если придумали одно или два решения без особого обоснования, а дальше пошли смотреть в Гугл.
Джуны обычно не могут объяснить вещи, которые нужно сначала потрогать на практике.
Например, event loop в JavaScript. Про него всё написано, но до тех пор, пока программист с ним не поработал, он не поймёт, как там всё организовано. Когда я проходила собеседование на джуна, я вообще не знала половину этих слов. Я не могла ответить на вопрос, потому что просто не понимала, о чём меня спрашивают.
Джун, который немного поработал в настоящей компании, может решать задачи разных уровней. Вопрос только в том, как он это делает. Чаще всего, решение будет одно, максимум два, потому что у джуна нет опыта решения подобной задачи через множественные подходы. Он может нагуглить, может сам решить, но это условные 1-2 варианта, а всё остальное будет казаться сложным, непонятным и нереализуемым.
Ещё один признак джуна — попросить помощь на типовых задачах. В этом нет ничего плохого, но если разработчик на типовых задачах запрашивает помощь, то он почти всегда джун (или зануда-мидл, который просто любит всех отвлекать).
Стереотип о джунах
Есть стереотип, что джун — это человек, который ничего не умеет, и пришёл устраиваться вообще без навыков и знаний. Так думают многие, и с этим стереотипом сложно бороться.
Джуны умеют делать многое, просто у них нет опыта преодоления сложностей, так как нет опыта работы. Он знает, как сделать и раскрасить попап, сверстать слайдер и много чего ещё.
Джун — не приговор. Просто учитесь решать задачи.
Хороший джун знает или хотя бы слышал, как устроена разработка в современных компаниях — он умеет пользоваться системами контроля версий, понимает, что за чем идёт, и владеет базовым набором инструментов. HTML Academy готовит джунов так, чтобы они выпускались с нормальным набором знаний, а мы доучиваем их под свои реалии.
Мидлы — просто разработчики
Мидл хорошо пишет код, генерирует много вариантов и умеет выбирать из них оптимальный. Понимает базовые концепции, хорошо знает язык, на котором пишет. Мидл легко своими словами расскажет, как работает браузер, какие в нём инструменты и как ими пользоваться, как работает асинхронность и другие вещи из языка.
Мидл сразу понимает, о чём написано в технических статьях, потому что ему уже знакома вся терминология.
Если джун может придумать всего одно или два решения для задачи, то мидл эту задачу видел несколько раз, получал по ней фидбэк, решал её по-разному из-за стека, рабочего окружения и прочих обстоятельств в виде необходимости поддерживать IE11. Поэтому его решение скорее всего будет оптимальнее. К тому же, он может выбирать решения, а джун решает так, чтобы что-то просто работало.
Когда человек из головы может объяснять абстрактные вещи типа замыкания и контекстов, а также без труда видит возможные варианты решения задач, или знает где их взять и как применить, тогда он, по-моему, может считаться мидлом.
Тест на мидла: вас попросили решить нетипичную для вас задачу.
Вы мидл, если сказали «Ух ты ж блин, как интересно», немного подумали и решили.
Программисты часто переходят между командами ради повышения уровня сложности и смены задач. Однажды мы взяли джуна в аналитический отдел. Он хорошо работал и за год стал мидлом. Перешёл в команду, которая делает внутренний продукт, и сейчас прекрасно себя там чувствует. То есть он год делал какие-то простенькие джуновые задачи — месяца три что-то совсем простое, потом мы ему стали давать задачи уровня мидла. Он их успешно выполнял, и его перевели в другой отдел на другой уровень сложности.
Сеньоры — старшие разработчики
С работой в одной команде связан интересный эффект. Пока программист работает в одной и той же компании и занимается каждый день одним и тем же, ему может показаться, что всё получается хорошо. Чтобы понять, пора ли просить зарплату сеньора, попроситесь в другой отдел и поделайте их задачи. Если не получается делать хорошо, быстро и с первой попытки, значит ещё рано.
Сеньор — программист, который может перейти в другой отдел с принципиально другими задачами в рамках одной компании, ничего там не сломать и не затормозить работу.
Тест на сеньора: вас попросили решить нетипичную для вас задачу.
Вы сеньор, если сказали «Ух ты ж блин, какая интересная задача, надо бы её делегировать, пусть и остальные учатся».
Если человек может в одном отделе немножечко пилить аналитику, а в другом отделе поделать чуть-чуть фронтовый бэкенд на Node.js, а потом ещё уйти в совсем другую вещь и написать код на Vue.js, хотя на нём до этого не очень и писал (ну просто так сел и разобрался), то, скорее всего, он уже сеньор.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Джуны, мидлы и сеньоры: в чём разница
HR-специалисты и работодатели придумали систему грейдов, чтобы было проще определять стоимость специалиста на рынке труда. Суть грейдов в том, что зарплата работника зависит от совокупности факторов: уровня ответственности, условий работы, цены ошибки.
Какие грейды есть в IT
В IT-среде выделяют три основных грейда:
- Junior (джун) — решает простые задачи под присмотром более опытных товарищей.
- Middle (мидл) — пишет код самостоятельно, но всё ещё находится под присмотром старших.
- Senior (сеньор) — делает всё сам: занимается архитектурой, взаимодействием систем и другими высокоуровневыми вещами.
Деление условное, в разных компаниях требования к работникам могут различаться.
Кто такие джуны
Младшие разработчики, или джуны, — начинающие программисты. Они многое умеют, но у них нет главного — опыта работы. Джуны выполняют простые задачи под руководством наставников, например какую-то часть проекта. Зачастую они не понимают, зачем это делают, но это нормально. Главная цель джуна — чтобы всё работало.
От джуна ждут, что он:
- знает основы своего языка программирования;
- умеет писать и читать базовый программный код;
- умеет пользоваться Git;
- примерно понимает, как строятся процессы.
Через 6–8 месяцев джун может вырасти до junior+. Знак «+» говорит о том, что у разработчика есть базовые навыки и он может самостоятельно решать простые задачи.
Кто такие мидлы
Разработчики уровня middle (мидлы) — программисты с опытом от 2 до 4 лет. Это промежуточная должность в карьере IT-специалиста. В отличие от джунов, мидлы разрабатывают более крупные части проекта и осознают весь масштаб архитектуры.
От мидла ждут, что он:
- умеет писать работающий код;
- хорошо знает язык, на котором пишет, и понимает базовые концепции;
- может самостоятельно выполнять сложные технические и базовые управленческие задачи;
- умеет работать в команде и взаимодействовать с коллегами.
В некоторых компаниях в процессе работы мидл может получить два повышения:
До middle+ — знает свой фреймворк, на котором работает, и осваивает другие.
До middle++ — почти сеньор: может проектировать несложные системы и напрямую взаимодействовать с заказчиком.
Кто такие сеньоры
Старшие разработчики, или сеньоры, — ключевые люди в команде. Это специалисты с прокачанными гибкими (soft skills) и твёрдыми (hard skills) навыками. До этой ступени сложно дорасти. С неё открывается дорога на управленческие должности: тимлида или архитектора.
От сеньора ждут, что он:
- глубоко понимает устройство библиотек, фреймворков, инструментов разработки;
- умеет разрабатывать архитектуру продукта: сайта или приложения;
- имеет управленческие навыки: может ставить цели команде и достигать их;
- может самостоятельно реализовать новый проект с нуля;
- может выступать наставником.
При должном старании сеньор может перейти на управленческие должности:
Стать тимлидом (team lead) и работать с людьми: организовывать и контролировать команду, грамотно расставляя приоритеты по задачам.
Стать архитектором (architect) и работать со сложными техническими системами, формировать структуру продукта. Архитектор не только создаёт продукт, но и доносит своё видение до заказчика и разработчиков.
Что в итоге
Плох тот джун, что не хочет стать сеньором. Система грейдов, выстроенная рекрутерами и работодателями, служит как мотиватором, так и лакмусовой бумажкой. Она помогает определить готовность работника перейти на следующий уровень: с новой нагрузкой, ответственностью, зарплатой, бонусами и премиями.
Джуны, мидлы, сеньоры и тимлиды. Кто, где и сколько заработает?
Автор: Анна Бамбульская
Зачем программистов делят на «касты», что об этой градации говорят сами айтишники и, самое главное, сколько платят разным специалистам? О том, как мир информационных технологий выглядит изнутри, читайте в новом выпуске нашей рубрики «Войти в IT».
В рубрике «Войти в IT» мы часто упоминаем джуниоров (Junior), мидлов (Middle) и сеньоров (Senior) — так принято характеризовать уровень подготовки разработчиков от новичков в профессии до суперспециалистов. Но есть ещё и категория тимлид (teamlead), занимающая особое место и в иерархии специалистов, и в зарплатной сетке.
Сегодня мы подробнее расскажем, почему существует такое «неравенство» в мире IT и как к нему относятся сами разработчики. А также узнаем, сколько зарабатывают специалисты в области создания программного обеспечения разного уровня.
Значение слов можно посмотреть в нашем специальном словаре.
А дальше — история про то, что в эти понятия вкладывают сами разработчики.
Герой предыдущего выпуска рубрики бэкенд-разработчик Алексей Кулишкин в компании Gems developement занимает позицию мидла, но сам себя оценивает как начального мидла или очень крепкого джуна.
— Это абсолютно абстрактное разделение, оно субъективно для каждого человека. Обычно твою позицию определяют либо руководители компании, в которой ты работаешь, либо просто авторитетные представители сообщества. На мой взгляд, джун — это начальный разработчик, который освоил базу, «зелёный» специалист. Не надо думать, что это бесполезный разработчик, — он может и умеет выполнять задачи, но под чьим-то надзором. Ты не можешь просто дать ему набор заданий и сказать «сделай», ему надо помогать. Что касается мидла, то этот разработчик может выполнять поставленные задачи самостоятельно, без контроля извне. Он сам разберётся, договорится, определится. Сеньор — это уже суперкрутой специалист в какой-то узкой области. Он видит продукт глобально, а не только его отдельные части, и уже на старте понимает, что необходимо сделать, чтобы получить планируемый результат. Иногда увидеть картину целиком сложно даже опытному разработчику, поэтому некоторые мидлы никогда не становятся сеньорами, — пояснил «Омск Здесь» Алексей Кулишкин.
В целом среди разработчиков разделение на статусные позиции считается достаточно условным и может варьироваться в проектном режиме. Об этом говорит ещё один из героев нашей рубрики — Unity-разработчик gamedev-студии GameGears (Кипр) Александр Шмидтке.
— У нас в компании по классификации всё довольно условно (при этом сам Александр занимает позицию сеньора — прим. ред.). Явного грейда нет. Каких-то определённых критериев тоже нет. Но такое разделение иногда необходимо, чтобы условно оценить уровень кандидата, но это редко и вообще как будто и не нужно. Границы размыты и зависят ещё и от конкретного проекта, — уточнил Александр.
— В разных компаниях своя квалификация. Часто создаются определённые роли внутри, где только сеньор делает ревью и где для джуна есть свои задачи. Разделение на все эти позиции — это что-то вроде звания внутри компании. Ну и когда берут на работу именно сеньора, а не мидла, то, вероятно, у компании уже сформирована определённая роль для него, — делится опытом разработчик Анатолий, работающий в Европе.
— Сеньор — это всё же тот человек, который может продумать последовательность задач на год вперёд таким образом, чтобы максимально избежать ошибок. Он может прочитать геймдизайн-документ (ГДД) и сразу выдать геймдизайнеру (ГД) ряд провокационных вопросов о будущей фиче и о её интеграции с проектом в целом. Опять же, чтобы избежать переделок и промежуточных версий, — поделился ещё один специалист на условиях анонимности.
По мнению СЕО Antro Евгения Князева, подобное разделение возникло просто потому, что это упрощает коммуникацию, позволяет оптимизировать процесс формирования проектной команды, а ещё и заставляет самого соискателя максимально трезво оценивать свои силы.
— Человеческий мозг любит, когда есть какие-то категории и в них можно кого-нибудь запихать, просто ему так проще воспринимать. Поэтому и возникла история с джунами, мидлами и сеньорами. Такая градация часто используется в сообществе. Но сейчас уже этого не хватает, и появляются промежуточные варианты: мидл+/мидл-, джун+/джун-, Middle to Senior, как в школе 5+/-, 3+/-. С одной стороны, эта штука является средством для коммуникации, с другой — у неё есть свои минусы. По сути, эта иерархия не даёт конкретики. Но самый главный минус в том, что джун, мидл, сеньор в зависимости от компании имеют разные компетенции. И далеко не факт, что человек, занимающий позицию мидла в одной организации, сможет претендовать на неё в другой. Потому что различаются стеки, задачи, используются разные инструменты. Но очевидно, что от этой системы разделения сообщество не планирует уходить, — подчеркнул Евгений Князев.
В подавляющем большинстве случаев над проектом работает команда специалистов. И как любому другому коллективу, команде разработчиков нужен лидер. Именно им и является тимлид.
Это не столько должность, сколько роль неформального руководителя команды программистов. Лидер команды должен обладать навыками первоклассного разработчика и хорошего менеджера. Он руководит командой и координирует её работу, организует обучение разработчиков, может взаимодействовать с заказчиком в качестве эксперта, представлять интересы команды при необходимости.
— Это старший товарищ, пример для подражания, технический эксперт, менеджер команды, специалист по развитию персонала и по межкомандному взаимодействию и, конечно же, разработчик ПО — всё в одном лице. Он выполняет функции посредника между своей командой и руководством компании, между своей командой и заказчиками, — объяснил суть своей работы разработчик-эксперт, лидер одной из команд Gems development Дмитрий Ульянов. — Обычно руководитель-менеджер стоит над командой и только раздаёт задачи, а тимлид является её лидером и неотъемлемой частью одновременно, поскольку тоже пишет код. И даже подходы к распределению задач у менеджера и лидера разные. Например, часть моей работы — заряжать людей, искать вектор для их развития. Поэтому, если какому-то человеку не хватает компетенций, я могу дать задачу, которая поможет ему прокачаться именно в этой области. При этом на решение такой задачи у него уйдёт гораздо больше времени, и он будет со мной консультироваться, тратя и моё время тоже. Но зато он в ней разберётся и в будущем уже сможет справляться с подобными задачами самостоятельно. Обычный менеджер на моём месте поступил бы по-другому: отдал задачу тому, кто выполнит её лучше и быстрее всех.
— Тимлид похож на садовника, который выращивает коллектив, но в процессе должен выдавать и конкретный результат: два ящика помидоров, три ящика морковки и так далее, — привёл аналогию ведущий разработчик Gems development Дмитрий Передера.
Стать тимлидом, уверяют наши собеседники, можно двумя способами. Или ты показываешь себя хорошим экспертом и лидером в команде, зарабатываешь авторитет, и тебя признаёт команда, а вслед за ней и руководство. Или ты начинаешь новый проект, тебе в команду дают людей — тут ты в 90 % случаев автоматически становишься лидером. При этом не каждый сильный разработчик может стать тимлидом:
— Здесь в первую очередь важны лидерские качества. Тимлид поддерживает здоровую атмосферу в команде, выступает в качестве балансира, помогает членам команды принимать решения. Хороший тимлид развивается вглубь в своём узком профиле, наращивает лидерские качества и параллельно осваивает и другие компетенции, чтобы понимать специфику работы коллег. Если тимлид — самый сильный разработчик, но не умеет распределять обязанности, если он постоянно говорит «давай я лучше сам сделаю», то из лидера команды он превращается в лошадь, на которой едут. Тимлид должен помнить, что он работает в команде экспертов, и не бояться доверять им сложные задачи, — пояснил Дмитрий Передера.
С иерархией разработчиков разобрались, теперь пришла пора узнать, сколько они могут получать. И у нас в России, и в других странах, по сути, зарплатная вилка зависит от компании, типа предлагаемого продукта и от языков программирования, на которых идёт разработка. И только потом от позиции, которую занимает тот или иной разработчик.
— На зарплату влияет достаточно много вещей, непосредственно связанных с организационными позициями самой компании, в которую ты планируешь идти. Понятно, что в условном «Авито» будут платить больше, чем в маленьком новом агентстве в Тюмени. Потому что у одних ребят очень много денег, у других — ещё очень мало денег. Если полностью забыть, что есть разные компании, с разными финансовыми возможностями, то ключевые параметры это опыт непосредственно в коммерческой деятельности, вопрос релевантности этого опыта. Также влияет на зарплату вопрос умения обучать, работать над оптимизацией процесса, делать вещи, которые требуют Soft skills. Вопрос образования идёт далеко от этого, — считает Евгений. — Лично для меня неважно, окончил человек вышку по менеджменту или по графическому дизайну, если после этого он уже 10 лет занимается разработкой и прекрасно с этим справляется. По факту всё решается на первом и техническом собеседованиях. Только теоретическая база не даёт реального профита. Учиться можно по-разному. Важен опыт, то, что человек умеет делать. И чем выше позиция, тем больше требований и задач, которые он должен уметь выполнять — за это компании готовы платить.
Согласно информации, полученной от HR-специалиста, работающего в Европе, зарплата там зависит от уровня, глубины опыта, особенностей задач. Медиана текущих зарплат, например, Unity-разработчиков (сколько ребята получают в компаниях против желаемых зарплат при переходе в другую организацию) выглядит так:
— Ещё необходимо понимать, что в компаниях есть разное соотношение оклада и социальных бенефитов, материальных бонусов. Бывает ниже оклад, но обширная программа компенсаций, или высокая зарплата и бонусы сверху. Правда, в таких компаниях и высокие требования к опыту, а задачи могут быть неинтересными. Всё очень индивидуально, и стоит подбирать лично под себя, — пояснил HR.
Исходя из всего вышесказанного, можно сделать вывод, что для самих программистов не столь важно разделение на джунов, мидлов и сеньоров. Это необходимо лишь для того, чтобы понимать, без особого объяснения, кто на что способен и каков уровень специалиста в конкретной компании. А также для упрощения определения уровня зарплаты. Она, в свою очередь, зависит от финансовых возможностей компании, поставленных задач, сложности их выполнения и реальных компетенций специалиста.
Вы можете освежить в памяти информацию о том, кому отдают предпочтение работодатели, если речь идёт о начинающих айтишниках. Как поработать над своими мягкими навыками, которые так необходимы программистам. UX/UI-дизайнер Gems development Евгений Аношин рассказал о том, зачем действующим программистам нужна прокачка. Выяснили, где и как студенты-айтишники могут устроиться на работу сразу после получения диплома.
Вместе с деканом ФЦТК ОмГУ Александром Кабановым мы покопались в стереотипах об айтишниках и поняли, что нужно делать. У Unity-разработчика (senior) с Кипра узнали кто такие зомби-программисты. Опросили 33 айтишника, где и как они учились, а после составили рейтинг учебных заведений. Может ли айтишник избежать ошибок в работе, узнали у директора по маркетингу компании «Лайв Тайпинг» Евгения Бойченко.
Изображения созданы с помощью Midjourney