Чем занимается frontend developer
Что должен уметь фронтенд-разработчик
Разбираемся в том, кто такой фронтенд-разработчик, что он должен уметь (или не должен) и за что ему платят прекрасную зарплату (или не очень).
Кто такой фронтенд-разработчик
Согласно ежегодному исследованию StackOverflow, одна из самых популярных профессий среди пользователей сервиса в 2021 году — фронтенд-разработчик.
Если зайти на первый попавшийся сайт по поиску работы, например, на hh.ru, создастся впечатление, что фронтенд-разработчик — это специалист-хамелеон.
Начинается всё с путаницы в названиях вакансий: можно встретить и «front-end developer», и «front end разработчик», и «фронтендщик», и «фронтенд девелопер», и «web developer», и «фронтенд-разработчик». Иногда даже можно увидеть «веб-верстальщика» с требованиями под фулстак-разработчика. Реакция на это одна: WTF?!
Беда в том, что часть работодателей не отличают (или не хотят отличать) верстальщика от фронтенд-разработчика, — это понятно по описанию вакансий.
Разберёмся, какие умения отделяют фронтенд-разработчика от «верстака» (верстальщики, не обижайтесь, вы тоже хорошие).
Верстальщик — боец узкого фронта. Его задача — сверстать полученный от дизайнера макет, используя HTML+CSS. Он, возможно, немного умеет в JavaScript, но чаще ограничивается умением прикрутить какой-нибудь плагин jQuery.
Фронтенд-разработчик не просто верстает макеты. Он хорошо знает JavaScript, разбирается во фреймворках и библиотеках (и активно юзает часть из них), понимает, что находится «под капотом» на серверной стороне. Его не пугают препроцессоры и сборщики LESS, SASS, GRUNT, GULP, он умеет работать с DOM, API, SVG-объектами, AJAX и CORS, может составлять SQL-запросы и копаться в данных. Получается сборная солянка навыков, к которым добавляется понимание принципов UI/UX-проектирования, адаптивной и отзывчивой вёрстки, кросс-браузерности и кросс-платформенности, а иногда и навыков мобильной разработки.
Фронтендщик в обязательном порядке умеет работать с контролем версий (Git, GitHub, CVS и т. д.), использовать графические редакторы, «играть» с шаблонами различных CMS.
Ещё крайне желательно знать английский язык, чтобы не переводить спецификацию в Google Переводчике, уметь работать в команде, иногда мультиязычной, разбираться в веб-шрифтах, ну и понимать тестировщиков и сам процесс тестирования.
Итак, какие технологии должен освоить фронтенд-разработчик:
В чём должен разбираться:
Конечно, это всё в идеале. Не обязательно досконально знать все эти технологии — это под силу далеко не всякому, да и нецелесообразно. Лучше выбрать себе стек навыков по душе и развиваться в более узком направлении.
Что говорит статистика: какие технологии и инструменты используют фронтенд-разработчики
Во-первых, трудно представить фронтендщика, не умеющего в JavaScript.
Это подтверждают опросы:
Далее идут различного рода фреймворки и библиотеки, самые популярные из которых Angular, Node.js, React. Кроме обязательного JavaScript, фронтенд-разработчики также используют и другие языки, хоть и не так часто. Лидируют PHP, SQL, Java и С#. И, конечно же, не обойтись фронтендщику без навыков работы с CMS. Самый популярный выбор — WordPress.
Если сгруппировать самые популярные инструменты в стеки, то получим такую ситуацию:
А набор самых популярных фреймворков и библиотек всех разработчиков выглядит следующим образом (см. иллюстрацию). Приятно видеть среди этого списка инструменты фронтенда:
Карьерный путь и зарплата фронтенд-разработчика
Карьерный пусть фронтендера обычно начинается с верстальщика — это самый логичный и общепринятый вариант. Сначала изучается связка HTML+CSS, затем на неё наслаиваются знания JavaScript, библиотек и фреймворков. Будущий специалист также изучает ключевые понятия построения серверной части, добавляет сюда инструменты, необходимые для выбранной специализации. Затем всё это шлифуется умением работать с контролем версий, графическими редакторами и пониманием принципов UI/UX-дизайна.
Бывают и иные варианты. Если начинающий программист изначально знает, в какой сфере планирует развиваться, ничто не мешает ему изучать ключевой стек технологий сразу, а не по частям. Всё зависит от целей и времени, которыми располагает будущий фронтендщик. Любой вариант приемлем, лишь бы на выходе получился толковый специалист.
У готового фронтенд-разработчика в целом есть три основных варианта развития:
Сервис PayScale наглядно проиллюстрировал все возможные пути карьерного развития фронтенд-разработчика:
Какой из них выбрать — зависит лишь от самого специалиста и его пожеланий или навыков.
Средняя зарплата фронтенд-специалиста по России, рублей/месяц:
Средняя зарплата фронтенд-специалиста по Москве, рублей/месяц:
Традиционно годовая зарплата фронтенд-разработчиков в США чуть выше, чем по России. Однако, если вы работаете в филиале иностранной компании, вам такой разрыв, скорее всего, не страшен.
Как стать фронтенд-разработчиком
Для начала снять розовые очки. Обучение — это труд и самодисциплина. Большинство начинающих айтишников отсеиваются на этапе «хочу стать программистом и получать зарплату в долларах, но не думал, что придётся так много учиться».
Уникальность программирования и вообще любой айтишной специальности ― в постоянном самообучении. В этом и сложность, и прелесть IT-сферы. Если вас это не пугает — круто! У вас есть все шансы стать отличным специалистом.
Главное правило будущего специалиста — ставить реальные цели в процессе обучения. В этом поможет планирование. Составьте список инструментов, которые планируете изучить, и держите его перед глазами.
Тем, кто стартует с нуля, надо начинать с HTML и CSS и освоить их на уровне идеальной верстки PSD-макетов. На этом этапе также надо научиться работать с текстовыми и графическими редакторами и знать основные принципы дизайна (как плюс).
Затем взяться за JavaScript: синтаксис, архитектура и возможности языка. Освоить популярные фреймворки и библиотеки, параллельно полюбить системы контроля версий и какой-нибудь из популярных таскраннеров. Добавить препроцессоры и фреймворки CSS, разобраться в серверных технологиях. А дальше можно пить смузи на Бали и шлифовать полученные знания до бесконечности.
Пройти этот путь можно как в одиночку, так и с наставниками (вузы, курсы). Вот какие самые популярные форматы обучения разработчиков по версии StackOverflow:
На первом месте находятся онлайн-курсы, за них проголосовали 64,7% опрошенных разработчиков. Затем идут самообучение по книгам, офлайн-курсы, опенсорс-разработка и лагери программирования. Интересно, что высшее образование (Master’s degree) стоит практически на последнем месте.
Резюмируем
Фронтенд-разработчик — это универсальный солдат. Он и макет заверстает, и веб-приложение построит, и серверную часть, если надо, освоит.
Знать надо немало: HTML, CSS, JavaScript, библиотеки и фреймворки JS, препроцессоры и фреймворки CSS, системы контроля версий и таскраннеры, технологии бэкенда, юнит-тестирование и многое другое.
Кроме того, нелишними будут soft skills: взаимодействие с людьми и работа в команде, умение наладить эффективный workflow и решать поставленные задачи наиболее оптимальным способом. Не обойтись без уверенных знаний английского языка.
Оплата труда фронтенд-специалиста вполне себе достойная, и чем больше навыков — тем выше шансы получить «жирный» оклад.
Стать фронтенд-разработчиком может каждый, кто не пасует перед самообучением: как мы выяснили, полагаться на вузовское образование сложно. Идеальный вариант — различные онлайн- и офлайн-курсы + литература по теме, практика и великий Гугл.
Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.
Увидеть интерфейс «глазами дизайнера»: о взаимодействии фронтендера с дизайнером
Из железнодорожника в программисты — история Максима Багаева
Как стать программистом с нуля: начните с профессии фронтендера
Чем занимаются фронтенд-разработчики и сколько им платят
Фронтенд-разработчики верстают на HTML и пишут код на JavaScript. Оба навыка востребованы как по отдельности, так и вместе, и относительно просты для изучения.
HTML-верстальщик оформляет внешний вид страницы: он описывает ее структуру и все элементы, которые создали дизайнеры и маркетологи, специальными символами — тегами. Верстка — это набор правил, которые «объясняют» сайту, куда поставить блоки, отступы и какого цвета должна быть, например, кнопка. Верстальщиком легко стать с нуля — нужны только педантичность и любовь к красоте. Почему к красоте? Потому что аккуратный, правильный код — это красиво!
Вот так текст с HTML-кодом выглядит в CMS (админке) сайта
На рынке есть вакансии и для «чистых» верстальщиков, но чаще всего требуются фронтенд-разработчики. А значит, к верстке добавляется разработка на JavaScript.
JavaScript — следующий шаг для веб-разработчика. Если HTML и CSS отвечают за то, как выглядит страница, то код на JavaScript «оживляет» элементы и добавляет им реакцию на действия пользователя. Писать код сложнее, чем верстать, но без этого навыка веб-разработчику не обойтись. JavaScript — язык, который хорошо подходит для изучения тем, кто с кодом ни разу не сталкивался. Для написания кода нужен только текстовый редактор, программы не нужно компилировать (они работают прямо в браузере), а результат работы виден сразу.
Простой пример: знание JavaScript поможет вам сделать таймер, отсчитывающий время до определенного события, или проверить, какие данные пользователи вводят в поля на сайте. Если неправильно заполнить какую-нибудь строчку в форме заказа в интернет-магазине, появляется надпись с подсказкой. Например, «Ваш пароль должен быть от 8 до 30 символов длиной и содержать одну заглавную букву, один спецсимвол и число». Это называется валидацией формы — когда вы вводите данные, программа проверяет, корректно ли они введены. Владея JavaScript, можно написать такую программу.
Ключевые навыки хорошего фронтенд-разработчика (по данным HTML Academy):
Верстка и профессиональная разработка веб-интерфейсов:
Написание кода на JavaScript:
Уровень зарплат фронтенд-разработчиков (по данным hh.ru за 2020 год), в рублях
Регион | 1-й квартиль (соответствует минимальной границе рыночных размеров) | 2-й квартиль (соответствует средним значениям рыночных размеров) | 3-й квартиль (соответствует максимальной границе рыночных размеров) |
---|---|---|---|
По России | 51 500 | 80 000 | 119 750 |
По Москве | 100 000 | 140 000 | 180 000 |
По Петербургу | 80 000 | 120 000 | 150 000 |
Уровень конкуренции за рабочее место
Уровень конкуренции за рабочие места среди фронтендеров ниже, чем в среднем по рынку по всем профобластям, и в разы ниже, чем во многих отдельных профобластях. На одну вакансию в среднем приходится по 4 (в Москве), 4,5 (в Санкт-Петербурге) и 4,8 (по России) активных резюме фронтенд-разработчика. Тогда как средний уровень конкуренции по всем профобластям составляет 6 активных резюме на одну вакансию, а в отдельных профобластях (например, у юристов, журналистов, бухгалтеров, секретарей) он выше 7 и даже выше 10 — это уже повышенная конкуренция. То есть найти работу фронтендерам проще, чем представителям других профессий.
Сколько требуется на обучение с нуля
В HTML Academy обучение профессии «Фронтенд-разработчик» занимает 6 месяцев. За это время студент осваивает курс базовой верстки, курс адаптивной верстки и курс по JavaScript. У каждого студента есть личный наставник, вместе с которым он погружается в практику: по каждому из курсов студент выполняет и защищает от 1 до 2 проектов.
После обучения выпускник уже может работать младшим разработчиком. Но в рамках профессии в HTML Academy после обучения предусмотрена стажировка. Первый этап стажировки — акселерация. Здесь новичок получает учебный проект с настоящей командой, в которой есть проектный менеджер и тестировщик. В конце работы студенту дают обратную связь и говорят, что нужно подтянуть, на какие компетенции стоит обратить внимание.
После он попадает на трехмесячную стажировку в фронтенд-аутсорс «Лига А.» и выполняет коммерческие проекты от реальных заказчиков. В каждой проектной команде новичков курирует наставник — он помогает найти ошибки и проводит код-ревью. Стажировка оплачивается, выполненные проекты идут в портфолио специалистов — и благодаря этому снимается проблема отсутствия начального опыта.
Самостоятельно освоить профессию тоже можно, но на это уйдет больше времени. К тому же есть такая опасность, как перфекционизм новичка. Это когда при первых же сложностях возникает ощущение, будто программирование — слишком трудное занятие, и хочется бросить. В таких случаях нужен наставник — человек с опытом, который покажет, как выйти из тупика.
Стать фронтендером может и гуманитарий старше 30 лет
Сегодня фронтенд-разработку успешно осваивают с нуля люди всех возрастов. Возраст учеников HTML Academy — от 12 до 65 лет.
Найти работу новичку вполне реально. По данным HTML Academy, для большинства работодателей важно, как специалист вписывается во внутреннюю культуру компании, горят ли у него глаза и достаточны ли его знания. Особенно это актуально для небольших веб-студий в посткарантинный период. Команда в 10–15 человек обычно работает на удаленке, а руководство готово рассматривать всех, кто хорошо выполняет задачи и с кем нашли общий язык.
Стать фронтенд-разработчиком может даже гуманитарий. Конечно, на этапе написания кода будет чуть сложнее, если есть большие пробелы в математике, но «чуть сложнее» не означает «это невозможно». Именно поэтому фронтенд часто выбирают, если хотят сменить профессию на «айтишную». Переход в техническую сферу здесь получается мягче и безболезненнее, чем если начинать с других ИТ-профессий.
Екатерина Матюшкина, одна из выпускниц HTML Academy, до того как стать фронтенд-разработчиком, работала педагогом-психологом. В новую профессию ее привело профессиональное выгорание. Обучение далось нелегко, но она справилась:
После обучения Екатерина устроилась на стажировку в МТС IT, и через 3 месяца ее взяли в штат. Работать программистом ей нравится куда больше, чем педагогом. Уровень стресса гораздо ниже, нет дресс-кода, жесткого графика работы и субординации, команда поддерживает и к ней всегда можно обратиться за помощью.
Как найти первую работу
Есть несколько способов.
Компании часто нанимают младших разработчиков, которые хорошо показали себя на стажировке и разобрались во всех внутренних процессах.
Другой способ трудоустройства — через «Центр карьеры» HTML Academy.
Третий способ — разместить резюме на hh.ru и откликаться на вакансии.
Для дальнейшей карьеры есть несколько вариантов
Есть несколько вариантов развития событий после того, как вы освоите новую профессию. Первый вариант — можно начать работать на фрилансе, брать проекты и наращивать опыт самостоятельно.
Второй вариант — устроиться в компанию на позицию джуниор-разработчика и выполнять типовые задачи. Получив нужный опыт, вы станете мидл-разработчиком (программистом среднего уровня), а после сеньором или старшим разработчиком, который может решать самостоятельно архитектурные проблемы, курировать «мидлов»и «джунов». Каждая новая ступень означает более высокую зарплату и востребованность.
Другие возможные направления развития карьеры: освоить новый язык программирования, уйти в мобильную разработку, перейти в смежные профессии — стать тимлидом, scrum-мастером или перейти в продакт-менеджеры и управлять бизнес-процессами. Вариантов много, и точно спрогнозировать, какой именно вы выберете через полгода-год, невозможно. Но навыки, приобретенные за время обучения, сильно расширят профессиональные возможности в ИТ-сфере.
Совет: прежде чем менять профессию и тратить на обучение полгода, удостоверьтесь, что это вам интересно. В HTML Academy есть бесплатные тренажеры по верстке и программированию. Это самый базовый уровень, на котором все разложено по полочкам в игровой форме. Если вы открыли занятия, попробовали, у вас разболелась голова и появилось отторжение — наверное, это не ваше. Но если вас затянуло, проснулся интерес, чешутся руки продолжить учебу, значит, стоит присмотреться к новой профессии! Дерзайте!
Кто такой frontend-разработчик?
Эта профессия — как кажется, один из самых простых входов в IT, хотя если копнуть немного глубже базовых знаний верстки, оказывается, что она едва ли не сложнее всех остальных. Вместе с ментором курса «Frontend-разработчик» Алексеем Видякиным сравниваем разработку сайта с созданием автомобиля, раскрываем нюансы специальности и ищем подводные камни.
Кто такой frontend-разработчик?
Frontend-разработчик (frontend developer) — это специалист, который отвечает за создание пользовательского интерфейса сайта, приложения или ПО.
Если backend — это то, что находится на веб-сервере, «под капотом», то фронтендом сайта называют все, что пользователь видит в браузере и с чем взаимодействует, когда вводит данные и получает обратную связь.
Разработку сайта можно сравнить с созданием новой модели автомобиля. В этой аналогии инженеры, работающие над характеристиками шасси, двигателя и трансмиссии, — это backend-разработчики. А дизайнеры и инженеры, отвечающие за панель приборов, эргономику салона и удобство управления автомобилем, — это фронтендеры. Поэтому frontend-разработчику нужны как дизайнерские, так и инженерные навыки.
Здесь мы объясняем на мемах, чем frontend отличается от backend’а.
Где работает и какие задачи решает frontend-разработчик?
Он работает везде, где требуется создание сайта, приложения или любой другой программы, у которой есть интерфейс. Знание JavaScript (основного языка frontend-разработчика) не ограничивает программиста веб-разработкой. Язык используется и для создания десктопных приложений, например офисных пакетов Microsoft и OpenOffice или приложений Adobe, и в программировании оборудования и бытовой техники (платежных терминалов, телевизионных приставок и т.д.).
Помимо студий веб-разработки, для frontend-разработчика есть масса вариантов трудоустройства:
Научитесь разрабатывать интерактивные веб-сайты и приложения на JavaScript и HTML и получите востребованную IT-профессию. Дополнительная скидка 5% по промокоду BLOG.
Чем задачи фронтендера отличаются от задач верстальщика?
Базовые инструменты для создания страницы сайта — язык разметки веб-страниц HTML, каскадные таблицы стилей CSS и язык программирования JavaScript. На HTML пишут скелет страницы, благодаря CSS она приобретает привлекательный внешний вид.
Когда странице задана структура и для нее описаны стили — она сверстана. Этими инструментами владеет верстальщик. В его обязанности иногда входят несложные операции с JavaScript, например подключение плагинов и скриптов, отвечающих за оживление статичных страниц.
На небольших проектах задачи верстальщика и frontend-разработчика нередко выполняет один человек.
По мере усложнения функционала сайтов и приложений все большая часть разметки страниц и их содержимого генерируется динамически, то есть создается с помощью JavaScript, и наполняется данными, полученными с сервера. Эти задачи можно продолжить решать на чистом JavaScript или использовать библиотеки, но такой сайт будет недостаточно быстрым, а его разработчики скоро начнут стонать из-за возрастания объемов кода и непомерного усложнения его структуры.
Для создания большого и сложного веб-приложения требуются более узкие специалисты и мощные инструменты. На таком проекте задачи верстальщика и frontend-разработчика разделяются. Фронтендер занимается исключительно программированием, причем с использованием фреймворка, подходящего для решения поставленной задачи.
Сколько получают frontend-разработчики?
По данным «Хабр.Карьеры», во второй половине 2020 года медианная зарплата специалиста составила 110 тыс. рублей. Но JavaScript-джедаи с опытом от пяти лет могут зарабатывать в два раза больше. Средняя зарплата джуниора составляет 53 тыс. рублей.
JavaScript несколько лет подряд остается самым популярным языком программирования, поэтому с ним вы точно останетесь востребованы еще долгое время, независимо от того, пойдете вы по пути фронтендера или нет.
Как стать frontend-разработчиком?
Чему учиться?
Программисты со стажем немного лукавят, когда говорят о низком пороге входа в профессию frontend-разработчика. Под этим обычно подразумевается легкость изучения базовых технологий, связанных с версткой (HTML и CSS), и начальных навыков оживления веб-страниц с помощью плагинов и библиотек. Но в 2021 году это лишь малая часть того, что должен знать и уметь фронтендер.
«В 2017 году я устроился на свою первую работу, зная лишь HTML, CSS, немного JavaScript и JQuery, — рассказывает Алексей Видякин. — Сегодня, в 2021 году, требования очень выросли, поскольку выросла конкуренция. Базовыми знаниями верстки уже никого не удивишь».
Вот примерный список требований к джуниор-специалисту в 2021 году:
Где начать работать?
Существует три основных варианта трудоустройства: фриланс, студия веб-разработки и работа на стороне заказчика.
В качестве оптимального места первой работы Алексей Видякин называет студию веб-разработки, поскольку именно среди узких специалистов и разнообразных задач проще всего расти от простого к сложному. Но при этом поначалу нужно быть готовым к большому количеству рутины.
«На позиции trainee (стажера) я выполнял ту работу, за которую не хотели браться более опытные сотрудники, — вспоминает Алексей. — В основном это были правки от заказчика, то есть дополнения на сайте, которые нужно просто внести по определенному шаблону, ничего не поломав при этом. Дополнительная ценность такой работы в том, что ты начинаешь понимать, как устроены реальные проекты именно в вашей студии».
Начиная работать с нуля на фрилансе, легко застрять на выполнении низкооплачиваемых примитивных задач. При этом рядом с вами не будет руководителя, заинтересованного в вашем профессиональном росте. А вот для опытного frontend-разработчика фриланс, особенно на международных биржах, может открыть много возможностей.
Работа на стороне заказчика может стать отличным стартом, но стоит искать компанию, которая будет расти вместе со специалистами. IT-отделы в крупных компаниях часто создают для быстрого решения сложных задач и нанимают для этого дорогих и эффективных специалистов.
С чего начать?
«Для многих, и для меня в том числе, frontend был хобби, прежде чем стать профессией. Создавая с нуля свой первый, далеко не идеальный сайт, вы сможете понять, увлекает ли вас это занятие. Но на первой работе вам, особенно поначалу, потребуется больше терпения и внимательности, чем креативности, — рассуждает Алексей. — Чтобы не перегореть на этом этапе и вырасти до действительно креативных и высокооплачиваемых задач, важно иметь изначальный интерес к веб-разработке».
Лучший способ понять, интересна ли вам frontend-разработка, — взять и попробовать. Вот несколько полезных ссылок, с которых можно начать:
Бесплатные курсы:
Сообщества программистов:
Книги:
Начать учиться можно и без самостоятельной подготовки. На курсе SkillFactory Frontend-разработчик вы пройдете путь от самых основ до создания сложных продуктов. Сначала вы научитесь создавать веб-сайты, затем — разрабатывать интерактивные веб-сайты и приложения на JavaScript и HTML, писать сложные компоненты на React.
В ходе курса мы даем вам правила и теорию, а на тренажерах вы сами отрабатываете практические навыки. Заключительный трек курса — карьерный. В нем специалисты Карьерного центра помогают вам составить резюме и подготовиться к собеседованию в компанию мечты.
Изучите HTML, CSS и Javascript, чтобы получить перспективную и творческую IT-профессию.