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

Posted by

Подсказка: Статья для вас, если вы хотите вырасти в 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) он
выделяет в своей работе. Также интересно увидеть выполненные самостоятельные или
командные проекты.

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

Резюмируя

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

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

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

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

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

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