Зарплаты и скиллы фронтенд-разработчиков разных грейдов: исследование Skillbox Media
Рассказываем об уровне зарплат во фронтенде, а также о том, как выглядит реальное тестовое задание для стажировки и кому положены витамины.
Кадр: фильм «Финансовый монстр»
Фронтенд — это не только про красить кнопки, HTML, CSS и JavaScript. Борьба с незаконной рубкой леса и поездки в тайгу тоже могут быть частью этой работы. Вот пример вакансии для экстремальных фронтендеров:
Существует стереотип, что фронтенд — это просто. Но как сказали на одном из форумов, «фронтенд заматерел» и требует серьёзного подхода. Сегодня обычная вёрстка или создание сайта с помощью конструктора за пару кликов не имеет ничего общего с фронтенд-разработкой. Настоящий фронтендер должен учесть все нюансы — от адаптивной вёрстки и кросс-браузерности до предпочтений пользователя и производительности сайта.
А ещё ходят слухи, что во фронтенде девушек работает больше, чем в любом другом виде разработки. Сложно сказать, так ли это, — однако количество откликов женщин на вакансии во фронтенде действительно выше — 10–17% от общего количества откликов (для сравнения, в бэкенде их всего 3–10%).
Мы просмотрели несколько сотен вакансий во фронтенд-разработке и выяснили, сколько в среднем зарабатывают фронтендеры, а также каких знаний и скиллов ожидают от них работодатели.
Стажёры. 15–25 тысяч рублей
Если нет опыта, но есть 20 часов в неделю для начала работы, можно поискать для себя стажировку. К новичкам предъявляют минимальные требования:
Стажировка предполагает обучение по определённому плану, выполнение заданий и код-ревью от наставника. Если компания готова обучать практически с нуля, требования могут быть жёстче, чем обычно: невыполнение задания равно окончанию стажировки.
Чтобы попасть на стажировку, нужно выполнить тестовое задание. Вот пример такого — про котиков:
Junior. 30–150 тысяч рублей
Тут уже нередко нужен опыт коммерческой разработки от полугода и реализованные проекты — ссылку на гитхаб нужно добавить в резюме. Если повезёт, можно найти вакансию без требований к опыту работы и обойтись без стажировки.
Вот что нужно знать соискателям.
Вёрстка: HTML5 и CSS3. Разработчик — это не верстальщик, но он должен разбираться в нюансах. Умение работать с гридами и флексбоксами, знание препроцессоров приветствуется, адаптивная вёрстка тоже.
Язык программирования: JavaScript ES5, ES6+. Твёрдое знание основ: структуры данных, замыкания, области видимости — и умение их применять.
TypeScript (необязательно, но желательно). Многие компании уходят от динамической типизации JavaScript. TypeScript помогает сразу заметить противоречия в коде, связанные с неверным использованием переменных определённого типа. Так легче разбираться с чужим кодом, а новые сотрудники проще проходят онбординг.
Один из популярных фреймворков: Angular, Vue.js или React. Есть ещё Ember, Svelte, Backbone.js и другие, но нам в джуниорских вакансиях они ни разу не встретились. Статистика говорит, что React популярнее: его скачивают почти в пять раз чаще.
Количество вакансий на HeadHunter со знанием React в требованиях тоже выше: React — 3297 вакансий, Angular — 1454 вакансии, Vue.js — 1072 вакансии.
Понимание REST API и протокола HTTP. На собеседовании стоит уточнить, нужно ли будет дописывать API. Есть компании, которые набирают фронтендеров с расчётом на то, чтобы вырастить из них фулстек-специалистов. С одной стороны, разбираться сразу в обоих направлениях сложно, с другой — новый опыт и знания сделают из вас ценного разработчика.
Умение пользоваться системой контроля версий GitHub/GitLab. Понятная документация в вашем портфолио на гитхабе и покрытие кода тестами повысит ваши шансы на собеседовании. А возможно, и сократит количество базовых вопросов по программированию.
Дополнительные требования. Необязательны для джуна, но во многих вакансиях указаны как желательные:
- сборка проекта в Webpack;
- использование контейнеров в Docker;
- методология БЭМ;
- jQuery (хотя в последнее время есть тенденция уходить от jQuery, он пригодится, чтобы поддерживать уже написанный код).
Софт-скиллы. Чаще других требуется умение работать в команде, стремление сделать идеальный продукт и критическое мышление.
Бонусы джуниор-разработчикам предлагают стандартные:
- спортивные тренировки, обучение, разговорный клуб или компенсация их стоимости;
- снеки, кофе и чай;
- ДМС;
- кафетерий.
Есть компании, где особенно заботятся о здоровье сотрудников: например, обеспечивают 100 сортов чая, витамины, БАДы и компенсацию стоимости анализов:
Обычно ответ от компании приходит в течение 2–3 дней (максимум недели) после вашего отклика, но иногда решения можно ждать больше месяца:
«Кодовая фраза». Чтобы отсечь автоматически отправленные отклики, в тексте вакансии пишут, что в сопроводительном письме нужно указать, например, кодовую фразу или ответ на конкретный вопрос. И тут нужно быть внимательными, чтобы не упустить работу, — или из принципа проходить мимо таких вакансий (и правда — что это они выдумали какую-то ерунду). В общем, опытных программистов от таких прихватов в вакансиях потряхивает.
Middle. 90–340 тысяч рублей
Чтобы стать мидлом, нужен опыт от года. Чем больше опыт, тем выше зарплата.
Оплачиваемые тестовые задания — редкость, но они встречаются. Кстати, регламент и чек-листы (первый и второй) из вакансии ниже пригодятся начинающим фронтендерам. Вакансии «с опережением» навыков помогают понять, что ещё нужно изучить, чтобы двигаться вперёд.
Мидл-разработчики должны знать библиотеки компонентов, уметь анализировать производительность несложных сайтов и использовать технологии, оптимизирующие её. Иногда приходится работать с legacy-кодом.
Senior. 150–400 тысяч рублей
Опытные разработчики участвуют в код-ревью и обсуждении структуры приложения, поэтому в вакансиях для них среди софт-скиллов часто упоминают:
- умение внятно выражать мысли — устно и письменно;
- уверенный тайм-менеджмент — особенно для оценки и отслеживания сроков выполнения задач;
- креативность, гибкость мышления, аналитический склад ума.
Компании заинтересованы в максимальной эффективности сотрудников, поэтому в дополнение к современному ноутбуку и удобному креслу организуют консультации психолога.
К хард-скиллам добавляется умение оптимизировать производительность сложных высоконагруженных сервисов и обеспечивать их надёжность.
Тимлид. 400–450 тысяч рублей
Тимлид должен уметь:
- выстраивать архитектуру приложения с нуля;
- организовывать тестирование, документирование, запуск и поддержку продукта;
- внедрять новые технологии и организовывать обучение сотрудников;
- поддерживать комфортный климат в команде;
- планировать спринты, назначать ответственных и контролировать их работу;
- доносить технические идеи до «нетехнической» аудитории простым языком.
Претендовать на эту позицию реально после 3—6 лет в разработке. Пример требований к хард-скиллам:
Что нужно знать, чтобы пройти собеседование на 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 тысяч рублей.
Заключение
Работать в аутсорсинговой компании и переключаться от одной задачи к другой или найти проект по душе: разрабатывать словарь, создавать туристический портал или интерфейс для работы с буровыми станками — решать вам. Возможностей для развития и нескучной работы во фронтенде сегодня достаточно. И ехать в тайгу для этого необязательно.