Что должен знать и уметь frontend-разработчик, чтобы быть востребованным в 2022 году

frontend-duties-cover-1
И почему в последнее время он все больше похож на fullstack-разработчика?

Востребованный frontend сегодня — это не просто человек, который умеет писать чистый код на современном фреймворке, а в первую очередь участник продуктовой команды, вникающий в процессы, хорошо знакомый с продуктом и целями компании. А еще он готов выходить из зоны комфорта и расти профессионально. Поговорили с Алексеем Павловым, Senior Frontend developer at H&M, о том, какими хард- и софт- скиллами должны обладать frontend-разработчики в 2022 году.

Какие задачи сейчас самые востребованные?

В связи с общемировым кризисом сейчас более востребованы универсальные разработчики, сфера компетенций которых не заканчивается только созданием frontend. Многие проекты ищут не просто frontend-разработчиков, скиллы которых ограничены написанием SPA (от англ. Single Page Application — одностраничное приложение, для работы которого не нужно обновлять страницу, т.к. все данные загружаются при помощи скриптов), но людей с более широким кругозором.

Вот что должен уметь frontend-разработчик в 2022 году:

  • настраивать окружение — самостоятельно готовить компьютер к работе, устанавливать все необходимые программы, чтобы локально запускать рабочее приложение;
  • делать деплой проекта — размещать исполняемый код на сервере, где он будет работать. Это последний шаг разработки;
  • настраивать CI/CD (от англ. Continuous Integration, Continuous Delivery) — процесс безостановочной сборки и доставки кода до различных сред;
  • брать на себя базовые задачи backend-разработчика.

То есть задачи постепенно становятся похожи на то, чем занимаются fullstack-инженеры. И в названии вакансии с фронтовым стеком все чаще можно встретить просто Software Engineer.

Какие навыки нужны, чтобы хорошо зарабатывать?

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

На Хабр.Карьере 211 вакансий, и предложение зарплат разное в зависимости от уровня и скиллов

Одно дело — востребованность на рынке труда, когда вы только ищете работу. И другое — востребованность уже на конкретном проекте. В первом случае вас в основном оценивают по хард-скиллам. Для разработчиков всех уровней основной мастхэв неизменен: хорошее знание JS (JavaScript) и популярного JS-фреймворка. На сегодня самым популярным остается React. Хорошо бы знать TypeScript (язык программирования, который расширяет возможности JavaScript), иметь опыт работы с дизайн-системами, CSS-фреймворками.

Если вы только начинаете свой карьерный путь, то вот пример хорошей дорожной карты:

Дорожная карта для начинающего frontenda-разработчика

Стек сильно меняется от проекта к проекту. Далеко не обязательно знать все технологии, которые используются на проекте. Продемонстрируйте готовность и желание быстро их изучить и вникнуть. Если на проекте требуется, например, SSR (англ. Server Side Rendering — технология для рендеринга страниц на стороне сервера) или GraphQL (язык запросов к API-интерфейсам, отображает предоставляемые сервером данные, чтобы клиент выбрал то, что нужно), а вы никогда с ними не сталкивались, можно хотя бы посмотреть видео об их использовании и поиграться с ними в песочнице (специально выделенной изолированной среде для безопасного исполнения компьютерного кода).

Хорошие проекты часто включают в этап отбора кандидатов техническое интервью/онлайн-ассессмент/лайфкодинг, где пригодится знание алгоритмов, структур данных. Хотя в реальных задачах frontend встречает что-то такое редко, на отборе часто хотят увидеть подобные скиллы. Стоит потренироваться и прорешать хотя бы 10–20 таких задачек на codewars.com и аналогичных площадках. Другой хороший способ — взять какую-то библиотеку, например Lodash, и самостоятельно реализовать ее методы для массивов/объектов.

Начинающим специалистам, во-первых, стоит пробовать больше актуальных библиотек, например, React Hook Form, можно на своих пет-проектах. Во-вторых, разобраться с тестированием, оценкой производительности, доступностью приложений.

Отличный показатель, если кандидат вырос в должности на своем месте работы. Например, из мидла стал сеньором, из сеньора — техлидом/тимлидом. Это отличная характеристика вас как профессионала.

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

Какие софт-скиллы востребованы сейчас:

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

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

Коммуникации. Умение выстраивать отношения с коллегами, делиться опытом, наработками (например провести воркшоп для коллег), правильно преподнести свои идеи, давать полезный фидбэк. Многие компании могут даже на этапе собеседования спросить пример недавно данного фидбэка коллегам/компании в целом. Из личного опыта — для улучшения навыка коммуникации могу посоветовать книгу М. Розенберга «Ненасильственное общение».

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

Проактивность. От разработчика ждут активного участия во всех этапах разработки продукта на встречах с коллегами, особенно если речь идет об обсуждении процессов в команде или новых фич для реализации. Часто просто сделать «как было написано в задаче» недостаточно. Нужно хорошо представлять, какие еще части продукта это может затронуть, предложить какие-то решения или идеи на этот счет, предупредить о возможных ошибках в других частях приложения, предложить более толковые с точки зрения UI/UX решения.

Из описания вакансии старшего разработчика на Хабр.Карьере

Как тренировать насмотренность

Полезно позаниматься с индивидуальным ментором с хорошим опытом. Он поможет объективно оценить уровень, подскажет, где есть пробелы. Для насмотренности как минимум нужно делать ревью кода коллег. А еще:

  • читать профильные ресурсы: Хабр, DEV Community, Medium;
  • смотреть обзоры новых библиотек для фреймворка, с которым работаете;
  • посещать конференции, чтобы быть в курсе тенденций;
  • подписаться на блоги экспертов. Я подписан на Дэна Абрамова и Вадима Макеева.

Курсы по теме

(рейтинг: 5, голосов: 4)
Добавить комментарий