Зарплата frontend-разработчика в 2026 году почти никогда не следует из слова «React». Её двигают грейд, домен, глубина стека, английский, пояс и то, на какой рынок вы работаете: локальный трудовой, удалёнка на зарубежную команду или релокация. Одна «средняя по странам» смешивает верстальщика лендингов и человека, который держит дизайн-систему и производительность кабинета.
Точных медиан по государствам здесь нет — они устаревают и не переносят ваш договор. Ниже: что поднимает и режет вилку, как за неделю собрать личный диапазон по живым объявлениям и как не назвать на скрининге чужой пояс. Слоты берите в frontend-вакансиях с фильтрами грейда и гео, не из годового PDF.
Коротко:
- TypeScript, дизайн-система, производительность и доступность ценятся выше «просто вёрстки».
- Скачок junior→middle→senior кратный относительно выслуги; платят за самостоятельность и зону вреда в интерфейсе.
- Локальный рынок, удалённый B2B и слот в США/Европе — разные вилки при одном стеке.
- Финтех, сложные кабинеты и highload-клиент дают премию; лендинг и баннеры — другой пояс.
- Личную вилку считайте по 15–20 актуальным объявлениям одного сегмента; на переговорах — диапазон с net/gross.
Какой frontend покупают на самом деле
Объявления под одним тегом прячут разную работу. Пока не разделите слоты, таблица зарплат будет врать.
- Сборка интерфейса по макету. Вёрстка, формы, адаптив. Вред ошибки локальный. Вилка ближе к входному поясу, даже если в шапке React.
- Продуктовый кабинет. Состояния, сложные таблицы, права, договорённости с дизайном и backend. Вред — сценарий пользователя и срок релиза.
- Платформа UI. Дизайн-система, библиотека, производительность, a11y, несколько команд на ваших компонентах. Вред — чужой throughput.
Грейд накладывается отдельно. Junior под ревью каждой строки и senior, который останавливает «ещё одну библиотеку ради анимации» — не линейная надбавка. Как устроен скачок: зарплаты по грейдам.
Что двигает вилку
- Стек как глубина, не как список. React/Vue/Svelte сами по себе слабый якорь. TypeScript, тесты интерфейса, понимание сети и рендера — уже фильтр более дорогого пояса.
- Дизайн-система и consistency. Если вы делаете так, что другие не плодят третью кнопку — это платформенная работа.
- Производительность, доступность, интернационализация. В продуктах с деньгами и регулированием за это платят. В лендинге — редко.
- Домен. Кабинет торговли, страховой, внутренний админ на 20 экранов с ролями. Баннеры и промо — соседний рынок.
- Английский и пояс. Синхрон с дизайном и продуктом в CET/US. Без языка зарубежный пояс закрыт независимо от портфолио.
- Формат договора. Трудовой gross, B2B на руки, контракт. Смешение в одной цифре — самая частая ошибка на звонке.
В 2026 году генераторы вёрстки сжимают самый нижний пояс «натянуть макет». Премия смещается туда, где нужна ответственность за состояние продукта, а не скорость пикселя. Это не повод паниковать junior — повод не продавать себя только как скорость Figma→HTML.
Для middle это значит: в переговорах якорь — сценарии, ошибки, доступ, производительность на реальных данных, а не «умею хуки». Для senior — отказ от лишней сложности, договорённости с дизайном и соседними командами, библиотека, которой пользуются без вас в отпуске. Если вы senior по стажу и junior по зоне вреда, рынок это слышит на тестовом быстрее, чем в цифре.
Страны и рынки: качественно, без средней по больнице
- Удалёнка на зарубеж из СНГ. Обычно выше локального трудового при том же грейде, если тянете пояс и язык. Смотрите удалённые вакансии + frontend, не все удалёнки подряд.
- Европа. Разброс между странами большой: налоги, продуктовые vs аутсорс-команды, ожидание по a11y. Живая картина — вакансии в Европе, не «зарплата frontend в ЕС».
- США. Верхние вилки, жёстче интервью, часто сильнее упор в продукт и system design на клиенте. Каталог: работа в США. Не переносите тамошний оклад на свой B2B без их воронки.
Внутри одной страны не усредняйте агентство на лендингах и продуктовую команду с кабинетом. Гео — только одна ось. Вторая — тип работы из первого раздела.
Третья ось, про которую забывают: кто платит. Продукт со своим P&L, аутсорс на чужой бренд, агентство с фиксированными пакетами. Аутсорс часто обещает «западные вилки» и даёт локальный пояс плюс английский. Это не плохо и не хорошо — это другая строка таблицы. Если вы сравниваете себя с продуктовым кабинетом в ЕС, а ходите на агентство в вашем городе, обида заранее встроена.
Четвёртая: пересечение пояса. «Удалёнка, 4 часа с CET» — это ограничение жизни, его надо заложить в нижнюю, если из-за него вы теряете вечера или берёте няню. Вилка без учёта пояса врёт так же, как вилка без налога.
Как собрать личную вилку
- Сегмент: грейд, стек, тип работы (макет / кабинет / платформа), формат, пояс, который выдержите.
- 15–20 актуальных слотов в каталоге frontend с фильтрами грейда и гео.
- Таблица: вилка, TypeScript, дизайн-система, тесты, домен, онкол если вдруг есть, валюта, gross/net.
- Медиана внутри сегмента. Выброс «React native + web + дизайн сам» пометьте как другую роль, не усредняйте.
- Нижняя — отказ. Верхняя — слот платформы или тяжёлого кабинета, если факты есть.
Объявления без задач («дружная команда, современные технологии») не якорь. Читать тон и обязательное vs желательное: как читать описание вакансии.
Когда вилка в шапке широкая, не берите середину как «свою». Спросите, чем отличаются концы: грейд, онкол (редко, но бывает на фронте в админках с релизами ночью), владение дизайн-системой, единственный фронт. Середина без объёма — способ согласиться на чужой якорь. Тот же принцип, что на скрининге вообще: вилка, не одна цифра.
Вакансии «frontend + немного backend + ещё дизайн» кладите в отдельную кучу. Это не middle frontend. Это три урезанных роли. Медиана «чистого» кабинета их не описывает, и оффер оттуда нельзя сравнивать с таблицей, которую вы собрали по React-кабинетам.
Скрипт: что взять из объявления в таблицу
Вакансия: middle frontend, React, TypeScript, «дизайн-система как плюс», удалёнка, вилка в долларах, продукт — кабинет. В сегмент middle React/TS кабинета беру. Верх вилки не ставлю, пока дизайн-система в тексте как плюс, а не владение. Спрошу, сколько фронтов на кабинет и кто ставит приоритет против дизайна.
Не беру в ту же строку соседнюю вакансию «HTML/CSS, лендинги, офис, локальная валюта» — даже если обе названы frontend.