
Junior/Middle/Senior. Как определить уровень? Гайд для разработчиков и работодателей
- #IT-персонал
Я работаю на рынке рекрутинга уже более 14 лет. В течение четырех из этих лет я руководил собственным агентством по консалтингу ИТ-персонала – Lucky Hunter. К нам часто обращаются клиенты, которым нужна помощь в составлении профиля кандидата. Наша основная задача на этом этапе – помочь компании составить хороший профиль кандидата и таким образом определить уровень подходящего специалиста.
Специалист junior-уровня. Портрет
Многие работодатели в сфере ИТ с осторожностью относятся к найму специалистов начального уровня, поскольку считают, что младший программист ничего не умеет.
Чаще всего это не так. Хороший “джуниор” – это специалист, который прошел курсы или стажировку и знает самые важные основы профессии, но не имеет достаточного опыта для повышения своей квалификации. В портфелях, по крайней мере минимальных, обычно есть младшие ребята. К ним относятся домашние проекты, репозитории на GitHub, участие в хакатонах и других ИТ-мероприятиях.
Конечно, есть младшие специалисты, которые считают, что компания обязана обучать молодежь, но, как правило, эти ребята изначально не очень мотивированы расти в ИТ-сфере и в итоге часто выбирают другую специальность.
Найти хорошего “младшего разработчика” – задача не из легких, но при разумном подходе есть шанс вырастить лояльного, приземленного специалиста для компании.
Ключевыми качествами младшего разработчика являются:
- Высокая мотивация и пресловутые “горящие глаза”;
- Наличие минимального портфеля;
- Базовые знания о профессии;
- Способность решать простые задачи, но под постоянным контролем;
- Длительное решение простой задачи. В среднем, младшему разработчику требуется в 1,5-2 раза больше времени для выполнения задачи, чем специалисту среднего уровня;
- Неспособность выполнять сложные задачи, такие как анализ кода.
Если младший разработчик не обладает минимальными данными для вступления в профессию, он, вероятно, находится на ступень ниже и в настоящее время, согласно критериям ИТ-компаний, является стажером. Это немного другая история.
Если вы нанимаете младших разработчиков в свою команду, я рекомендую обращать внимание на мягкие навыки, а не на опыт и качество написания кода. Трудные навыки всегда можно улучшить, а отсутствие необходимых личных качеств в команде может негативно сказаться на будущей работе.
Портрет Middle-разработчика
Это, пожалуй, самый размытый (с точки зрения терминологии) уровень специалиста. Работая с рядом ИТ-компаний, мы видели, как один и тот же кандидат продвигался до должности младшего специалиста в одной компании и даже до “старшего” в другой.
По нашему опыту, можно отличить Junior-разработчика от кандидата среднего уровня, и главным критерием является биография. Если задачи, которые специалист ранее успешно решал в компании, теперь стали гораздо сложнее, чем в начале процесса, это хороший повод рассмотреть кандидата среднего уровня.
Кроме того, специалисты среднего звена более независимы в принятии решений, чем новички. Как Senior, разработчик среднего уровня не обладает полной автономией и возможностью влиять на архитектуру всего проекта. Тем не менее, если дать ему направление, специалист среднего звена способен решать достаточно сложные задачи.
Ключевыми характеристиками среднего девелопера являются:
- опыт работы в проектах с высоким уровнем стресса;
- способность самостоятельно решать сложные проблемы и исправлять ошибки;
- способность выполнять рефакторинг кода;
- Необходимость в наставничестве для принятия сложных решений или понимания направления работы.
Портрет Senior-разработчика
Разработчики старшего уровня в основном не нуждаются в наставничестве. Чаще всего они обладают богатым опытом и передовым технологическим стеком.
Чем JUNIOR отличается от SENIOR разработчика? И как быстрее стать Senior?
“Старшим” можно поручить сложные задачи, доверить управление командой разработчиков и позволить влиять на архитектуру всего приложения.
Уровни профессионального развития разработчика: Junior, Middle, Senior.
При поиске старшего разработчика не ориентируйтесь на количество лет работы. Специалист может проработать в ИТ не менее 10 лет, но если это был проект с большим количеством унаследованных и примитивных задач, то кандидата трудно назвать “старшим”.
Ключевыми характеристиками старшего специалиста являются:
- Полная автономия;
- Способность влиять на продукт и умение находить оптимальное решение;
- Компетентность в проведении обзоров кода;
- Способность управлять командой разработчиков и самостоятельно распределять задачи внутри команды;
- Сильная подготовка;
- Солидный опыт работы в проектах под высоким давлением;
- Способность быстро осваивать новые технологии;
- Способность мыслить глобально и решать проблемы, исходя из потребностей бизнеса.
Если для среднего и младшего уровней существуют переходные этапы, такие как средний+ или младший+, то для старшего уровня такого обычно нет. Старший уровень – это, конечно, еще не вершина айсберга (есть возможность продвинуться до позиций Team Lead, Tech Lead и CTO), но это позиция, где специалист способен найти жизнеспособное решение очень сложной проблемы.
Общие принципы:
- Младший, средний, старший – не привязаны к рабочему времени. Вы можете оставаться “юнцом” в течение 10 лет или вырасти в уверенного “сеньора” за 2-3 года. В данном случае все зависит от самой компании и проектов, которые она создает.
- При поиске специалистов высокого уровня важно понимать рынок. Часто именно рынок диктует, какие компетенции специалиста уже относятся к среднему уровню, а какие можно рассматривать на младшую позицию.
- Хотя существуют универсальные метрики, нет четких границ, определяющих уровень специалиста.
Совет разработчикам:
Помните, что эта статья носит рекомендательный характер, и только вы можете с уверенностью определить, какой опыт вы имеете как разработчик. Если вы чувствуете себя уверенно и готовы брать ответственность за свои решения, не только понимаете, какое решение правильное, но и можете обосновать свой выбор – вы точно не “джун” Рынок даст вам лучшее определение.
Совет работодателям:
Ваше представление об уровне специалиста не всегда оказывается точным. ИТ-рынок очень динамичен, и сегодняшний специалист среднего звена уже воспринимается рынком как Senior. Это означает, что зарплатные ожидания востребованного специалиста обычно находятся на более высоком уровне.
И, кстати, если у вас есть ресурсы для обучения новичка, я рекомендую их использовать. Часто такая долгосрочная авантюра заканчивается только положительными последствиями для компании.