Скидки на курсы ждут в личном кабинете. Нажмите тут

Кто такой frontend-разработчик и как им стать

Кто такой frontend-разработчик и как им стать
Екатерина Садчикова
часы голубые
16 мин.

Фронтенд-разработчик — как боец на передовой: берёт на себя ту часть сайта, которую видят пользователи, то есть мы с вами. Он отвечает за то, с чем пользователь может взаимодействовать, что он слышит, на что может нажать. Работа фронтендера — интерфейс и функции клиентской стороны сайта.

Читайте нашу статью о том, кто такой frontend-разработчик, как им стать, чем он занимается и какие возможности есть в профессии.

Кто такой frontend-разработчик

Представим, что мы хотим купить что-то в интернет-магазине одежды. Заходим на сайт, пролистываем анимированные баннеры, смотрим все акции, видим окно онлайн-консультанта и поле для ввода данных. Логинимся, кликаем по кнопке «Войти».

Вход в личный кабинет на Lamoda

Вход в личный кабинет на Lamoda

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

Основная задача фронтенд-специалиста — связать представленные дизайнером графические макеты веб-приложения с бекэндом.

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

Чем занимается фронтенд-разработчик:

  • принимает участие в разработке и поддержке проекта;
  • взаимодействует с другими членами команды (дизайнеры, аналитики, тестировщики).

Отличия от web-разработчиков и верстальщиков

Вакансия с задачами фронтендера может называться как угодно: верстальщик, HTML-верстальщик, фронтенд-разработчик, веб-верстальщик, web developer. Работодатели не всегда понимают, чем одна специализация отличается от другой.

На заре разработки backend и frontend ложились на плечи одного человека —  web-разработчика. Соответственно, веб-разработчик — более широкое понятие. В своё время веб-разработка усложнилась и разделилась на две стороны: frontend и backend. По-прежнему существуют разработчики, которые умеют и во фронтенд, и в бэкенд, сейчас их называют fullstack-developer.

Поскольку фронтенд-разработка развивается бешеными темпами, знать нужно всё больше. В определённый момент из неё выделилась html-вёрстка и появилась ещё одна профессия — верстальщик. Верстальщик — это фронтендер узкой специализации.

Если отобразить схематично, кто из кого «вышел», будет так:

Схема подспециальностей в разработке

Схема подспециальностей в разработке

Теперь подробнее о различиях между фронтендером и верстальщиком.

Верстальщик Фронтенд-разработчик
Делает из графического макета HTML+CSS страницу.

Делает из графического макета HTML+CSS страницу

+

Может писать на JavaScript, знает библиотеки и фреймворки, делает так, чтобы макеты были наполнены реальными данными. 
Работает в основном только с макетами дизайна. Выполняет всю логику, написанную в основном на JavaScript.
Работает без погружения в бэкенд. Работает с частичным погружением в бэкенд.
Знает типовые решения JavaScript, чтобы реализовать простые вещи, которые заложены в макет. Глубоко знает JavaScript, включая использование библиотек и готовых фреймворков.
Порог входа в профессию более низкий, можно начать работать, если у вас минимальный опыт в разработке. Более опытный разработчик.

Преимущества и недостатки профессии

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

Можно быстро найти работу. Рынку всегда нужны фронтендеры (в сентябре 2021 года на hh.ru в одном только Санкт-Петербурге есть 1 206 вакансий по запросу «фронтенд разработчик»).

Актуальные навыки. JavaScript входит в число самых популярных и востребованных языков программирования.

Удалённая работа. Профессия позволяет работать откуда угодно.

Простор для творчества. Фронтендер решает нетривиальные задачи на стыке дизайна и разработки.

Дмитрий
Фронтенд-разработчик
Цитата
«Мне нравится видеть результат проделанной мной работы. Как из ничего появляется что-то большое и сложное, то, что не может сделать большинство людей».

 

Сложности в профессии тоже есть, как и в любой другой.

Придётся много учиться. Технологии во фронтенде обновляются каждые полгода, так что постоянное прокачивание навыков — ваше всё (применимо почти к любой профессии в IT и digital).

Серьёзные требования. Технологический бум налицо, требования даже к начинающим фронтенд-разработчикам довольно обширны. Чтобы начать работу в IT, нужно хорошо освоить довольно много технологий.

Размытый функционал. Иногда фронтендер это ещё немного аналитик, дизайнер и бэкендер.

Востребованность профессии

Пара кликов на сайте hh.ru — и мы видим, что в России в сентябре 2021 года есть 7 753 вакансии по запросу «Frontend разработчик». В нашу эпоху цифровизации почти у каждой компании, государственной или некоммерческой организации есть свой сайт или приложение. А значит, спрос на фронтенд-специалистов будет расти и расти.

Зарплата

Сайт «Хабр Карьера» в июле 2021 года пишет, что медианная зарплата* фронтенд-разработчиков в России составляет 120 000 ₽. За первое полугодие 2021 года зарплаты айтишников выросли на 6,2% за счёт роста в регионах.

* Медианная зарплата — это уровень, выше и ниже которого получают доход одинаковое количество спецов. Если медианная зарплата в группе из десяти человек равна 100 000 ₽, то пятеро из них зарабатывают меньше 100 000 ₽, а пятеро — больше.

Динамика роста зарплат IT-специалистов

Динамика роста зарплат IT-специалистов на сайте habr.com

Издание Forbes Russia пишет, что предложение IT-специалистов вряд ли догонит спрос в ближайшие пять-десять лет. Сегодня айтишники нужны всем, не только технологическим компаниям, поэтому спрос на разработчиков превышает предложение.

Вакансии фронтенд-разработчика на hh.ru

Опытные разработчики с задачами руководителя могут зарабатывать 300 000 ₽ и больше.

Вакансия фронтендера из Telegram-канала

Вакансия фронтендера из Telegram-канала

Карьерный рост

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

Можно также освоить бэкенд и стать fullstack-разработчиком, чтобы вести проекты самостоятельно и получать более крупный доход.

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

К frontend developer достаточно высокие требования в плане базовых умений, в разработку в принципе нельзя прийти совсем «нулевым». От начинающих фронтендеров без опыта обычно ждут этот набор:

  • HTML,
  • CSS,
  • JavaScript.

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

Базовые навыки

Помимо базового набора, работодатели ждут, что фронтендер будет соответствовать ещё ряду минимальных требований. Итак, что должен знать фронтенд разработчик.

  • HTML;
  • CSS;
  • JavaScript;
  • фреймворки на выбор — Vue, React или Angular (+ дополнительные библиотеки, под каждый фреймворк они свои);
  • препроцессоры Sass (SCSS), Less, Stylus (хотя бы два из перечисленных);
  • знание адаптивного дизайна, кроссбраузерной/кроссплатформенной совместимости сайтов и приложений;
  • опыт работы в одной из популярных CMS;
  • понимание того, как работает бэкенд, и принципов взаимодействия с бэкендом (REST, SOAP);
  • опыт работы с Git;
  • знание графических редакторов (Figma, Photoshop, Illustrator и прочие).

Список можно продолжать и дальше, но важно понимать, что всё знать нереально. Главное — постоянно прокачивать навыки.

Основы HTML и CSS

HTML и CSS — «хлеб» фронтендера. Навыки вёрстки и оформления веб-страниц обязательны, это база веб-разработки.

Как раз HTML и CSS отвечают за то, как сайт будет выглядеть в браузере. Можно освоить их самостоятельно, заручившись поддержкой Google и Яндекса. Очень важно сразу применять всё на практике, например, создавая подобия сайтов.

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

Git и Github

Git — самая популярная система контроля версий. Её можно использовать для фиксации истории разработки проекта и параллельной разработки разных задач.

GitHub — по сути визуальный интерфейс для работы с Git. Создатели называют его «социальной сетью для разработчиков». Кроме размещения кода, участники могут тут общаться и комментировать правки друг друга.

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

Что такое GitHub и как он устроен: гид для новичков
Читайте также:
Екатерина Садчикова
часы малые
9 мин.

Развёртывание веб-сайта

Когда вы уже знаете HTML и CSS, можно создавать простые веб-сайты. Но, чтобы пользователи могли найти результаты ваших трудов, нужно разместить сайт в интернете. Раньше это было не так просто сделать, но сейчас в арсенале фронтендера есть такие инструменты, как сервисы хостинга и развёртывания для проектов статичных сайтов вроде GitHub Pages или Netlify.

JavaScript

JavaScript — одна из базовых технологий в арсенале фронтендера. С помощью этого языка можно создавать фронтенд, бэкенд, мобильные приложения и многое другое. Писать код сложнее, чем верстать, но без этого веб-разработчику не обойтись. Хорошее знание JS позволит быстро освоить любой фреймворк или библиотеку.

Результаты исследования популярности языков программирования среди разработчиков

Результаты исследования популярности языков программирования среди разработчиков. Сайт вопросов и ответов для программистов Stackoverflow, 2020 год

Sass

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

Пакетные менеджеры и веб-бандлеры

Менеджер пакетов — инструмент для работы с открытым кодом. Есть библиотеки, которые решают часть задач программиста — готовый код можно скачать с помощью пакетного менеджера, чтобы не писать его ещё раз.

Бандлеры или сборщики модулей (такие как Webpack или Parcel) нужны, чтобы собрать проект из декомпозированных «кусков» в готовый для продакшена файл.

Фреймворки

Фреймворки ускоряют разработку и предусматривают чётко структурированную организацию кода, повышая его качество.

Самыми популярными фреймворками для фронтенд-разработки можно назвать:

  • Vue.js,
  • React,
  • Angular.

Лучше постараться хорошо изучить один фреймворк, но рекомендуем знать особенности и сферу применения их всех. Какой фреймворк выбрать? Сейчас наибольшей популярностью пользуется React. Причина в хорошей поддержке TypeScript, плюс он сбалансирован с точки зрения сложности и богатства функционала.

Согласно исследованию State of Frontend 2020, React использует больше людей, чем Angular и Vue.js вместе взятые, и React приобрёл такую ​​прочную репутацию, что, вероятно, в ближайшем будущем уже никуда не денется.

Серверный рендеринг и статические генераторы

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

Два наиболее популярных решения, обеспечивающих серверный рендеринг для React:

Тестирование приложений

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

Типичный день frontend-разработчика

Наш друг-фронтендер рассказал, как примерно проходит его стандартный рабочий день.

Дмитрий
Фронтенд-разработчик в региональной IT-компании
Цитата
09:00–09:30 — просмотр задач в трекере. Откидываю задачки, которые должны решаться бэкендерами. Выбираю срочную задачу.
09:30 — первый посетитель с вопросом «Как сделать, чтобы заработало?» (у нас несколько junior-разработчиков, которых я курирую).
09:30–10:30 — помогаю junior-разработчику, в это время накапливаются вопросы от аналитиков и тестировщиков.
10:30 — иду заваривать кофе.
10:31 — начинаю отвечать на самые срочные вопросы, пока наливается кофе.
11:00–13:00 — занимаюсь своими задачами из трекера. Нахожу ошибки, формирую список требований, что нужно сделать, чтобы на фронте всё завелось и крутилось, как каруселька:) Отдаю на доработку.
13:00–14:00 — обед.
14:00–15:00 — отвечаю на вопросы страждущих (junior, backend, аналитики).
15:00–17:00 — доделываю задачи после правок со стороны backend и аналитиков, отвечая на вопросы и помогая junior-разработчикам.
17:00–18:00 — code review.

 

Курсы

Логичный путь, чтобы быстро освоить базовые навыки фронтендера — пройти курсы по frontend-разработке для начинающих. Учиться придётся от полугода до двух лет. Зато на курсах дадут структурированные знания, заботливо отобранные кураторами, и не придётся искать с фонарём адекватную информацию в бездонных недрах Google.

Сколько требуется на обучение с нуля

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

Дмитрий
Фронтенд-разработчик
Цитата
«Всё, что нужно от желающего стать фронтенд-разработчиком — это усидчивость и терпение. То, чего не знает фронтенд-разработчик, есть в документации и в Google. 99% задач, с которыми приходится сталкиваться, уже кто-то решал. Нужна практика, практика и ещё раз практика. Ищите best-practices. Создавайте best-practices. Пишите красиво и осмысленно».

Как найти первую работу

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

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

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

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

Ваш комментарий:
Имя:
Email: