Как понять что ты middle разработчик
Перейти к содержимому

Как понять что ты middle разработчик

  • автор:

Как понять, что вы уже не junior-разработчик — отвечают эксперты

Где граница между junior и middle/senior-разработчиком? Есть ли она вообще? Узнаём у экспертов.

Обложка поста Как понять, что вы уже не junior-разработчик — отвечают эксперты

Часто молодые специалисты не чувствуют момент, когда уровень их квалификации вырос и можно брать более сложные задачи и просить увеличения зарплаты. По каким признакам это понять? Спрашиваем у экспертов.

Краткие выводы в конце статьи.

Как понять, что вы уже не junior-разработчик?

Junior, Mid- и Senior-ы – в чем разница?

В мире IT-специалистов принято делить уровень подготовки и профессионализма разработчиков на три уровня: Junior-разработчик (младшего уровня), Middle-разработчик (среднего уровня) и Senior-разработчик (старший разработчик). На первый взгляд, эти термины очевидны, но на практике оказывается, что все понимают их по-разному. Порой сами разработчики не всегда уверены, как определить свой уровень или уровень коллег из команды. Но если провести аналогию, все становится сразу понятнее. Давайте попробуем сравнить разработчиков с… водителями! Ведь каждый день многие из нас садятся за руль и хорошо понимают эту «кухню» и правила игры на дороге.

Начнем наше сравнение с обучения: юному разработчику нужно изучить огромное количество информации, прежде чем начинать кодить самостоятельно. Первый этап в познании любого мастерства — это тщательное и структурированное обучение. Точно также курсант автошколы изучает ПДД, устройство машины, прежде чем порулить даже на автодроме.

Следующий этап — стажер-разработчик и стажер-водитель. Стажер водитель водит автомобиль только под пристальным наблюдением инструктора. Сначала на учебном автодроме, а потом — на улицах города. Когда вы видите на дороге машину со знаком «У» (Ученик) на крыше, у вас возникает определенный уровень ожиданий. Да, машина движется, тормозит, разгоняется, но она может заглохнуть в любой момент или повести себя непредсказуемо. Как и разработчик-стажер, который знает синтаксис, знает некоторые конструкции, но работает под постоянным присмотром более опытного коллеги и довольно часто допускает ошибки.

Но вот настает момент, когда вчерашний курсант получает водительские права и самостоятельно ездит по дорогам. Он уже имеет право самостоятельно управлять автомобилем, но все еще испытывает трудности: ему трудно парковаться, ехать задним ходом, проезжать сложные перекрестки и т. д. В иерархии разработчиков это Junior-разработчик. Обычно он работает с командой, выполняет простые задачи, а также требует наставничества и проверки кода.

На следующий уровень выйдет Junior, который:

  • Стремится к саморазвитию
  • Энергичен и целеустремлен
  • Умеет с холодной головой воспринимать критику

Обычный водитель легко доставит вас из пункта А в пункт Б, хорошо справится с повседневными маневрами и ситуациями на дороге. Middle-разработчик — это уже полноценный разработчик. У него есть определенный опыт, он может самостоятельно решать большинство проблем и не нуждается в наставничестве.

Важные качества Middle-разработчика:

  • Понимание функций и структуры продукта
  • Опыт разработки в нужной отрасли
  • Уверенное владение стандартными инструментами и шаблонами и умение их применять
  • В ходе разработки он учитывают не только свои интересы и предпочтения — «мидлы» понимают, что работают в команде, и умеют взаимодействовать с коллегами

Следующий шаг самый трудный для объяснения. Каждый из нас, как правило, является знатоком в своей области и может отличить настоящего эксперта от обычного специалиста. Вернемся к аналогии с водителями — есть опытные водители. В отличие от обычных водителей, они могут предвидеть и прогнозировать ситуацию. Они, просчитывая ситуацию на несколько шагов вперед, избегают ненужных рисков. Это Senior-разработчик. Такой специалист в команде — это фактор стабильности. Он может более точно и адекватно оценить сложность задачи. В проекте существует множество ситуаций, с которыми разработчик высокого уровня уже сталкивался и с которыми у него есть опыт работы.

Как понять, каким уровнем навыков обладает разработчик? Существуют ли какие-либо формальные критерии?

К сожалению, формальных критериев, позволяющих быстро и однозначно определить квалификацию разработчика, не существует.

Многие опираются только на опыт работы. Например, до 1 года — младший, от 1 до 3 лет — средний уровень и так далее. Но это очень поверхностный подход. Опыт работы является необходимым, но недостаточным условием для достижения определенного уровня.

Например, не может быть старшего разработчика с 2-летним опытом работы. С другой стороны, есть много младших разработчиков с опытом работы более 5 лет. Стоит отталкиваться от Soft и Hard Skills разработчика. Но сухие теоретические знания — это не ключевое отличие, а лишь один из факторов. Программировать — это не общаться с компьютером. Программировать — общаться с людьми и отдавать указания компьютерам.

Существует интересное наблюдение, по которому можно «вычислить» начинающего разработчика. В голове Junior-специалиста основная задача — заставить код работать. Но это еще не все, нужно писать простой код, а это нелегко. Узнать таких специалистов можно по причудливому коду и чрезмерно сложным конструкциям. Так зачастую новички стараются «показать себя», но стремиться нужно к простоте. Младшие разработчики сосредотачиваются на «компьютерной» части кода, забывая о «человеческой».

Senior-программисты пишут легко. Зачастую, взглянув на такой код, можно подумать: «А где остальное?» Такой код понятный и прямолинейный. Этот подход крайне важен для дальнейшей поддержки кода и его масштабируемости в будущем. Важен для тех, кто будет работать с кодом дальше.

Заключение

Разница между Junior, Middle- и Senior-специалистом основывается не только на годах опыта. Да, Senior-разработчики знают значительно больше остальных, но также важно обладать несколькими другими умениями.

Опытные программисты пишут простой код, опираясь на масштабируемость и дальнейшую работу с ним. Такие разработчики имеют развитые Soft Skills: умеют общаться с командой и всегда остаются в тренде разработки. Опыт Senior-а поможет прогнозировать разработку и риски и найти решение в любой ситуации.

Junior-разработчику нужно учиться писать «легкий» для восприятия код. Важно вырваться из рутины и творить код, словно художник. Junior должен не бояться брать сложные задачи на себя и совершать ошибки (это неотъемлемая часть карьеры). Для поднятия до уровня Middle следует полностью овладеть своим техническим стеком и развивать Soft Skills. Также опытные разработчики стараются помогать своим коллегам стать более грамотными и тоже набираться опыта. Ведь суть команды — это помощь, поддержка, общение и, конечно, создание первоклассного продукта!

Как понять что ты middle разработчик

Как понять, вы еще джун или уже миддл-разработчик?

Разбираем требования к джуниорам и мидл-разработчикам и учимся определять собственный профессиональный уровень. А также составляем список скилов, которые нужно прокачать для перехода на более высокую позицию.

Веб-разработка
5 июля 2022

Я все еще джун-разработчик или уже вырос до мидла? Этот вопрос задают себе многие разработчики, проработавшие в профессии примерно год или больше. Часто этого срока бывает достаточно, чтобы дорасти до новой карьерной ступеньки и получить повышение в должности и зарплате. Разберемся вместе, что для этого нужно сделать и как понять, что ваш профессиональный уровень уже соответствует позиции Middle-разработчика.

Что умеют Junior- и Middle-разработчики?

В разных компаниях требования к джуниорам и мидлам напрямую зависят от специфики работы и могут существенно отличаться. Как правило, в задачи Junior-разработчиков входит:

  • написание простых программ,
  • хорошее знание синтаксиса и библиотек определенного языка программирования,
  • понимание принципов совместной работы с кодом, в том числе умение читать и редактировать чужой код.

От Middle-разработчиков требуется уже гораздо более уверенное и углубленное в сравнении с джунами знание рабочих инструментов разработки и ПО. Но ключевое отличие разработчика уровня Middle – самостоятельность в работе, на практике это означает умение:

  • своими силами находить ответы на возникающие в ходе работы вопросы,
  • придумывать способы решения рабочих задач и подходы к реализации проектов.

Как оценить собственный уровень в разработке?

В этом поможет прием, используемый IT-рекрутерами. Они часто спрашивают соискателей на позицию разработчика, как они поступят, если к ним обратится product-менеджер и поставит задачу создать продукт, аналогичный какому-то популярному сервису (Bitly, Tiny, Booking).

Если первым делом в такой ситуации вы думаете, КАК будете создавать продукт, это свидетельствует о том, что вы — исполнительный Junior-разработчик, и бизнес-процессы пока находятся вне поля вашего внимания.

А если вы уточняете, для чего и зачем нужно такое решение, кто им будет пользоваться и почему нельзя использовать уже действующие аналогичные сервисы, то как минимум задатки мидла у вас точно есть. И нужно продолжать их развивать.

Чтобы устроиться на позицию мидл-разработчика, у вас обязательно должен быть опыт работы по специальности не меньше 1-1,5 лет в продуктовой команде или веб-студии. Причем, чем меньше компания, тем выше у нее технические требования к кандидатам на вакансию Middle-разработчика. Дело в том, что в таких командах разработчик решает задачи самого разного типа, а в корпорации на аналогичной должности он работает в команде и решает точечные задачи.

Часто тимлиды сами замечают перспективных джунов и помогают им вырасти в мидлов. Если это не ваш случай, но вы чувствуете в себе потенциал, обсудите это с непосредственным руководством.

Список скилов для прокачки будущим Middle-разработчикам

Для мидл-разработчика в приоритете soft skills или «мягкие» навыки, включая:

  1. Способность отвечать за результат своей работы.
  2. Хорошо развитые навыки коммуникации.
  3. Понимание принципов работы бизнеса.
  4. Самостоятельность в поиске ответов и подходов к решению задач.
  5. Целеустремленность и умение доводить начатое до конца.
  6. Умение разделять большие задачи на отдельные части.

Учтите, что в погоне за самостоятельностью важно объективно оценивать себя. Прокачивайте способность к автономной работе вместе с постепенным увеличением нагрузки и сложности заданий. Но если вы столкнулись с проблемой, решение которой не можете найти сами, не стесняйтесь просить помощи у коллег.

Заключение

Стремясь стать мидлом, помните, что разработка — один из аспектов работы над продуктом. В ней участвует множество других специалистов (дизайнеры, маркетологи, специалисты техподдержки, product-менеджеры). Поэтому для успешной работы в должности Middle-разработчика важно умение продуктивно взаимодействовать с коллегами из других отделов и мыслить в масштабах бизнеса в целом.

Junior/Middle/Senior. Как определить уровень? Гайд для разработчиков и работодателей

Я работаю на рынке рекрутинга более 14 лет. Из них 4 года руковожу собственным агентством по подбору IT-персонала Lucky Hunter. К нам часто обращаются клиенты, которым нужна помощь в формировании профиля кандидата. Наша ключевая задача на этом этапе — помочь компании составить верный портрет кандидата, и, следовательно, определить уровень подходящего специалиста.

Специалист junior-уровня. Портрет

Многие IT-работодатели с осторожностью относятся к найму начинающих специалистов, поскольку уверены: junior-разработчик ничего не умеет.

Чаще всего это не так. Хороший «джун» — это специалист, который окончил курсы или прошел стажировку, знает важнейшие основы профессии, но имеет недостаточно опыта для повышения квалификации. Портфолио, хотя бы минимальное, как правило, junior-ребята имеют. Это пет-проекты, репозитории на GitHub, участие в хакатонах и других IT-ивентах.

Конечно, встречаются junior-специалисты, которые полагают, что обучение молодых кадров — задача компании, но, как правило, такие ребята изначально не очень мотивированы развиваться в IT-сфере и чаще всего в результате выбирают другую специализацию.

Найти хорошего «джуна» — непростая задача, но если подойти к делу с умом, есть шанс вырастить лояльного, заточенного под нужды компании специалиста.

Ключевые характеристики junior-разработчика:

  • высокая мотивация и пресловутые «горящие глаза»;
  • наличие минимального портфолио;
  • базовые знания профессии;
  • способность решать простые задачи, но под постоянным наблюдением;
  • более длительное решение рядовой задачи. В среднем, junior-разработчик выполняет задачу в 1,5-2 раза дольше, чем специалист middle-уровня;
  • неспособность делать сложные задачи, вроде code review.

Если junior-разработчик не имеет минимальных данных для входа в профессию, скорее всего он находится на ступень ниже и на данный момент, по критериям IT-компаний, является стажером. Это несколько другая история.

Если вы нанимаете junior-специалистов в команду, рекомендую отталкиваться от soft-скиллов, нежели от опыта и качества написания кода. Hard-скиллы всегда можно улучшить, а отсутствие нужных для вашего коллектива личностных качеств может отрицательно сказаться на будущей работе.

Портрет Middle-разработчика

Пожалуй, это самый размытый (с точки зрения терминологии) уровень специалиста. Работая с большим количеством IT-компаний, мы наблюдали, как один и тот же кандидат в одну компанию проходил на должность Junior-специалиста, а в другую дотягивал аж до «сеньора».

По нашему опыту, отличить Junior-разработчика от кандидата Middle-уровня можно, и главный критерий — бэкграунд. Если задачи, которые специалист успешно решал в компании, стали на порядок сложнее, чем в начале пути — это хороший повод рассматривать кандидата на позицию «middle».

Кроме того, специалисты middle-уровня, в отличие от начинающих разработчиков более самостоятельны в принятии решений. Как у Senior-специалиста, полной автономии и возможности влиять на архитектуру всего проекта, у Middle-разработчика, нет. Все же, если задать направление, middle-специалист способен решить довольно сложные задачи.

Ключевые характеристики Middle-разработчика:

  • опыт работы в высоконагруженных проектах;
  • способность самостоятельно решать сложные задачи и исправлять ошибки;
  • умение проводить рефакторинг кода;
  • потребность в наставничестве для принятия сложных решений или понимания направления работы.

Портрет Senior-разработчика

Разработчик Senior-уровня, в первую очередь, не нуждается в наставничестве. Чаще всего обладает богатым бэкграундом и владеет расширенным стеком технологий.

«Сеньорам» можно давать сложные задачи, доверять управление командой разработки, позволять оказывать влияние на архитектуру всего приложения.

При поиске Senior-разработчика не стоит отталкиваться от количества лет работы. Специалист может работать в сфере IT хоть 10 лет, но если это был проект с большим количеством легаси и примитивными задачами, то вряд ли кандидата можно окрестить «сеньором».

Ключевые характеристики Senior-специалиста:

  • полная автономия;
  • способность влиять на продукт и умение находить лучшее решение;
  • наличие компетенций для проведения code review;
  • способность управлять командой разработки и самостоятельно распределять задачи внутри команды;
  • наличие богатого бэкграунда;
  • внушительный опыт работы в высоконагруженных проектах;
  • способность быстро осваивать новые технологии;
  • способность мыслить глобально и решать задачи исходя из потребностей бизнеса.

Если в случае с Middle и Junior встречаются переходные этапы, вроде Middle+ или Junior+, то в случае с Senior-уровнем, такого, как правило, нет. Senior-уровень, конечно, еще не вершина айсберга (есть возможность расти до позиций Team Lead, Tech Lead и CTO), но это та позиция, занимая которую, специалист способен найти реальное решение для сложнейшей задачи.

Общие правила:

  1. Junior, Middle, Senior — не привязаны ко времени работы. Можно 10 лет оставаться «джуном», а можно за 2-3 года вырасти до уверенного «сеньора». В данном случае все зависит от самой компании и проектов, которые она создает.
  2. При поиске специалистов с привязкой к уровню важно понимать рынок. Часто именно рынок диктует, какие компетенции специалиста уже относятся к Middle-уровню, а какие пока можно рассматривать для junior-позиции.
  3. Несмотря на наличие универсальных метрик, четкие границы для определения уровня специалиста отсутствуют.

Совет разработчикам:

Помните, что статья носит рекомендательный характер, и определить наверняка, какой у вас опыт, как у разработчика, способны только вы. Если вы чувствуете себя уверенно и готовы нести ответственность за принятые решения, не только понимаете, какое решение является верным, но и способны обосновать его выбор — вы точно не «джун» �� Более точные определения подскажет рынок.

Совет работодателям:

Не всегда ваше представление об уровне специалиста оказывается точным. Рынок IT — очень динамичен, и сегодняшний middle-специалист уже трактуется рынком как Senior. Это означает, что и зарплатные ожидания специалиста, которого вы ищете под ваши задачи, соответствуют более высокому уровню.

И, к слову, если у вас есть ресурсы для обучения начинающих специалистов, советую ими воспользоваться. Зачастую такая игра в долгую, в результате оборачивается для компании только позитивными последствиями.

Подпишитесь на полезный дайджест для своих

Один раз в месяц в вашей почте: полезные публикации, уникальные предложения, классные вакансии для марчаров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *