Градация или, как говорят в IT, грейд (от англ. grade, оценка) — это маркер компетенций сотрудника, который показывает, что специалист знает и умеет. Градацию придумали HR-специалисты — так проще оценить, сколько «стоит» специалист на рынке. Чётких критериев оценки нет, и в каждой компании решают, что должен знать и уметь сотрудник на каждой ступени. Поэтому иногда случается, что в одной компании человек работал на одной позиции, а когда перешёл в другую компанию — получил новый статус, и не всегда более высокий.
В IT выделяют три грейда:
● Джун (от англ. junior, младший) — работает над простыми задачами под руководством опытных коллег;
● Мидл (от англ. middle, средний) — может решать сложные задачи или писать код самостоятельно, старшие коллеги проверяют только результаты;
● Сеньор (от англ. senior, старший) — всё делает сам: пишет код, занимается архитектурой, обучает младших коллег. Решает сложные задачи и отвечает за результаты.
В IT джун — это начинающий с минимальным опытом работы по специальности или вообще без него. Джун больше теоретик, чем практик: может идеально знать теорию, но слабо понимает, как применять эти знания в работе.
У джуна не хватает продуктового мышления и софтскилов — навыков, которые можно получить только с опытом. Например, начинающий специалист ещё не знает, как правильно построить взаимоотношения с коллегами, чтобы совместная работа была слаженной, а общение не токсичным.
Обычно в компании джуны выполняют несложные конкретные задачи, которые перед ними ставит старший специалист. Например, реализовать какую-то одну функциональность с конкретными ограничениями. Если джуну что-то непонятно, он сначала пробует найти ответ на вопрос самостоятельно, а затем идёт за советом к мидлу или сеньору.
Как правило, в коде начинающего программиста сложная архитектура и противоречивая логика — умение писать простой, чистый и читаемый код приходит с опытом. Поэтому джуном руководит опытный коллега, который отвечает за реализацию проекта.
В большинстве случаев компания нанимает джуна с прицелом на будущее, чтобы вырастить из него как минимум мидла. Поэтому руководство заинтересовано в том, чтобы он развивался и делал карьеру, и помогает ему в этом. Например, прикрепляет наставника, оплачивает обучение или проводит тренинги.
За последние годы требования к джунам выросли. На рынке стало много начинающих разработчиков, потому что онлайн-курсы доступны каждому, и новую профессию можно освоить за 9 месяцев. Поэтому компании стали расширять перечень требований к junior разработчикам, чтобы нанять лучших. Если раньше начинающий фронтенд-разработчик должен был знать только JavaScript, HTML или CSS3, то сегодня дополнительно нужно хотя бы базово работать с одним из фреймворков, например, React или Angular. Скорее всего, в будущем требования станут ещё серьёзнее.
Хардскилы, или профессиональные навыки, для джунов могут различаться в зависимости от специализации. Например, начинающему веб-разработчику важно уметь работать с графическими редакторами, а PHP-программисту — знать различные CMS.
Портфолио для джуниор разработчика обязательно — оно подтверждает знания и навыки, даже если нет опыта работы. В портфолио должны быть:
● Кейсы. Это могут быть небольшие проекты, которые джун выполнял на курсах обучения, или pet-проекты. Например, студент может для себя сделать «помидорный» таймер или планировщик задач.
● База работ на GitHub, GitLab или на любом другом веб-сервисе для хостинга, которая показывает, что начинающий специалист разбирается в системе контроля версий.
● Проекты, выполненные на хакатонах или в конкурсах, даже если они не заняли призовые места. Само участие в таких мероприятиях сообщает работодателю, что специалист развивается, готов учиться и у него есть амбиции — значит, будет старательно работать и расти в профессии.
Кроме профессиональных знаний и навыков для джуна важны софтскилы:
● Общительность — придётся задавать много вопросов и просить помощи у коллег;
● Отзывчивость — уметь ненавязчиво предлагать свою помощь и поддержку;
● Ответственность — выполнять задачи в срок, а если что-то не получается, сначала разобраться самостоятельно, а потом обратиться к опытному коллеге или менеджеру;
● Внимание к деталям — помогать коллегам экономить время и силы. Например, прикрепить ссылку на документ в чате, чтобы сотрудники не тратили время на его поиск, продублировать сообщение, напомнить о встрече.
● Самокритичность — не обижаться на критику, а исправлять ошибки и делать выводы, чтобы больше их не повторять;
● Любознательность — изучать новое, экспериментировать, тестировать, перенимать опыт у более опытных коллег, предлагать улучшения.
Екатерина Давыдова
Чтобы успешно пройти путь от джуна до мидла, рекомендую прокачивать не только хардскилы, но и продуктовое мышление, то есть учиться понимать пользователя, или как разные функции влияют на конечный проект.
Когда специалист нарабатывает опыт, вникает в нюансы работы компании, уверенно пользуется нужными инструментами в работе — языками программирования, фреймворками, системами управления базами данных и прочее, он может перейти на следующий уровень — мидл разработчик.
Мидл (от англ. middle, средний) — опытный специалист, который пишет код в проектах. Знает несколько языков программирования и умеет использовать дополнительные технологии. Например, бэкенд-разработчик ещё знает Angular — программу для разработки веб-приложений и может решать задачи фронтендера.
Мидл без проблем может объяснить своими словами сложные вещи. Например, как работает браузер или что такое асинхронность. Его код уже не проверяют ― он хорошо знает язык, на котором пишет, и понимает базовые концепции. Мидл сам себя контролирует: исправляет логику и ищет ошибки в коде, чтобы он был более читабельным и простым.
Мидл самостоятельно решает, как выполнить задачу проще и быстрее, и планирует сроки. Он может предложить несколько нешаблонных вариантов решения, а не один-два стандартных, как джун. У мидла есть опыт, наработки и насмотренность, которых пока ещё не хватает джуну.
Коммуникабельность. Мидлу приходится много общаться с коллегами и клиентами. Поэтому, если у такого специалиста проблемы во взаимодействии с людьми, будет тяжело.
Работа в команде. Мидл хоть и основной специалист по разработке в компании, но один он работать не может — проект делают общими силами команды. Важно находить взаимопонимание с коллегами, уметь договариваться и разрешать конфликты.
Способность ясно выражать свои мысли, защищать идеи и убеждать. Мидл в команде может играть разные роли: ментор, докладчик, разработчик. И в каждой роли он должен уметь презентовать свои идеи, обучать, планировать работу, ставить задачи и проверять их выполнение.
Умение искать информацию и оценивать срок выполнения задачи. Мидл сам должен искать, обрабатывать и применять информацию для проекта. После анализа задачи он должен её правильно декомпозировать, то есть разбить на части и оценить срок выполнения каждой.
В среднем по России мидл разработчик получает около 150 000 ₽. Нужно учитывать стеки — в зависимости от направления зарплата может быть выше или ниже. Согласно исследованию Хабр Карьеры, зарплаты разработчиков за 2 полугодие 2022 года таковы:
● Бэкенд-разработчик — 196 000 ₽
● Разработчик мобильных приложений — 205 000 ₽
● Разработчик игр — 127 000 ₽
● Десктоп-разработчик — 147 000 ₽
С позиции мидла следующая ступень — сеньор.
Екатерина Давыдова
Нужно постоянно расширять кругозор: понимание разных технологий и продуктов даже вне своего стека и готовность освоить новые инструменты точно будет цениться любым работодателем.
Позиция сеньора (от англ. senior, старший) часто оказывается последней ступенькой карьерной лестницы, потому что следующий шаг — позиция тимлида (от англ. teamlead, руководитель группы), а это уже не столько разработка, сколько управление проектами и людьми.
Сеньор не просто пишет хороший, чистый код, но и учитывает в нём специфику компании и её инструменты. Senior разработчик глубоко понимает архитектуру, устройство библиотек, фреймворков и инструментов разработки и может сам разработать любой сервис или приложение с нуля. Он знает технические риски и может заранее их прогнозировать и снижать. Точно знает, как доработать несовершенный код и убрать «костыли», чтобы проект работал гладко. Если нужно, исправит или напишет код сам.
Сеньор разработчик справится с задачами, которые никогда раньше не делал, и при этом ничего не сломает и не затормозит.
Если сеньор хочет дальше развиваться в карьере, то ему нужно будет научиться решать задачи бизнеса, даже плохо сформулированные. Например, клиент хочет создать сервис для путешественников, в котором можно забронировать жильё. Сеньор сначала разберётся, какая цель у такого сервиса, какую проблему он должен решать. А потом соберёт команду, сформулирует и раздаст задачи джунам и мидлам, будет следить за разработкой и сроками и презентует результат клиенту.
Сеньор постоянно общается с руководством, командой и клиентами и знает, как взаимодействовать с каждым, чтобы работа над проектом привела к нужному результату.
Работа сеньора на 50% — взаимодействие с людьми, на 20% — погружение в бизнес. И только 30% — технические вопросы. Поэтому у сеньора должны быть хорошо развиты гибкие навыки.
Вот основные софтскилы сеньора:
● Уметь работать в условиях неопределённости — когда задача не полностью сформулирована или поставлена так, что её будет сложно выполнить из-за ограничений в системе.
● Обучать младших сотрудников. Понятно объяснять, разбирать ошибки, помогать коллегам эффективно решать задачи.
● Аргументировать решения и убеждать. При этом понимать, когда имеет смысл уступить, чтобы решить задачу или принести пользу.
● Быть гибким. Быстро адаптироваться к изменяющимся условиям, находить нестандартные решения задачи и предлагать идеи по улучшению продукта.
● Уметь справляться с ответственностью. На сеньоре держится работа команды и качественное выполнение проектов. Он полностью отвечает за реализацию задач и запуск проектов.
● Расставлять приоритеты и планировать время. Сеньор ведёт несколько проектов и задач одновременно. Поэтому без грамотного планирования времени и понимания, как и куда распределять свои силы, не обойтись.
Сеньоров на рынке мало. За ними охотятся hr-специалисты, а компании стараются удержать их любым способом — предлагают высокий доход и разные бонусы.
В среднем в России сеньор-разработчик зарабатывает 250 000 ₽, но часто больше. Например:
● бэкенд-разработчик в среднем зарабатывает 337 000 ₽
● разработчик мобильных приложений — 351 000 ₽
● фронтенд-разработчик — 312 000 ₽
Сеньоры могут получать и 500 000 ₽, и 800 000 ₽. Уровень оплаты зависит от компании и задач.
Это основные отличия между уровнями senior, middle и junior. А есть ли жизнь после сеньора? Конечно есть. Карьера программиста на сеньоре не заканчивается. Дальше он может вырасти до тимлида, архитектора или технического эксперта, если захочет.
Екатерина Давыдова
На этом этапе для разработчика открыты многие двери: можно наращивать экспертизу «вглубь и вширь», а можно нацелится на карьерный рост и пойти в руководители. Нужно выбрать, что ближе: если управление людьми, проектами и решениями, значит, следующий шаг — тимлид.
Читать также: