Как и когда джун становится мидлом?
Существует определенная градация скиллов разработчика:
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. Понимание принципов работы бизнеса.
Код — это инструмент. Цель разработчика - технически реализовывать идеи и задачи бизнеса. Мидл разработчик должен знать и понимать, чем занимается компания, как она зарабатывает, какие процессы и решения для нее ключевые, к кому из другого отдела можно обратиться за уточнениями. Чем мы лучше знаем бизнес, тем эффективнее мы предлагаем решения.
Как и в любом деле, насмотренность помогает генерировать идеи. Всегда круто знать, что сейчас происходит в индустрии, как дела у рынка и куда мы движемся. Чем больше мы пишем - тем быстрее продумываем логику, чем больше ошибок - тем оптимальнее код и в копилку, как делать не надо)) Когда мы изучаем чужой код, когда видим что одну и туже штуку можно сделать 20 вариантами и где то будет быстрее, а где то визуально чище, - мы расширяем свои возможности и быстрее растем.
Заключение
Разработка — один из аспектов работы над продуктом. В ней участвует множество других специалистов (дизайнеры, маркетологи, специалисты техподдержки, product-менеджеры). Поэтому, для успешной работы в должности Middle-разработчика, важно умение продуктивно взаимодействовать с коллегами из других отделов и мыслить в масштабах бизнеса в целом.
Лучший способ начать - погрузиться в командную коммерческую разработку.
Вписаться в нашу команду в буткэмпе - Думай, как мидл
Оставить заявку на консультацию - https://forms.gle/LQEhoFerBsy22HBj9