Роадмап frontend-разработчика 2026: данные вакансий
Короткий ответ: роадмап 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 по направлению из заголовка:
| Направление | Вакансий |
|---|---|
| Backend | 80 |
| 1С | 67 |
| Frontend | 33 |
| Мобильная разработка | 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 | Доля |
|---|---|---|
| JavaScript | 31 | 94% |
| React | 24 | 73% |
| HTML/CSS | 21 | 64% |
| TypeScript | 16 | 48% |
| Git | 15 | 45% |
| Высшее или профильное образование | 12 | 36% |
| REST API | 9 | 27% |
Дальше идёт хвост, и здесь я намеренно не привожу проценты. На базе в 33 вакансии одна вакансия весит три процентных пункта, и «3%» звучит точнее, чем есть на самом деле. Считайте штуки.
| Требование | Вакансий из 33 |
|---|---|
| Английский | 4 |
| Vue | 4 |
| Тесты (Jest / Vitest / Cypress) | 4 |
| ООП | 3 |
| Алгоритмы и структуры данных | 3 |
| Linux | 3 |
| SQL | 2 |
| Docker | 1 |
| Angular | 1 |
Отдельно посмотрел теги «ключевые навыки», которые работодатели проставляют руками (везде дальше база та же, 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 для джуна.
Вставьте резюме и текст 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 разваливается на первом же техническом собеседовании. Всё остальное из популярных роадмапов встречается в единицах вакансий и подождёт.
Вставь резюме и вакансию — получи скор, список пробелов и подсказку для сопроводительного.
Начать бесплатно