Джуны, мидлы, сеньоры и тимлиды. Кто, где и сколько заработает?
Зачем программистов делят на "касты", что об этой градации говорят сами айтишники и, самое главное, сколько платят разным специалистам? О том, как мир информационных технологий выглядит изнутри, читайте в новом выпуске нашей рубрики "Войти в IT".
В рубрике "Войти в IT" мы часто упоминаем джуниоров (Junior), мидлов (Middle) и сеньоров (Senior) — так принято характеризовать уровень подготовки разработчиков от новичков в профессии до суперспециалистов. Но есть ещё и категория тимлид (teamlead), занимающая особое место и в иерархии специалистов, и в зарплатной сетке.
Сегодня мы подробнее расскажем, почему существует такое "неравенство" в мире IT и как к нему относятся сами разработчики. А также узнаем, сколько зарабатывают специалисты в области создания программного обеспечения разного уровня.
Значение слов можно посмотреть в нашем специальном словаре.
А дальше — история про то, что в эти понятия вкладывают сами разработчики.
Герой предыдущего выпуска рубрики бэкенд-разработчик Алексей Кулишкин в компании Gems developement занимает позицию мидла, но сам себя оценивает как начального мидла или очень крепкого джуна.
— Это абсолютно абстрактное разделение, оно субъективно для каждого человека. Обычно твою позицию определяют либо руководители компании, в которой ты работаешь, либо просто авторитетные представители сообщества. На мой взгляд, джун — это начальный разработчик, который освоил базу, "зелёный" специалист. Не надо думать, что это бесполезный разработчик, — он может и умеет выполнять задачи, но под чьим-то надзором. Ты не можешь просто дать ему набор заданий и сказать "сделай", ему надо помогать. Что касается мидла, то этот разработчик может выполнять поставленные задачи самостоятельно, без контроля извне. Он сам разберётся, договорится, определится. Сеньор — это уже суперкрутой специалист в какой-то узкой области. Он видит продукт глобально, а не только его отдельные части, и уже на старте понимает, что необходимо сделать, чтобы получить планируемый результат. Иногда увидеть картину целиком сложно даже опытному разработчику, поэтому некоторые мидлы никогда не становятся сеньорами, — пояснил "Омск Здесь" Алексей Кулишкин.
В целом среди разработчиков разделение на статусные позиции считается достаточно условным и может варьироваться в проектном режиме. Об этом говорит ещё один из героев нашей рубрики — Unity-разработчик gamedev-студии GameGears (Кипр) Александр Шмидтке.
— У нас в компании по классификации всё довольно условно (при этом сам Александр занимает позицию сеньора — прим. ред.). Явного грейда нет. Каких-то определённых критериев тоже нет. Но такое разделение иногда необходимо, чтобы условно оценить уровень кандидата, но это редко и вообще как будто и не нужно. Границы размыты и зависят ещё и от конкретного проекта, — уточнил Александр.
— В разных компаниях своя квалификация. Часто создаются определённые роли внутри, где только сеньор делает ревью и где для джуна есть свои задачи. Разделение на все эти позиции — это что-то вроде звания внутри компании. Ну и когда берут на работу именно сеньора, а не мидла, то, вероятно, у компании уже сформирована определённая роль для него, — делится опытом разработчик Анатолий, работающий в Европе.
— Сеньор — это всё же тот человек, который может продумать последовательность задач на год вперёд таким образом, чтобы максимально избежать ошибок. Он может прочитать геймдизайн-документ (ГДД) и сразу выдать геймдизайнеру (ГД) ряд провокационных вопросов о будущей фиче и о её интеграции с проектом в целом. Опять же, чтобы избежать переделок и промежуточных версий, — поделился ещё один специалист на условиях анонимности.
По мнению СЕО Antro Евгения Князева, подобное разделение возникло просто потому, что это упрощает коммуникацию, позволяет оптимизировать процесс формирования проектной команды, а ещё и заставляет самого соискателя максимально трезво оценивать свои силы.
— Человеческий мозг любит, когда есть какие-то категории и в них можно кого-нибудь запихать, просто ему так проще воспринимать. Поэтому и возникла история с джунами, мидлами и сеньорами. Такая градация часто используется в сообществе. Но сейчас уже этого не хватает, и появляются промежуточные варианты: мидл+/мидл-, джун+/джун-, Midle to Senior, как в школе 5+/-, 3+/-. С одной стороны, эта штука является средством для коммуникации, с другой — у неё есть свои минусы. По сути, эта иерархия не даёт конкретики. Но самый главный минус в том, что джун, мидл, сеньор в зависимости от компании имеют разные компетенции. И далеко не факт, что человек, занимающий позицию мидла в одной организации, сможет претендовать на неё в другой. Потому что различаются стеки, задачи, используются разные инструменты. Но очевидно, что от этой системы разделения сообщество не планирует уходить, — подчеркнул Евгений Князев.
В подавляющем большинстве случаев над проектом работает команда специалистов. И как любому другому коллективу, команде разработчиков нужен лидер. Именно им и является тимлид.
Это не столько должность, сколько роль неформального руководителя команды программистов. Лидер команды должен обладать навыками первоклассного разработчика и хорошего менеджера. Он руководит командой и координирует её работу, организует обучение разработчиков, может взаимодействовать с заказчиком в качестве эксперта, представлять интересы команды при необходимости.
— Это старший товарищ, пример для подражания, технический эксперт, менеджер команды, специалист по развитию персонала и по межкомандному взаимодействию и, конечно же, разработчик ПО — всё в одном лице. Он выполняет функции посредника между своей командой и руководством компании, между своей командой и заказчиками, — объяснил суть своей работы разработчик-эксперт, лидер одной из команд Gems development Дмитрий Ульянов. — Обычно руководитель-менеджер стоит над командой и только раздаёт задачи, а тимлид является её лидером и неотъемлемой частью одновременно, поскольку тоже пишет код. И даже подходы к распределению задач у менеджера и лидера разные. Например, часть моей работы — заряжать людей, искать вектор для их развития. Поэтому, если какому-то человеку не хватает компетенций, я могу дать задачу, которая поможет ему прокачаться именно в этой области. При этом на решение такой задачи у него уйдёт гораздо больше времени, и он будет со мной консультироваться, тратя и моё время тоже. Но зато он в ней разберётся и в будущем уже сможет справляться с подобными задачами самостоятельно. Обычный менеджер на моём месте поступил бы по-другому: отдал задачу тому, кто выполнит её лучше и быстрее всех.
— Тимлид похож на садовника, который выращивает коллектив, но в процессе должен выдавать и конкретный результат: два ящика помидоров, три ящика морковки и так далее, — привёл аналогию ведущий разработчик Gems development Дмитрий Передера.
Стать тимлидом, уверяют наши собеседники, можно двумя способами. Или ты показываешь себя хорошим экспертом и лидером в команде, зарабатываешь авторитет, и тебя признаёт команда, а вслед за ней и руководство. Или ты начинаешь новый проект, тебе в команду дают людей — тут ты в 90 % случаев автоматически становишься лидером. При этом не каждый сильный разработчик может стать тимлидом:
— Здесь в первую очередь важны лидерские качества. Тимлид поддерживает здоровую атмосферу в команде, выступает в качестве балансира, помогает членам команды принимать решения. Хороший тимлид развивается вглубь в своём узком профиле, наращивает лидерские качества и параллельно осваивает и другие компетенции, чтобы понимать специфику работы коллег. Если тимлид — самый сильный разработчик, но не умеет распределять обязанности, если он постоянно говорит "давай я лучше сам сделаю", то из лидера команды он превращается в лошадь, на которой едут. Тимлид должен помнить, что он работает в команде экспертов, и не бояться доверять им сложные задачи, — пояснил Дмитрий Передера.
С иерархией разработчиков разобрались, теперь пришла пора узнать, сколько они могут получать. И у нас в России, и в других странах, по сути, зарплатная вилка зависит от компании, типа предлагаемого продукта и от языков программирования, на которых идёт разработка. И только потом от позиции, которую занимает тот или иной разработчик.
— На зарплату влияет достаточно много вещей, непосредственно связанных с организационными позициями самой компании, в которую ты планируешь идти. Понятно, что в условном "Авито" будут платить больше, чем в маленьком новом агентстве в Тюмени. Потому что у одних ребят очень много денег, у других — ещё очень мало денег. Если полностью забыть, что есть разные компании, с разными финансовыми возможностями, то ключевые параметры это опыт непосредственно в коммерческой деятельности, вопрос релевантности этого опыта. Также влияет на зарплату вопрос умения обучать, работать над оптимизацией процесса, делать вещи, которые требуют Soft skills. Вопрос образования идёт далеко от этого, — считает Евгений. — Лично для меня неважно, окончил человек вышку по менеджменту или по графическому дизайну, если после этого он уже 10 лет занимается разработкой и прекрасно с этим справляется. По факту всё решается на первом и техническом собеседованиях. Только теоретическая база не даёт реального профита. Учиться можно по-разному. Важен опыт, то, что человек умеет делать. И чем выше позиция, тем больше требований и задач, которые он должен уметь выполнять — за это компании готовы платить.
Согласно информации, полученной от HR-специалиста, работающего в Европе, зарплата там зависит от уровня, глубины опыта, особенностей задач. Медиана текущих зарплат, например, Unity-разработчиков (сколько ребята получают в компаниях против желаемых зарплат при переходе в другую организацию) выглядит так:
— Ещё необходимо понимать, что в компаниях есть разное соотношение оклада и социальных бенефитов, материальных бонусов. Бывает ниже оклад, но обширная программа компенсаций, или высокая зарплата и бонусы сверху. Правда, в таких компаниях и высокие требования к опыту, а задачи могут быть неинтересными. Всё очень индивидуально, и стоит подбирать лично под себя, — пояснил HR.
Исходя из всего вышесказанного, можно сделать вывод, что для самих программистов не столь важно разделение на джунов, мидлов и сеньоров. Это необходимо лишь для того, чтобы понимать, без особого объяснения, кто на что способен и каков уровень специалиста в конкретной компании. А также для упрощения определения уровня зарплаты. Она, в свою очередь, зависит от финансовых возможностей компании, поставленных задач, сложности их выполнения и реальной компетенций специалиста.
1 / 11 • Словарь терминов
Вы можете освежить в памяти информацию о том, кому отдают предпочтение работодатели, если речь идёт о начинающих айтишниках. Как поработать над своими мягкими навыками, которые так необходимы программистам. UX/UI-дизайнер Gems development Евгений Аношин рассказал о том, зачем действующим программистам нужна прокачка. Выяснили, где и как студенты-айтишники могут устроиться на работу сразу после получения диплома.
Вместе с деканом ФЦТК ОмГУ Александром Кабановым мы покопались в стереотипах об айтишниках и поняли, что нужно делать. У Unity-разработчика (senior) с Кипра узнали кто такие зомби-программисты. Опросили 33 айтишника, где и как они учились, а после составили рейтинг учебных заведений. Может ли айтишник избежать ошибок в работе, узнали у директора по маркетингу компании "Лайв Тайпинг" Евгения Бойченко. А затем бэкенд разработчик Алексей Кулишкин честно рассказал о своей работе.
Изображения созданы с помощью Midjourney