Код
#статьи

Зарплаты и скиллы фронтенд-разработчиков разных грейдов: исследование Skillbox Media

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

Кадр: фильм «Финансовый монстр»

Фронтенд — это не только про красить кнопки, HTML, CSS и JavaScript. Борьба с незаконной рубкой леса и поездки в тайгу тоже могут быть частью этой работы. Вот пример вакансии для экстремальных фронтендеров:

Пример вакансии с HeadHunter
Скриншот: сайт HeadHunter / Skillbox Media

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

А ещё ходят слухи, что во фронтенде девушек работает больше, чем в любом другом виде разработки. Сложно сказать, так ли это, — однако количество откликов женщин на вакансии во фронтенде действительно выше — 10–17% от общего количества откликов (для сравнения, в бэкенде их всего 3–10%).

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

Стажёры. 15–25 тысяч рублей

Если нет опыта, но есть 20 часов в неделю для начала работы, можно поискать для себя стажировку. К новичкам предъявляют минимальные требования:

Пример вакансии с HeadHunter
Скриншот: сайт HeadHunter / Skillbox Media

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

Пример вакансии с HeadHunter
Скриншот: сайт HeadHunter / Skillbox Media

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

Пример тестового задания для стажёров
Скриншот: сайт HeadHunter / Skillbox Media

Junior. 30–150 тысяч рублей

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

Вот что нужно знать соискателям.

Вёрстка: HTML5 и CSS3. Разработчик — это не верстальщик, но он должен разбираться в нюансах. Умение работать с гридами и флексбоксами, знание препроцессоров приветствуется, адаптивная вёрстка тоже.

Язык программирования: JavaScript ES5, ES6+. Твёрдое знание основ: структуры данных, замыкания, области видимости — и умение их применять.

TypeScript (необязательно, но желательно). Многие компании уходят от динамической типизации JavaScript. TypeScript помогает сразу заметить противоречия в коде, связанные с неверным использованием переменных определённого типа. Так легче разбираться с чужим кодом, а новые сотрудники проще проходят онбординг.

Исследование Stack Overflow говорит о том, что TypeScript нравится разработчикам больше, чем JavaScript
Скриншот: сайт Stack Overflow / Skillbox Media

Один из популярных фреймворков: Angular, Vue.js или React. Есть ещё Ember, Svelte, Backbone.js и другие, но нам в джуниорских вакансиях они ни разу не встретились. Статистика говорит, что React популярнее: его скачивают почти в пять раз чаще.

Количество скачиваний фреймворков — по данным npmtrends.com
Скриншот: сайт HeadHunter / Skillbox Media

Количество вакансий на HeadHunter со знанием React в требованиях тоже выше: React — 3297 вакансий, Angular — 1454 вакансии, Vue.js — 1072 вакансии.

Понимание REST API и протокола HTTP. На собеседовании стоит уточнить, нужно ли будет дописывать API. Есть компании, которые набирают фронтендеров с расчётом на то, чтобы вырастить из них фулстек-специалистов. С одной стороны, разбираться сразу в обоих направлениях сложно, с другой — новый опыт и знания сделают из вас ценного разработчика.

Умение пользоваться системой контроля версий GitHub/GitLab. Понятная документация в вашем портфолио на гитхабе и покрытие кода тестами повысит ваши шансы на собеседовании. А возможно, и сократит количество базовых вопросов по программированию.

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

  • сборка проекта в Webpack;
  • использование контейнеров в Docker;
  • методология БЭМ;
  • jQuery (хотя в последнее время есть тенденция уходить от jQuery, он пригодится, чтобы поддерживать уже написанный код).

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

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

  • спортивные тренировки, обучение, разговорный клуб или компенсация их стоимости;
  • снеки, кофе и чай;
  • ДМС;
  • кафетерий.

Есть компании, где особенно заботятся о здоровье сотрудников: например, обеспечивают 100 сортов чая, витамины, БАДы и компенсацию стоимости анализов:

Пример вакансии с HeadHunter
Скриншот: сайт HeadHunter / Skillbox Media

Обычно ответ от компании приходит в течение 2–3 дней (максимум недели) после вашего отклика, но иногда решения можно ждать больше месяца:

Пример вакансии с сайта «Хабр Карьера»
Скриншот: сайт HeadHunter / Skillbox Media

«Кодовая фраза». Чтобы отсечь автоматически отправленные отклики, в тексте вакансии пишут, что в сопроводительном письме нужно указать, например, кодовую фразу или ответ на конкретный вопрос. И тут нужно быть внимательными, чтобы не упустить работу, — или из принципа проходить мимо таких вакансий (и правда — что это они выдумали какую-то ерунду). В общем, опытных программистов от таких прихватов в вакансиях потряхивает.

Пример вакансии с HeadHunter
Скриншот: сайт HeadHunter / Skillbox Media

Middle. 90–340 тысяч рублей

Чтобы стать мидлом, нужен опыт от года. Чем больше опыт, тем выше зарплата.

Оплачиваемые тестовые задания — редкость, но они встречаются. Кстати, регламент и чек-листы (первый и второй) из вакансии ниже пригодятся начинающим фронтендерам. Вакансии «с опережением» навыков помогают понять, что ещё нужно изучить, чтобы двигаться вперёд.

Пример вакансии с HeadHunter
Скриншот: сайт HeadHunter / Skillbox Media

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

Пример вакансии с HeadHunter
Скриншот: сайт HeadHunter / Skillbox Media

Senior. 150–400 тысяч рублей

Опытные разработчики участвуют в код-ревью и обсуждении структуры приложения, поэтому в вакансиях для них среди софт-скиллов часто упоминают:

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

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

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

Пример вакансии с HeadHunter
Скриншот: сайт HeadHunter / Skillbox Media

Тимлид. 400–450 тысяч рублей

Тимлид должен уметь:

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

Претендовать на эту позицию реально после 3—6 лет в разработке. Пример требований к хард-скиллам:

Пример вакансии с HeadHunter
Скриншот: сайт HeadHunter / Skillbox Media

Что нужно знать, чтобы пройти собеседование на Junior-разработчика во фронтенде

React

Что нужно знать. Разницу между элементом и компонентом, какие бывают компоненты, в чём разница между классовыми и функциональными компонентами и когда какой тип нужно использовать. Любят спрашивать про ключи в списках: как их назначать, зачем нужны. Как происходит обработка событий в React, что такое пропсы, какой второй параметр есть у setState. Могут предложить небольшой кусок кода и попросить найти ошибку или попросить переписать код с JavaScript на JSX.

Сколько получают. Junior: 30–150 тысяч рублей. Middle: 90–340 тысяч рублей. Senior: 150–400 тысяч рублей.

Angular

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

Сколько получают. Junior: 30–120 тысяч рублей. Middle: 100–250 тысяч рублей. Senior: 300–400 тысяч рублей.

Vue.js

Что нужно знать. Что такое экземпляр и реквизит. Какие существуют хуки жизненного цикла компонента. В чём разница между v-if и v-show. Что такое вычисляемые свойства и когда их нужно использовать. Как сделать маршрутизацию на стороне клиента и программную переадресацию в Vue Router.

Сколько получают. Junior: 20–120 тысяч рублей. Middle: 100–230 тысяч рублей. Senior: 120–300 тысяч рублей.

Заключение

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


Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Освойте топовые нейросети за три дня. Бесплатно
Знакомимся с ChatGPT-4, DALLE-3, Midjourney, Stable Diffusion, Gen-2 и нейросетями для создания музыки. Практика в реальном времени. Подробности — по клику.
Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована