Фронт энд разработчик что это
Frontend разработчик
Фронт-энд разработчик (с англ. front-end developer, варианты русского написания и произношения: фронтенд-разработчик, фронтенд-девелопер, фронт-разработчик) — это программист, занимающийся разработкой пользовательского интерфейса, то есть внешней публичной части сайта в браузере. Главная задача фронт-энд разработчика — перевести дизайн-макет в легко читаемый и расширяемый код, сделать так, чтобы всё на сайте или в веб-приложении работало быстро и удобно для пользователя. Кстати, в 2021 году центр профориентации ПрофГид разработал точный тест на профориентацию. Он сам расскажет вам, какие профессии вам подходят, даст заключение о вашем типе личности и интеллекте.
Чем занимается фронт-энд разработчик
Слово «фронт» в названии профессии говорит о том, что фронт-энд разработчик находится на передовой линии с конечным пользователем и отвечает за внешний функционал приложения, с которым контактирует пользователь. Программным кодом на сервере занимается другой специалист — бэк-энд разработчик. К сведению: есть универсальный специалист, который работает одновременно на фронт-энд и бэк-энд. Он называется фулл-стак разработчик (с англ. full stack developer).
Основные инструменты фронт-энд разработчика в web:
Это минимальные знания, но над каждым из элементов есть свои настройки. Над HTML — шаблонизаторы, над CSS — препроцессоры, над JavaScript — как расширения языка, например TypeScript, так и различные библиотеки, в том числе библиотеки/фреймворки для построения одностраничных приложений (single page application): React, Vue.JS, Angular.
JavaScript — главный язык фронт-энд разработчика в web, на котором он программирует пользовательские интерфейсы. Фронтендерам часто приходится заниматься версткой сайтов: написанием HTML-кода и CSS-стилей для представления информации в виде, соответствующем макету дизайнера и понятном всем браузерам.
Основная задача фронт-разработчика зависит от проекта, но, я думаю, что всё же это написание логики на языке JavaScript. Для верстки иногда даже нанимают специальных людей — верстальщиков, которые только переводят дизайн в HTML и CSS-код. Часто верстальщики обладают минимальными знаниями JavaScript, что позволяет им вносить в сайт элементы интерактивности. Для разработки простых сайтов, например landing page, часто не нужны полноценные фронт-программисты, а хватает навыков верстальщиков. Фронт-программисты часто не любят верстать и порой не умеют это делать так же качественно и быстро, как верстальщики.
Иногда макеты не содержат всех элементов для разработки. В таком случае фронт-энд разработчик может включить свои дизайнерские способности, чтобы учесть все технические детали и нюансы, но эффективнее и рациональнее доверить эту работу узкому специалисту.
Если в макете не хватает элементов для разработки, тогда программист возвращается к дизайнеру и говорит: «Мне нужна вот такая иконка, а вот тут для вот такого случая не отрисован дизайн», и дизайнер дорисовывает необходимые вещи, либо говорит, откуда их взять. Фронт-энд разработчик может выступать в роли бизнес-аналитика, додумать, какая функциональность не учтена, и доделать ее самостоятельно, но, конечно, всегда лучше обращаться к коллегам за консультацией, хотя бы для того, чтобы они были в курсе изменений и это в будущем не стало для них сюрпризом.
Есть много дополнительных инструментов, которые автоматизируют рутинную часть работы:
А появление Chrome Dev Tools и Firebug позволило повысить производительность труда.
Фронт-энд разработчик в web отвечает за то, чтобы страницы сайта выглядели во всех браузерах одинаково и соответствовали макету дизайнера. С появлением новых средств разработки и более современных браузеров эта задача решается проще, чем раньше. Но интерфейсы современных сайтов или интернет-сервисов становятся более сложными, а многообразие устройств, с которых пользователи выходят в Сеть, постоянно расширяется — например, к десктопам и ноутбукам добавились планшеты, смартфоны. Поэтому фронт-энд разработчику очень важно, как и любому программисту, постоянно находиться в курсе всех новшеств и фишек, чтобы успешно адаптировать сайты под новые устройства.
Особенности профессии
В обязанности фронт-энд разработчика в web входит:
Плюсы и минусы профессии
Плюсы
Я работаю последние 5 лет фронт-разработчиком, до этого работал много лет desktop-разработчиком на языке C#. Для себя вижу следующие плюсы во фронтовой разработке:
Минусы
Место работы
Компании по разработке сайтов, веб-приложений, мобильных приложений, фриланс.
Важные качества
Фронт-энд девелоперу для успеха в работе очень пригодятся:
Frontend-разработчик – мыльный пузырь или стабильное и перспективное будущее. Экскурс по профессии
Фронтенд-разработчик – это программист, который работает над пользовательским интерфейсом сайта. Результат его труда – удобные и красивые страницы с интерактивными эффектами. Сюда относится анимация, выпадающие списки, появление окон, меню и т. д. В отличие от верстальщика, фронтенд-разработчик не просто верстает сайты, используя HTML и CSS, но и программирует новые элементы сайта.
В 2021 году это перспективная и стабильная профессия с высокой оплатой. Новички зарабатывают порядка 600$, опытные разработчики до 3500$. На рынке труда ежедневно появляются сотни вакансий для фронтенд-специалистов.
Но есть мнение, что в скором времени эта профессия утратит популярность. Такая идея основана на том, что появляется всё больше конструкторов сайтов типа Tilda, Wix, Nethouse и так далее. С их помощью несведующий в программировании человек может самостоятельно и бесплатно «собрать» сайт из готовых блоков и элементов и даже бесплатно разместить его на субдомене. Конструкторы активно развиваются, расширяют наборы платных и бесплатных функций.
Но при всём удобстве конструкторов шаблонный сайт не сравнится с уникальным дизайнерским проектом – ни по удобству, ни по красоте и стилю. Недаром на фрилансерских биржах так много заказов, связанных с переносом сайта с конструктора на движок. Да и конструкторы типа uСoz существуют уже более 15 лет, однако востребованность разработчиков сейчас не вызывает сомнений.
Даже если когда-нибудь конструкторы достигнут такого уровня развития, что смогут удовлетворить любые индивидуальные запросы заказчиков, это не значит, что фронтенд-разработчики станут не нужны.
Пройдёт время, и появятся новые технологии, которые потребуется адаптировать для удобства пользователей. Вспомните, ведь 10 лет назад о мобильной разработке слышали единицы. Как удивился бы бизнесмен, если бы ему сказали, что можно нажать пару кнопок на смартфоне и в режиме реального времени отследить статистику покупок в его магазине!
А сейчас это наша обыденность. Существуют тысячи сервисов, которыми люди пользуются с мобильных устройств. За 10 лет индустрия мобильных приложений захватила мир!
Ассортимент устройств поражает: это смартфоны, планшеты, лэптопы, нетбуки и ноутбуки, телевизоры и т. д. И задача фронтенд-разработчика сделать так, чтобы сайт великолепно выглядел и работал на всех этих устройствах в любом из десятков разрешений. Это мы ещё не затронули такие моменты, как проработка вариантов поведения пользователя.
А что появится в следующие 10 лет? Наверняка, какие-то новые устройства вроде повседневных онлайн-очков или смартфонов, вживлённых в руку. Для этих устройств также нужно будет создавать интерфейс. Фронтенд-разработка выйдет на новый уровень. Никакой ИИ не в силах заменить человека в деле создания принципиально новых вещей.
Поэтому не стоит опасаться, что роботы в ближайшие годы лишат веб-разработчиков работы. Более того, роботизация – благо, потому что позволяет автоматизировать самую нудную работу, оставляя больше времени на интересные и сложные задачи.
Фронтенд-разработка – одна из самых востребованных областей программирования с впечатляющими перспективами. Но работа такого специалиста требует постоянного дополнительного образования. Разработчику нужно постоянно быть в курсе технологического развития и обладать актуальными знаниями и навыками.
Что должен уметь фронтенд-разработчик
Разбираемся в том, кто такой фронтенд-разработчик, что он должен уметь (или не должен) и за что ему платят прекрасную зарплату (или не очень).
Кто такой фронтенд-разработчик
Согласно ежегодному исследованию 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 есть бесплатные тренажеры по верстке и программированию. Это самый базовый уровень, на котором все разложено по полочкам в игровой форме. Если вы открыли занятия, попробовали, у вас разболелась голова и появилось отторжение — наверное, это не ваше. Но если вас затянуло, проснулся интерес, чешутся руки продолжить учебу, значит, стоит присмотреться к новой профессии! Дерзайте!