phew
Джунам

Роадмап frontend-разработчика 2026: данные вакансий

· 15 мин чтения
ДЕ
Даниил Ефремов
frontend-разработчик, ведёт менторские группы

Короткий ответ: роадмап frontend-разработчика на 2026 год состоит из пяти пунктов. JavaScript, React, HTML/CSS, TypeScript, Git. Не потому что так принято в учебниках, а потому что именно это спрашивают в живых junior-вакансиях: JavaScript встречается в 31 вакансии из 33 (94%), React в 24 (73%), HTML/CSS в 21 (64%), TypeScript в 16 (48%), Git в 15 (45%). Docker, Angular, SQL, алгоритмы, которые в популярных роадмапах стоят рядом с React, попадаются в единицах вакансий.

Цифры не из головы. 1 августа 2026 я выгрузил через API hh.ru все вакансии профессиональной роли «Программист, разработчик» без опыта по России: параметры запроса professional_role=96, experience=noExperience, area=113. Получилось 363 вакансии. Из них по заголовку отобрал фронтенд, вышло 33, и прочитал текст каждой, выписывая, что требуют. Запрос повторяемый: с теми же параметрами вы получите свой срез на любой день.

И сразу неприятное, потому что без этого остальное читается неправильно. 33 junior-вакансии frontend на всю страну. Junior-вакансий по 1С в том же срезе 67, вдвое больше. Фронтенд остаётся самым разрекламированным входом в профессию, а стартовых позиций в нём меньше, чем в направлении, про которое почти не снимают рилсы. Роадмапы, составленные школами, эту часть картины не показывают никогда.

Сколько на самом деле junior-вакансий во фронтенде

Разложу воронку по шагам, чтобы было видно масштаб.

Всего вакансий «Программист, разработчик» по России на 1 августа 2026: 6038. С фильтром «без опыта»: 363, то есть 6%. Это не значит, что остальные 94% для новичка закрыты: часть вакансий с формальным «от 1 года» джунов вполне берёт, и откликаться туда нужно. Но в выдачу по фильтру «без опыта», с которой начинает почти каждый новичок, они не попадают, и рынок на первом же экране выглядит в разы меньше, чем он есть.

Внутри этих 363 по направлению из заголовка:

НаправлениеВакансий
Backend80
67
Frontend33
Мобильная разработка5
Автотесты4

Остальные 174 вакансии направление в названии не указывают: там просто «программист» или «разработчик».

На фронтенд приходится 33 вакансии из 363, это 9% junior-рынка разработки целиком. Если считать только те 189 вакансий, где направление читается из заголовка, доля выше: 17%. Ни та ни другая цифра не означает «профессия закрылась», но это и не тот объём, который представляют себе после рекламы курсов.

Практический вывод простой: на таком количестве вакансий стратегия «разошлю резюме везде, где написано frontend» физически упирается в потолок за пару вечеров. Придётся либо расширять географию и формат (удалёнка, регионы), либо смотреть на соседние направления, либо откликаться заметно точнее. Как строится поиск первой работы на таком рынке, разбирали отдельно в статье про первую работу в IT без опыта.

Ещё одно наблюдение из общего среза: по всем 363 junior-вакансиям разработчика самые частые требования это Git (27%), SQL и базы данных (27%), Python (23%), 1С (21%), JavaScript (20%). React в общем срезе всего 9%. То есть фронтенд-стек не доминирует на входе в профессию, он один из нескольких равных входов. Дальше в этой статье я остаюсь внутри фронтенда, а что происходит с рынком целиком, разобрано в статье про рынок труда IT в 2026.

Что реально требуют в junior-вакансиях frontend

Считалось упоминание технологии в тексте вакансии, в блоках требований и обязанностей. Сначала то, что встречается регулярно.

ТребованиеВакансий из 33Доля
JavaScript3194%
React2473%
HTML/CSS2164%
TypeScript1648%
Git1545%
Высшее или профильное образование1236%
REST API927%

Дальше идёт хвост, и здесь я намеренно не привожу проценты. На базе в 33 вакансии одна вакансия весит три процентных пункта, и «3%» звучит точнее, чем есть на самом деле. Считайте штуки.

ТребованиеВакансий из 33
Английский4
Vue4
Тесты (Jest / Vitest / Cypress)4
ООП3
Алгоритмы и структуры данных3
Linux3
SQL2
Docker1
Angular1

Отдельно посмотрел теги «ключевые навыки», которые работодатели проставляют руками (везде дальше база та же, 33 вакансии): JavaScript 25, HTML 19, React 18, TypeScript 18, CSS 18, Git 13, Node.js 11, Vue.js 11, Ajax 10. Дальше идут теги, которые ничего не говорят о стеке: «Прототипирование» 9, «Обучение» 9, «Веб-программирование» 9.

Живой Ajax в тегах 2026 года хорошо показывает, чего стоят справочники hh: это возраст словаря, а не требование рынка. Поэтому основной я считаю таблицу по тексту вакансий, а теги использую как проверку.

Про методику честно, чтобы вы понимали пределы этих цифр:

  • срез одного дня, 1 августа 2026, только hh.ru, вся Россия;
  • 33 вакансии это небольшая выборка, проценты дают порядок величины, а не точность до пункта. Но это все junior-frontend-вакансии, которые hh отдал на эту дату, а не случайный сэмпл;
  • отбор шёл по заголовку, поэтому вакансия без слова «frontend» или «фронтенд» в названии могла не попасть в выборку;
  • «упомянуто в тексте» не всегда равно «обязательно». Часть требований написана в разделе «будет плюсом».

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

Ядро роадмапа: пять пунктов, которые закрывают почти всё

Верхние пять строк таблицы это технологии, каждая из которых встречается минимум в 15 вакансиях из 33: JavaScript, React, HTML/CSS, TypeScript, Git. Ниже идут две строки другого сорта, требование диплома (12 вакансий) и REST API (9), а собственно хвост начинается с четырёх вакансий (английский, Vue, тесты) и быстро сходит к одной. Диплом навыком не является, а REST API я бы к ядру всё-таки добавил, о нём ниже.

Это и есть главное отличие роадмапа по вакансиям от роадмапа по учебнику. У школ пять ядерных технологий и двадцать хвостовых нарисованы кубиками одного размера. По данным они не одинаковые: разница между 31 вакансией из 33 и одной это разница между «без этого не позовут» и «встретилось однажды у одного работодателя».

Небольшая оговорка про HTML/CSS. Вёрстка упомянута в 21 вакансии из 33, реже, чем JavaScript, и читать это как «вёрстка нужна не всем» я бы не стал. Моя гипотеза, данными не подтверждённая: вёрстку часто не проговаривают, считая её самоочевидной для фронтендера. Проверить это по текстам вакансий нельзя, поэтому оставляю как гипотезу, а не как вывод.

REST API в 27% я бы тоже отнёс к обязательному минимуму, хотя формально это седьмая строка. Фронтенд без запросов к бэкенду не существует, и на собеседовании про fetch, промисы и обработку ошибок сети спросят почти наверняка.

Чего в роадмапах школ много, а в вакансиях почти нет

Пройдитесь по любой большой карте фронтенда и сравните с колонкой «вакансий из 33»:

  • Docker. Одна вакансия. В роадмапах он обычно занимает отдельную ветку с подпунктами.
  • Angular. Одна вакансия. Учить его как первый фреймворк в России 2026 года означает добровольно сузить себе рынок до одной позиции в выборке.
  • SQL. Две вакансии. Полезный навык на всю жизнь, но для входа во фронтенд он не решает ничего.
  • Алгоритмы и структуры данных. Три вакансии. LeetCode перед первым оффером во фронтенде это не то, на что стоит тратить месяцы. В крупных компаниях с алгоритмической секцией вы про неё узнаете заранее, из описания процесса.
  • ООП. Три вакансии. Знать, что такое прототипы и классы в JavaScript, нужно. Отдельный курс по ООП не нужен.
  • Linux. Три вакансии. Достаточно уметь не пугаться терминала.
  • Тесты. Четыре вакансии. Приятный, но необязательный бонус на входе.

Сложите время, которое эти блоки съедают в стандартной программе, и вы получите месяцы, вынутые из JavaScript и TypeScript. Ровно поэтому выпускники длинных курсов приходят на собеседование наслышанными о Docker и плывут на вопросе про замыкания.

Отдельно про Node.js. В строку таблицы требований он у меня не попал: в текстах вакансий на глаза не попадался. Зато в тегах стоит в 11 вакансиях из 33. Похоже, это места, где фронтендеру время от времени придётся заглядывать на бэкенд, чаще всего во внутренних продуктах. Как обязательный пункт роадмапа джуна я бы Node не ставил, как знакомство после трудоустройства он вполне уместен.

React или Vue новичку: ответ цифрой, а не мнением

React в 24 вакансиях из 33, Vue в 4. Шестикратная разница на одной и той же выборке.

Мнения о том, что Vue проще для старта, вполне обоснованны, но они не отменяют арифметику: выбрав Vue первым, вы вычёркиваете три четверти и без того небольшого рынка. Для первого фреймворка это дорогая цена за удобство синтаксиса.

Небольшая деталь в пользу Vue: в тегах «ключевые навыки» Vue.js стоит 11 раз против React 18. В тегах разрыв заметно меньше, чем в текстах вакансий. Скорее всего, часть работодателей помечает оба фреймворка «на всякий случай» или ищет человека, готового к любому из двух. Но даже с этой поправкой React впереди уверенно.

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

TypeScript больше не «продвинутый уровень»

16 вакансий из 33, почти половина. В тегах он идёт вровень с React и CSS (по 18).

Ещё пару лет назад TypeScript честно относили к следующему шагу после трудоустройства. Сейчас это половина входных вакансий: значит, для половины работодателей резюме джуна без TS уже неполное. Как отдельный пункт роадмапа он получается четвёртым по важности и точно опережает всё, что обычно ставят в блоке «продвинутое».

При этом объём знаний нужен небольшой: типы и интерфейсы, дженерики на уровне понимания, типизация пропсов и ответов API, умение не заваливать проект any. Это несколько недель поверх нормального JavaScript, а не отдельная профессия. Ключевое условие в слове «поверх»: TypeScript, выученный до того, как разобрались с прототипами, замыканиями и асинхронностью, превращается в набор заклинаний.

Две неприятные цифры: диплом и деньги

12 вакансий из 33 (36%) требуют высшее или профильное образование. По всем junior-вакансиям разработчика из того же среза таких 27%. Это не значит, что без диплома во фронтенд не берут: две трети вакансий об образовании не спрашивают вообще. Но треть рынка, который и так состоит из 33 позиций, для человека без вышки закрыта на входе, и лучше знать это заранее, чем удивляться отказам.

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

Медиана зарплаты junior-frontend: 40 000 ₽. Считал по 17 вакансиям из 33, где зарплата указана; остальные 16 не показывают её вовсе. Если стояла вилка, брал её середину; если одна граница, брал эту границу. Гросс и «на руки» в выборке смешаны, hh надёжно их не разделяет. Нижний квартиль тоже 40 000 ₽, то есть цифра 40 плотно повторяется от вакансии к вакансии. Верхняя четверть начинается с 70 000 ₽.

Для сравнения, по всем 219 junior-вакансиям разработчика с указанной зарплатой медиана 60 000 ₽, нижний квартиль около 46 000 ₽, верхний 85 000 ₽. Фронтенд на входе платит ощутимо меньше среднего по джунам в разработке.

Эта цифра ниже сводных зарплатных обзоров по фронтенду, и расхождение объяснимо. Я смотрю только hh.ru, только один день и только вакансии с фильтром «без опыта», где чаще пишут нижнюю границу; обзоры считают по более широкой базе, включая позиции «до года» и реальные офферы, а не объявления. Полные вилки по 17 профессиям разобраны в статье про зарплату джуна в 2026, а как ставить свою цифру в резюме и на переговорах, в статье про зарплатные ожидания.

Роадмап по этапам: не список технологий, а критерии готовности

Дерево технологий бесполезно тем, что по нему непонятно, когда пункт закрыт. Поэтому даю этапы с проверкой.

Этап 1. HTML/CSS и чистый JavaScript. Самый длинный и самый недооценённый.

Вы закрыли этап, когда: верстаете макет с адаптивом на флексах и гридах без подсказок; пишете на чистом JS интерактив, который запрашивает данные с публичного API, рисует список, фильтрует его и обрабатывает ошибку запроса; объясняете вслух, что такое замыкание, всплытие событий, промис и как ведёт себя this.

Этап 2. Git. Маленький этап: 15 вакансий из 33 и самое частое требование по всему junior-рынку разработки.

Вы закрыли этап, когда: работаете ветками, а не папками final_v2; умеете разрулить конфликт, откатить коммит, оформить pull request; ваша история коммитов читается как история, а не как «fix», «fix2», «asdf».

Этап 3. React.

Вы закрыли этап, когда: собрали SPA с роутингом, запросами к REST API, состоянием, формами с валидацией и состояниями загрузки и ошибки; можете объяснить, почему конкретный компонент перерисовался и как этого избежать.

Этап 4. TypeScript поверх своего проекта.

Вы закрыли этап, когда: перевели собственный React-проект на TS и в нём не осталось any «чтобы собралось»; типизируете пропсы, ответы API и собственный хук.

Этап 5. Хвост под конкретные вакансии. Тесты, Vue, английский, немного Node или Linux.

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

Сколько учиться на фронтенда с нуля

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

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

Что делать параллельно с этапами 3–5, а не после них: собирать проекты и профиль. Какие пет-проекты действительно засчитываются работодателем, разобрано в статье про пет-проекты в резюме джуна, а требования к профилю на GitHub, который будут открывать после резюме, в разборе GitHub для джуна.

64
Где у вас пробел до отклика

Вставьте резюме и текст junior-вакансии: phew покажет процент совпадения, какие требования не подтверждены и что доучить. На рынке из 33 позиций это дешевле, чем выяснять то же самое методом отказов.

Проверить

Когда ядро закрыто: как понять, что вы тянете конкретную вакансию

Роадмап заканчивается не сертификатом, а первым осмысленным откликом. И здесь появляется новая задача: понять, попадаете ли вы в требования конкретного объявления, или до него ещё две недели работы.

Способ без инструментов: выпишите из вакансии все технические требования в столбик и напротив каждого поставьте, где именно у вас это подтверждается (проект со ссылкой, задача из учебного проекта, ничего). Три «ничего» из десяти это нормально, джунов почти всегда берут с пробелами. Семь «ничего» означает, что отклик уйдёт в пустоту, зато вакансия подскажет, что доучить.

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

Коротко: что учить фронтендеру в 2026

  • Ядро: JavaScript (31 вакансия из 33), React (24), HTML/CSS (21), TypeScript (16), Git (15). Плюс REST API (9) как обязательный минимум на практике.
  • Длинный хвост из роадмапов школ по факту почти не спрашивают: Docker и Angular по одной вакансии, SQL две, алгоритмы, ООП и Linux по три, тесты четыре.
  • React против Vue: 24 вакансии против 4. Первый фреймворк выбирайте по этому соотношению.
  • TypeScript перешёл из «продвинутого» во входной минимум: почти половина junior-вакансий.
  • Junior-вакансий frontend на всю Россию 33 против 67 по 1С и 80 по бэкенду. Направление стоит выбирать с открытыми глазами.
  • Деньги на входе: медиана 40 000 ₽ против 60 000 ₽ по всем junior-вакансиям разработчика.
  • Диплом спрашивают в 12 вакансиях из 33, в остальных 21 не спрашивают.
  • Срок обучения задаётся не календарём, а критериями готовности по каждому этапу.

Частые вопросы

Порядок задаёт частота требований в вакансиях. Я выгрузил с hh.ru 33 junior-вакансии frontend на 1 августа 2026 и посчитал: JavaScript упомянут в 31 из них (94%), React в 24 (73%), HTML/CSS в 21 (64%), TypeScript в 16 (48%), Git в 15 (45%). Эти пять пунктов закрывают почти всё, что реально спрашивают на входе, и учить их лучше именно в таком порядке: React поверх слабого JavaScript разваливается на первом же техническом собеседовании. Всё остальное из популярных роадмапов встречается в единицах вакансий и подождёт.

Проверь, почему молчат именно по твоему резюме

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

Начать бесплатно
82
Сильное совпадение
откликайся смело

Читайте также