October 6, 2023

Как и когда джун становится мидлом?

Существует определенная градация скиллов разработчика:

Junior - может решать мелкие задачи или дорабатывать код

Middle - может придумать новый компонент, либо модуль системы

Senior - способен правильно разработать систему с нуля

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

Чтобы устроиться на позицию Junior Frontend-разработчика, достаточно знать HTML, CSS и JavaScript, хотя, в последнее время, сюда можно отнести и TypeScript, как новый стандарт. Также, желательно освоить популярные JS-библиотеки и фреймворк вроде Angular, Vue или React.

На позицию Junior Backend - владение одним из языков программирования (Java, PHP, Python, Go, C++), знание HTML и CSS (да-да, это нужно!), возможность работать с базами данных, понимание, как использовать систему контроля версий, умение работать с Git, понимать сложности миграций.

Дальше разработчик двигается по 3 шкалам нашего авторского треугольника развития:

Глубина - более уверенное знание инструментов и технологий. Middle уже не просто знает, как работает та или иная библиотека, функция и т.д. Он понимает, почему она так работает и в каких случаях она так работать не будет.

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

Бизнес - умение видеть продукт в целом и понимать механику бизнес-процессов. Это про способность предугадать «подводные камни», на которые можно наткнуться в процессе разработки.

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

А как же опыт, годы, сроки?

Есть градация по срокам, в которых спустя 2-3 года джун уже считается мидлом, но давайте смотреть на это серьезно… в позиции джуна можно сидеть и 10 лет, если никуда по треугольнику не двигаться. При этом даже за год можно показать себя хорошим начинающим мидлом и уже вырасти в деньгах.

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

Есть несколько распространённых вопросов, по которым чаще всего оценивают претендента на повышение:

  • Сложность задач. Какие задачи решает джуниор-разработчик? Создаёт ли новые функции и модули?
  • Понимание сути задач. Джун может взять задачу не разобравшись в сути. Тогда как часто затягиваются сроки? Или как много времени уходит на разъяснения у лида?
  • Качество кода. Как часто после код-ревью или тестирования джуну приходится дорабатывать решение?
  • Скорость выполнения. Какое количество задач джун закрывает за спринт?
  • Бизнес-модель. Может ли специалист ответить на вопросы развития и цели бизнеса?
  • Коммуникация. Принимает ли участие в обсуждении проблем с коллегами и предлагает ли варианты их решения?

Мы как раз создали “Думай, как мидл”, чтобы каждый вопрос проработать в плюс:

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

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

Для мидл-разработчика в приоритете soft skills и глубина.

1. Понимание технологий, которые вы используете

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

2. Самостоятельность в поиске ответов и подходов к решению задач.

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

3. Навык декомпозировать задачу

Умение разделять большие задачи на отдельные части помогает и планировать спринт, и делегировать и находить более оптимальные решения. Мидл разработчик должен уметь построить в голове связь “буду решать задачу вот так, потому что “причина 1”, “причина 2”. Дедлайн задачи вот такой, поэтому я буду использовать “приём 1”, “приём 2”».

4. Понимание принципов работы бизнеса.

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

5. Насмотренность

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

Заключение

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

Лучший способ начать - погрузиться в командную коммерческую разработку.

Как?

Вписаться в нашу команду в буткэмпе - Думай, как мидл

Оставить заявку на консультацию - https://forms.gle/LQEhoFerBsy22HBj9

Мы не теоретики, мы - практики.