Фронтенд-разработчик
Всё, что человек видит и трогает в браузере. Путь от первой страницы до работы в команде: язык, инструменты, каркасы и то, что отличает готовый продукт от учебной работы. Пунктиром — темы, которые можно отложить без вреда.
Как работает браузер 3 дня
Запрос, ответ, разбор HTML, построение дерева страницы, отрисовка. Понимание этой последовательности объясняет половину будущих вопросов: почему страница мигает, почему скрипт в шапке всё тормозит, почему шрифт приезжает позже текста.
Что уметь в конце
- Прочитать вкладку «Сеть» в панели разработчика
- Объяснить разницу между загрузкой, отрисовкой и готовностью страницы
HTML и осмысленная разметка 2 недели
Не просто теги, а выбор правильного тега для смысла: кнопка кнопкой, ссылка ссылкой, заголовки по уровням. Поисковики, читалки для незрячих и клавиатурная навигация держатся именно на этом.
Что уметь в конце
- Разметить сложную страницу без единого лишнего блока
- Собрать форму, которая работает с клавиатуры и понятна читалке
Где учить
CSS и раскладка 1 месяц
Каскад, наследование, специфичность — три слова, из-за незнания которых пишут «!important». Дальше flexbox и grid: ими собирается почти любой макет, включая тот, что вы сейчас читаете.
Что уметь в конце
- Повторить чужой макет без подглядывания в его код
- Объяснить, почему правило не применилось
Где учить
Адаптивность и разные браузеры 1 неделя
Один макет должен жить на телефоне, планшете и большом мониторе. Плюс проверка, что новая возможность CSS поддерживается не только в вашем браузере.
Что уметь в конце
- Сверстать раскладку, которая не ломается между 320 и 2560 точками
- Проверить поддержку возможности до того, как она попала в проект
Где учить
Доступность 1 неделя
Сайтом пользуются с клавиатуры, с экранным диктором, при слабом зрении и на солнце. Контраст, видимый фокус, подписи к полям, правильные роли — это не благотворительность, а требование крупных заказчиков.
Что уметь в конце
- Пройти весь сайт клавиатурой и ни разу не потерять фокус
- Собрать раскрывающееся меню по готовому образцу доступного компонента
Где учить
JavaScript — основы 2 месяца
Типы, функции, объекты и массивы, области видимости, ошибки. Самый длинный узел карты и самый важный: каркасы меняются каждые три года, язык остаётся.
Что уметь в конце
- Решать задачи без подсказок готовых библиотек
- Читать чужой код и понимать, что он делает
Где учить
- Современный учебник JavaScript (на русском)
Страница и события 2 недели
Поиск элементов, изменение содержимого, нажатия, ввод, прокрутка. Здесь же всплытие событий — механизм, который экономит сотни обработчиков.
Что уметь в конце
- Написать модальное окно, вкладки и слайдер без библиотек
- Повесить один обработчик на список вместо тридцати на пункты
Асинхронность и запросы 2 недели
Промисы, async/await, запросы к серверу, обработка ошибок и состояний загрузки. Настоящий интерфейс всегда чего-то ждёт — и должен об этом говорить.
Что уметь в конце
- Получить данные с сервера и показать три состояния: ждём, есть, ошибка
- Отменить ненужный запрос, когда человек ушёл со страницы
TypeScript 3 недели
JavaScript с проверкой типов. В вакансиях встречается чаще, чем чистый JavaScript: на большом проекте он ловит ошибки до запуска.
Что уметь в конце
- Описать типы данных проекта и поймать ошибку в редакторе
- Не прятать проблемы за типом «any»
Где учить
Git и работа в команде 1 неделя
Ветки, слияния, конфликты, обсуждение правок. Без этого в команду не берут, даже если код хороший.
Что уметь в конце
- Вести работу в отдельной ветке и предлагать её к слиянию
- Разрешить конфликт и не потерять чужую работу
Где учить
Терминал и пакеты 1 неделя
Командная строка, установка библиотек, файл зависимостей и блокировка версий. Здесь же понимание, почему «обновил одну библиотеку — сломалось всё».
Что уметь в конце
- Поставить проект с нуля по чужому репозиторию и запустить его
- Понимать разницу между зависимостями для работы и для разработки
Сборка проекта 3 дня
Сборщик превращает десятки исходных файлов в несколько готовых: собирает, сжимает, расставляет версии. Сегодня достаточно Vite — он настраивается за вечер.
Что уметь в конце
- Собрать проект в готовый к публикации вид
- Понимать, что попало в сборку и сколько оно весит
Где учить
Линтеры и единый стиль 2 дня
Инструменты, которые ругаются на опасный код и сами расставляют пробелы. В команде снимают половину споров на обсуждении правок.
Отладка в браузере 3 дня
Точки останова, просмотр значений, вкладка сети, профиль отрисовки. Умение отлаживать отличает того, кто чинит, от того, кто переписывает наугад.
Что уметь в конце
- Остановить выполнение на нужной строке и посмотреть значения
- Найти, какой стиль перебивает ваш
React 2 месяца
Самый востребованный каркас: интерфейс собирается из компонентов, данные текут сверху вниз. Берите его первым — по нему больше всего работы и материалов.
Что уметь в конце
- Разложить страницу на компоненты и связать их данными
- Понимать, почему компонент перерисовался лишний раз
Где учить
Состояние приложения 2 недели
Где хранить данные, которые нужны всем экранам: корзина, профиль, настройки. Начинать стоит со встроенных средств каркаса, а внешнее хранилище подключать, когда стало тесно.
Работа с данными и кеш 1 неделя
Запросы, повторные попытки, кеширование, обновление в фоне. Готовые библиотеки делают это лучше самописного кода — важно понимать, что именно они берут на себя.
Маршруты и отрисовка на сервере 2 недели
Адреса страниц внутри приложения и подготовка готового HTML на сервере. Для сайтов, которые должны находиться в поиске, это обязательный шаг.
Что уметь в конце
- Объяснить, чем отрисовка на сервере отличается от отрисовки в браузере
- Понимать, когда она нужна, а когда только усложняет
Vue или Angular необязательно
Второй каркас имеет смысл, когда первый освоен и вакансия требует именно его. Переход занимает недели, а не месяцы: идеи те же.
Тесты 2 недели
Проверки, которые запускаются сами и ловят поломку до того, как её увидит клиент. Начинать с проверки отдельных функций, потом добавлять сценарии «человек нажал и получил».
Что уметь в конце
- Покрыть тестами кусок логики и увидеть падение при поломке
- Написать один сквозной сценарий: вход, действие, результат
Скорость 1 неделя
Три показателя, которые измеряет Google, и понятные способы их улучшить: вес картинок, порядок загрузки, лишние библиотеки, шрифты. Медленный сайт теряет посетителей и позиции в поиске.
Что уметь в конце
- Снять замер и назвать три главные причины медленной загрузки
- Уменьшить вес страницы вдвое без потери вида
Где учить
Безопасность на стороне браузера 3 дня
Чужой скрипт на вашей странице, подделанные запросы, утечка токенов в чужие руки. Фронтендер обязан знать хотя бы эти три беды и меры против них.
Где учить
Автоматическая сборка и выкладка 1 неделя
Правка попала в основную ветку — тесты прогнались, сборка собралась, сайт обновился сам. Настраивается один раз и экономит время каждый день.
Где учить
Портфолио и первые заказы постоянно
Три доведённых до конца работы убеждают лучше десяти начатых. Выкладывайте код открыто, пишите, какую задачу решали и почему выбрали такое решение.
Что уметь в конце
- Показать три работы со ссылкой на код и живую страницу
- Рассказать про каждую за две минуты без «ну, я просто сверстал»
Сверка с зарубежной картой необязательно
Наша карта короче намеренно: в ней только то, что действительно спрашивают на работе. Если хотите увидеть полную картину профессии со всеми ответвлениями — посмотрите англоязычную карту roadmap.sh.
Куда смотреть
- roadmap.sh — Frontend (на английском)