Написать пост

Как программисту стать middle

Аватарка пользователя Иван Осипов

Рассказали, как джуниору стать мидлом, что должен знать разработчик middle и как составить такое резюме, от которого не откажется HR.

Обложка поста Как программисту стать middle
Статья для вас, если вы хотите вырасти в middle как можно скорее. Расскажу, чем отличается junior от middle разработчика, какие знания стоит прокачивать, чтобы поскорее оказаться в лагере мидлов, а также о том, на что смотрят рекрутёры при поиске middle-разработчиков.

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

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

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

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

Например, Java лучше портируется на разные устройства, C++ позволяет писать более низкоуровневые приложения, а С – писать драйвера. Каждый язык имеет свои особенности и применение в определенных областях, и middle должен это знать.

Middle отличает от junior и формат решения задач. Если джуну ставят задачу и рассказывают, как её выполнять, то мидлу ставят задачу без указания вариантов её решения. Он сам принимает выбор тактики решения задачи.

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

Хороший middle – это не волк-одиночка, а командный игрок, с развивающимися коммуникативными навыками.

Что точно должен знать middle-разработчик

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

Front-end-разработчик должен представлять себе не столько стек языков: JavaScript, HTML, CSS и т.п., сколько окружающие технологии, например, клиент-серверную, базы данных, как работают браузеры, как администрировать сервер, как работает асинхронная передача данных.

Back-end-программист должен обладать базовыми навыки администрирования. Также в общих чертах должен понимать разницу между Windows и Linux серверами, чем и в каких случаях один предпочтительнее другого.

Мидл должен уметь развернуть и работать в какой-либо среде разработки (IDE), уверенно знать и использовать GIT – систему контроля версий, уметь читать код. Разработчик должен представлять себе архитектуру, понимать, как действует та или иная технология и как с ними взаимодействует выбранный язык. Мидл должен представлять себе разницу между SQL и NoSQL, и не просто уметь работать с одной или другой СУБД, а иметь представление о том, чем они между собой отличаются и почему надо выбирать ту или иную базу данных.

На что смотрят HR-менеджеры

На ваше резюме, конечно.

Поскольку рекрутёр не всегда знает какие-то технические детали, ему приходится смотреть обзорно: и знание и опыт в конкретном языке, знание фреймворков этого языка. HR руководствуется тем, что если программист знает и работал с разными фреймворками, то он понимает зачем они нужны, знает, когда их надо, а когда не надо использовать. Это говорит рекрутёру о том, что кандидат умеет решать задачи правильными и оптимальными инструментами. И это основной показатель того, что перед нами – middle.

Так же в резюме мидл должны быть представлены какие-либо достижения на прошлых местах работы. Эти показатели дают представление о том, с каким посылом кандидат берётся за задачу. Какие личные критерии успешности (KPI) он выделяет в своей работе. Также интересно увидеть выполненные самостоятельные или командные проекты.

Как обычно рекрутёр обязательно смотрит на опыт работы: какая компания, в какой должности, что входило в обязанности. Это, конечно, зависит от конкретной вакансии, но всё-таки надо понимать, что быстро стать мидлом, не имея опыта в коммерческой разработке, невозможно.

Резюмируя

  1. Если вы только начинаете, изучайте общие алгоритмы и синтаксис выбранного вами языка.
  2. Если вы junior/junior со стажем, углубляйтесь в изучение алгоритмов, их сложность, способы оптимизации, базы данных. Изучайте предметные области, в которых данный язык наиболее применим.
  3. Помните про важность soft skills и развивайте коммуникативные навыки.

А для того, чтобы ваше резюме попадало в самое сердце каждого рекрутёра:

  1. Указывайте язык и фреймворки, которые вы знаете и с которыми вы работали.
  2. Старайтесь работать на одном месте не меньше года.
  3. Понимайте личную цель каждой смены работы.

Всем интересных и драйвовых задач и прорывного роста!

Следите за новыми постами
Следите за новыми постами по любимым темам
889 открытий1К показов