Агрегатор сервисов Прокомоды, рейтинги и обзоры
сервисов для бизнеса в одном месте

Фронтенд-разработчик: плюсы и минусы профессии

Содержание

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

Как им стать, где он обитает и как много зарабатывает — разбираемся в статье. Будет полезно и тем, кто хочет стать фронтенд-разработчиком, и тем, кто хочет нанять его на работу.

Примеры задач, антизадач и точек роста фронтенд-разработчика:

Что делает Что точно не делает Что может делать
— Собирает сайт по макету от дизайнера (например, макет из графического редактора Figma) — Не рисует дизайн-макет (это задача дизайнера) — Дорабатывать логику интерфейса, если решение дизайнера оказывается некорректным
— Создаёт фасад сайта на движке конкретной CMS (например, в Wordpress) — Не отвечает за технические неполадки (ситуация «сайт лёг») — Учиться работать с разными CMS-системами, писать код с нуля
— Работает с фреймворками (например, фреймворки для JavaScript — React, VueJS) — Не работает с фреймворками для других разработчиков (например, для Python — Django). — Изучать серверный язык программирования и его фреймворки
— Верстает удобную корзину в личном кабинете покупателя на сайте интернет-магазина — Не интегрирует туда платёжный шлюз (это задача бэкенд-разработчика) — Протестировать разные варианты интерфейса корзины, чтобы выяснить, какой из них пользователи реже бросают

Подытожим метафорой. Представьте, что Вы захотели поесть борщ в ресторане. Нашли место, пришли, заказали.

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

Зато видим, какую подачу нам организовали. Выбор посуды, приборов, дополнительных штук типа соли и приправ — насколько всё это красиво, удобно и заботливо. Вот это и есть задача фронтенд-разработчика.

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

Что нужно знать?

Вы же хотите получить классный оффер? Тогда вперёд.

Карьера фронтенд-разработчика делится на три уровня: начинающий (junior), средний (middle) и ведущий (senior). От этого зависит зарплата, количество обязанностей и их сложность. Требования по знаниям в разных проектах сильно отличаются, но база пока остаётся неизменной. А «софт скиллы» и вовсе вечны.

Ниже будет «пирамида развития» от начинающего до матёрого фронтенд-разработчика. Посмотрим, что нужно для старта в профессии, а затем будем карабкаться выше по должности, добавляя новые технологии и навыки.

 
Уровень Hard Skills / языки, технологии Soft Skills / улыбаемся и машем Будет преимуществом
Junior

— HTML, CSS, JavaScript
— Адаптивная вёрстка
— IDE (среда разработки)
— Работа с дизайн-макетами

— Git (система контроля версий кода)
— БЭМ (блок, элемент, модификатор)
— Один из фреймворков: React, jQuery

— Работа в команде
— Любопытство и желание задавать вопросы коллегам
— Английский язык, чтобы изучать техническую документацию (или работать
в зарубежной компании)

— Аккуратное оформление кода с комментариями, по правилам компании

— Тяга к развитию, желание изучать стек технологий для разработчика уровня middle

Middle

— Unit-тесты
— TypeScript, Vue.js, Redux
— Кроссбраузерная вёрстка
— Принципы ООП, понимание SQL
— Препроцессоры и постпроцессоры SASS/SCSS/Less/PostCSS
— Декомпозиция, умение оптимизировать свой и чужой код

— Обучение новичков
— Знание тенденций разработки
— Умение предлагать новые решения
в проекте и отстаивать их

— Знание Docker
— Знание ОС Linux
— Понимание UX/UI
— Опыт работы с TDD/BDD
— Основы, понимание серверного яpыка программирования — PHP, Python, Ruby, Go, C#

Senior

— Angular, Ruby on Rail
— Всё, что знают миддл и джуниор, сеньор должен уметь сделать, если его разбудят в три часа ночи

— Разработка стратегии
— Создание архитектуры проекта
— Управление командой, делегирование задач

— Знание серверных языков программирования — PHP, Python, Ruby, Go, C#

Списки терминов на английском в описаниях вакансий могут напугать. На деле работодатели должны понимать, что нет идеального человека на позицию со знанием того самого фреймворка, немного графического дизайна, немного ковыряний в PHP, сверху TDD/BDD, SQL и всё это одновременно.

Не поняли, что это за ругательства? То же можно испытать от каждой второй вакансии на рынке. Прочувствуйте. Это нормально. Если Вам знакома половина из списка требований — откликайтесь.

Достаточно стека технологий из таблицы в зависимости от уровня, софт скиллов и готовности обучаться. Адаптироваться к инструментам компании несложно: можно попросить себе наставника, доступ к корпоративной библиотеке и тренажёрам с задачами. Можно изучать узкие технологии на свой вкус и искать работодателя, которому нужны именно они.

Сколько можно заработать (много)

Давайте сразу к цифрам. Посмотрим зарплаты фронтенд-разработчиков за последний год. По географии будем ориентироваться на Москву, регионы России, ближнее зарубежье (страны СНГ), дальнее зарубежье (Европа и Америка). Разобьём на стартовую, среднюю и высокую зарплаты.

Зарплата фронтенд-разработчика в Москвезп фронтенд разработчика в москве
Зарплата фронтенд-разработчика в регионах РФзп фронтенд разработчика в регионах рф
Зарплата фронтенд-разработчика в странах СНГзп фронтенд разработчика в странах снг
Зарплата фронтенд-разработчика в зарубежных странахзп фронтенд разработчика зарубежом

Зарплата фронтенд-разработчика на фрилансе сопоставима с наймом: планка колеблется от 500 до 3000 руб/час в зависимости от опыта и сложности задачи. Многие предлагают, к примеру, пакетную разработку сайта: тогда суммы могут быть от 80 000 руб. Если это разовая задачка подправить элемент на странице — 1000-2000 руб. за работу. Можно осмотреться на биржах фриланса и прикинуть, какой ценник поставить за свои навыки.

Где и сколько учиться?

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

Самоучкой — можно. Что понадобится?

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

— Книги

Быстро устаревают, но выбрать одну, чтобы получить базовое понимание и «советы бывалого» — полезно. В них есть необходимый иногда академический взгляд, который поможет упорядочить знания.

  1. Роберт Мартин «Чистый код». Как писать код красиво, понятно, без мусора и делать ревью. Вы научитесь писать так, чтобы вас полюбили коллеги, оптимизировать свой код и править чужой;
  2. Джон Даккет «Разработка и дизайн веб-сайтов». Хорошее руководство для разработки интерфейсов — охватывает азы HTML и CSS и более продвинутые темы: работу с нестандартными шрифтами, адаптивная вёрстка и другие;
  3. Крис Минник, Ева Холланд «Программирование на JavaScript для чайников». Название говорит за себя. Научитесь настраивать IDE, работать с анимацией, узнаете про распространённые ошибки;
  4. Кэй С. Хорстман «Современный JavaScript для нетерпеливых». Основы и углубление в сложные темы, всё написано доступным языком. Есть обозначения уровня сложности каждого раздела, примеры кода;
  5. Леа Веру «Секреты CSS. Идеальные решения ежедневных задач». Книга раскрывает скрытые возможности CSS. Обзор основ, концепций, разных методов вёрстки, оптимизации и не только.

— Бесплатные тренажёры и открытые ресурсы

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

  1. Code Basics / Бесплатные курсы программирования. Есть полноценные курсы по HTML, CSS и JavaScript. Интерактивные уроки с подсказками, структурированная программа, среда разработки прямо в браузере;
  2. GitHub / Hexlet / Тестовые задания от IT-компаний. Крупный сборник тестовых заданий на разные позиции. Указана должность, стек, название организации, где предлагают такое тестовое. Есть задачи с детальным разбором;
  3. Яндекс.Практикум / Курс фронтенд-разработчик. Полного бесплатного курса нет, но можно пройти бесплатную вводную часть. Сможете изучить базовый синтакс и написать первую маленькую программу на JavaScript;
  4. Front End Development Libraries Certification. Англоязычный сборник задач по фронтенду. Рассчитан на тех, кто уже умеет в связку HTML, CSS и JS. Есть задачи по библиотекам и дополнительным фичам языков;
  5. Задачи по программированию на itProger. Сборник задач для разных языков программирования. Есть углублённые задачи по фреймворкам, в случае с фронтендом — React, Node и другие;
  6. W3Schools Online Tutorials & Exercises. Англоязычный сборник задач и викторин по всем языкам программирования. Переходите во вкладку Exercises, выбирайте и наслаждайтесь.

— Онлайн-учебники

Отличаются от книг не только форматом, но и регулярными обновлениями. Рекомендуем учебники по трём столпам фронтенда — HTML, CSS и JavaScript. Все разбирают тему с нуля, рассказывают о концепциях, теории и предлагают практические задания с примерами кода.

  1. Современный учебник JavaScript. Вас погрузят в основы, познакомят со спецификациями, синтаксисом. Научат работать с функциями, типами данных, классами, ошибками, модулями, прототипами, особенностями браузеров. А напоследок предложат тематические статьи про всякие украшательства для страниц и фичи;
  2. Современный учебник CSS. Вас познакомят с принципами и синтаксисом CSS, покажут возможности языка, расскажут о современных методах применения. Научат писать стили чисто и быстро. Для обучения стоит знать HTML хотя бы на начальном уровне;
  3. HTML5BOOK. Расскажут не только о HTML, но и о CSS, JavaScript и типографике. Есть авторские статьи, где рассказывают, как создавать стильные нестандартные интерфейсы, адаптировать их под разные устройства и в целом пичкать сайты красотой.

— Сообщества

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

Крупная подборка сообществ офлайн и онлайн есть на свободном ресурсе для разработчиков GitHub. Ознакомьтесь, там есть разбивка на города, чтобы можно было обнаружить единомышленников буквально на соседней улице и познакомиться.

Платные курсы

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

Чей курс Стоимость Срок обучения Трудоустройство Налоговый вычет 13%
Skillbox

260 000 руб, есть рассрочка без переплат на 24 месяца

9 месяцев

Да

Да

Нетология

235 000 руб, есть рассрочка без переплат на 24 месяца

19 месяцев

Да

Да

Eduson ACADEMY

207 000 руб, есть рассрочка без переплат на 24 месяца

9-12 месяцев

Да

Да

GeekBrains

252 000 руб, есть рассрочка без переплат на 36 месяцев

9 месяцев

Да

Да

skypro

От 268 000 до 420 000 руб

 

12 месяцев

Нет, только карьерная консультация

Да

Как устроиться на работу? Три пути самурая и советы

Представьте, вот Вы чему-то научились, пора в свободное плавание. А куда и как? Сейчас есть три главных способа начать трудовой путь разработчика.

Специализированные ресурсы для поиска работы в IT. Это знакомые нам всем сайты, где работодатели выкладывают тысячи вакансий в день. Среди русскоязычных можем выделить: HeadHunter, Хабр.Карьера, Geekjob, БУДУ, Superjob, Tproger, Работа.ру.

Для тех, кто планирует переезд после устройства в международную компанию, есть аналогичные зарубежные ресурсы: Indeed: Job Search, Glassdoor, Idealist, Relocate.me, Jora, Hired.

Курсы с гарантированным трудоустройством. Посмотреть Вы их можете чуть выше, в разделе «Где и сколько учиться» — мы специально выделили трудоустройство отдельной колонкой.

Степень помощи в трудоустройстве у всех разная. Кто-то рекомендует Вашу кандидатуру работодателям и отпускает в свободное плавание, кто-то готов даже вернуть деньги, если Вы не найдёте работу в определённый срок.

Стажировка в компаниях, или трудоустройство «на вырост». Сейчас многие организации открывают наборы на стажировки — гиганты вроде Яндекса, Сбербанка, Тинькофф, Озона и зарубежные компании.

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

Ещё советы

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

  1. Сделать портфолио из самостоятельных проектов. Разместить его на LinkedIn, в соцсетях, в резюме и на биржах фрилансеров;
  2. Вооружиться списком пабликов вконтакте, групп в фейсбуке и каналов в тележке, где выкладывают интересные вакансии;
  3. Ходить на IT-конференции, выставки, лекции и семинары — или смотреть онлайн. 

Что спрашивают у фронтенда на собеседовании?

Классическое собеседование делится на две части, как курсовая работа — теорию и практику. Мы не будем рассказывать, что надеть на собеседование, в какую сторону смотреть и куда деть руки. Только по делу.

Теория

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

  1. Какие знаете способы отладки ошибок в браузере?
  2. Как переносить макет, где есть нестандартные шрифты?
  3. Знакомы с какой-нибудь CMS? Разрабатывали что-то для этого движка?
  4. Как Вам работа в команде? У нас есть дизайнер, бэкенд-разработчик, технический руководитель, контент-менеджер. С ними нужно будет общаться, дружить, делать задачи вместе :)
  5. С какой работой раньше сталкивались? Умеете верстать сложные, многостраничные сайты, интернет-магазины? Примерно представляете, как это делать?
  6. Ну всё, теперь о Вашем стеке. Опишите, что знаете, с чем работали, почему выбрали именно такой фреймворк? Умеете в Git?
  7. Вы любите учиться? Что читаете, как часто изучаете новое, где берёте знания? Нам важно, чтобы сотрудник был готов к обучению, готовы дать книги, тренажёры с задачами, всякие полезные штуки;
  8. Какие технические проблемы у Вас были и как вы их решали? Может быть, ошибка в коде — съехал баннер на странице, и было не понятно, что с этим делать;
  9. Какая среда разработки вам нравится и почему? Мы работаем там-то, нам так комфортно. Готовы переучиваться?
  10. Знакомы с SEO? Как использовали в своей работе? Что с Вашей стороны нужно сделать,
    чтобы сайт взлетел в поисковой выдаче?
  11. Как оцените свою скорость работы? Лучше сдать результат на четвёрку или посидеть, покопаться в задаче, сделать идеально?
  12. (Прости господи) кем Вы видите себя в нашей компании через 5 лет?
  13. (Потому что предыдущий — вода) какие способы оптимизировать сайт вы знаете? Пример — страничка товара тормозит, загружается минуты три. В чем дело, как будете решать проблему?

Практика

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

Будьте готовы к ряду вопросов о библиотеках, которые используются в работе, синтаксисе языка — например, JavaScript. Популярные задачки есть на просторах интернета, достаточно вбить в поиск «react вопросы на собеседовании». Смотрите, что написано в требованиях вакансии, и прогоняйте себя по ним.

Тестовое задание зависит от специфики компании. К примеру, одни создают одностраничные сайты, другие разрабатывают интернет-магазин или веб-приложение. Некоторые задачи универсальны: сделать форму контактов, поправить ошибку в коде, проанализировать логику интерфейса, нарисовать поп-ап или сделать слайдер.

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

Ко всему этому можно и нужно подготовиться. Хорошие примеры тестовых заданий можно найти на свободных ресурсах для программистов — GitHub, Geeksforgeeks, BitBucket, GitLab. Там есть всё: разного уровня сложности и разной сферы применения.

На десерт — минусы и рутина

Давайте запомним: что для миддла рутина, то для джуна праздник (или кошмар). Список ниже — особенности профессии, с которыми столкнётся любой фронтенд. По нраву ли они Вам — оцените сами.

— Сфера развивается супер быстро

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

Сдал проект на новом фреймворке –> довольный ушёл в недельный отпуск –> вернулся, тебя заменили роботом Васей, сказали, он умеет жать руки заказчикам, делать ревью кода за пять минут и переносить макет из фигмы за три –> пришлось подраться с роботом и пересесть на должность джуниора.

— Однообразные задачи

Есть у всех, особенно в начале карьеры. Отрисовать кнопку, сдвинуть, согласовать, вернуть на место, сдвинуть, поменять цвет, убрать анимацию. И так на каждом сайте / в приложении / etc. 

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

— Общение с командой и клиентами

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

Нужно принимать решения по вёрстке и интерфейсу и защищать их перед всеми. Уметь уступать, где это требуется, и находить компромисс.

— Размытые обязанности

Проще говоря, Вас могут потащить в бэкенд-разработку. Это обратная сторона фронтенда — внутряк сайта, его функционал, сервер, базы данных. Здесь нужен другой стек технологий — язык программирования, как правило, PHP, Ruby, Python, C#, знание баз данных, протоколов передачи данных http и https и ещё куча всего. 

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

— Переработки

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

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

FAQ

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

Можно ли стать фронтендом с нуля? А если я домохозяйка или мне 50 лет?

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

Реально ли зарабатывать 300 тыс. в месяц, занимаясь фронтенд-разработкой?

Реально. Ваш потолок — это Ваши навыки и готовность их развивать. Потребуется несколько лет, чтобы выйти на доход в 200-300 тысяч/месяц. Учитесь, старайтесь заполучить место в топовых компании, где Вам смогут ежемесячно обеспечивать такой бюджет.

Фронтенд-разработчик и верстальщик — это одно и то же?

Нет. Верстальщик переносит дизайн-макет в код, используя HTML и CSS. Для фронтенд-разработчика это лишь самый минимальный навыков. Он тоже должен уметь аккуратно воплотить макет в жизнь, но на этом всё только начинается.

Можно без знания языков программирования?

В начале карьеры достаточно знать HTML, CSS и JavaScript — но далеко на этом не уехать. Для повышения навыков и зарплаты нужно изучать фреймворки, расширять арсенал языков программирования, выучить один из «серверных» языков — Python или PHP. Иначе останетесь на начальном уровне.

Если у меня нет портфолио — это очень плохо?

На стартовой должности это не критично, Вас всё равно могут взять. Но лучше сделать какой-нибудь личный проект на GitHub и презентовать его. Так Вы покажете свой стиль работы, умение обосновывать логику. Учебные проекты для портфолио тоже подойдут. 

Нужно ли вузовское образование?

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

Где работать лучше всего?

Везде. Буквально: спрос на фронтенд-разработчиков высок. Они одинаково нужны как для работы над приложением Сбербанка, так и для создания интернет-магазина верхней одежды. Выбирайте задачи по душе: пусть это будет IT-стартап, вёрстка лендингов для психологов, создание веб-приложения для службы доставки шаурмы и ещё куча всего.

Коротко о главном

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

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

Карьеру фронтенда можно поделить на три уровня: начинающий (junior), средний (middle) и ведущий (senior). “Звание” зависит от опыта и стека технологий, которым владеет специалист. Отсюда же вытекает заработок. Он достаточно высокий — в среднем от 45 000 руб. на начальном уровне до 200 000 на высоком.

Обучаться фронтенду можно самостоятельно с помощью книг, онлайн-учебников, бесплатных курсов и тренажёров. А можно выбрать платные курсы со структурированной подачей материала и наставниками.

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

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

Нашли ошибку в тексте? Выделите фрагмент и нажмите ctrl+enter

Автор Анна Софьянникова
0 Комментариев
Заберите подарок
Picture: Like
97 секретов для инстаграм:
подписчики, лайки, охват и оформление

Скачайте методичку и внедрите самые актуальные фишки для взрывного продвижения профиля

Получить
Подпишитесь на рассылку
Picture: Subscribe
Дайджест новых статей
+ неопубликованное от in-scale

Получайте каждую неделю полезные и рабочие материалы для улучшения Вашего бизнеса

Подписаться