Месяц
Программа
JavaScript
Изучение учебника learn.javascript.ru
Изучение учебника Eloquent JavaScript
Git
Вёрстка
Участие в проектах
в качестве
стажера-кодера
Сбор первого портфолио и написание резюме
Пробные походы
по собеседованиям
Изучение React. Сборка проекта
Первая работа
для junior frontend программиста
Подключение
к проектам на вёрстку

Frontend Roadmap (дорожная карта) для самостоятельного изучения

Как научиться программировать? Программа для обучения фронтенд-разработке за 15–24 месяца от SaintCode Bootcamp

Базовые концепции: переменные, операторы, циклы, массивы, методы, объекты, функции, область видимости, замыкания.

Знаешь, как работать с DOM-деревом: навигация по селекторам и элементам, взаимодействие с input, браузерные события (всплытие и погружение), отрисовка элементов, управление стилями через JS.

Понимаешь асинхронность кода. Знаешь, как для чего нужны и как пользоваться fetch, promise, async/await. Умеешь работать с форматом json.

Ты понимаешь, как проходит регистрация и авторизация на клиенте и на сервере. Ты создал простой блог или другой сервис (например, таск-трекер), где пользователь может регистрироваться и авторизоваться.
Eloquent JavaScript (Выразительный JavaScript) - Марейн Хавербек
Ты сверстал на основе psd или Figma макета 10 страниц разной сложности. Использовал технологии CSS flexbox и grid — знаешь, в каких проектах лучше применять флексы, а в каких гриды. Понимаешь, что такое сетка в вёрстке веб-страниц.

Знаешь, что такое каскадность и понимаешь правила вложенности. Умеешь пользоваться валидатором HTML и интерпретировать его результаты.

Понимаешь семантическую вёрстку и знаешь, как сделать сайт доступным для скринридеров.

Сайт работает корректно на разных разрешениях и устройствах (desktop, tablet, mobile). Умеешь работать с медиа-запросами и способен сделать адаптивы даже под те разрешения, для которых нет отдельного макета от дизайнера.

Разобрался со шрифтами и типографикойhttp://webtypography.net. Знаешь, какие шрифты чаще всего используются и под какие задачи.
Знаешь, как сохранять данные пользователя в local storage и cookie. Например, умеешь сохранять токен для авторизации пользователя в локальном хранилище и в куках.

Умеешь принимать данные с сервера, отрисовывать их на своём сайте, делать по ним поиск и фильтрацию. Умеешь делать пагинацию — например, с сервера приходит 100 картинок. Ты отрисовываешь их отдельными страницами по 20 штук, а пользователь может нажать на кнопки 1, 2, 3, 4 и 5, чтобы переключаться между ними.

Знаешь как работают HTTP и HTTPS протоколы, в чём отличия. Понимаешь и можешь объяснить, что происходит, когда пользователь заходит на сайт или ищет что-то в браузере.
Понимаешь, как писать осмысленные комментарии к коду, чтобы можно было вернуться позже, либо другие разработчики понимали для чего написан этот блок.

Знаешь, зачем использовать систему контроля версий. Сделал пару проектов с помощью GIT, желательно в команде.

Понимаешь, как инициализировать репозиторий. Умеешь сливать ветки и восстанавливать предыдущие версии, чтобы исправить ошибки.
Понимаешь принцип SPA (Single Page Application). Компоненты, пропсы, React без JSX, рендер списков, условный рендер, синтетические события в React, виртуальный DOM, структура проекта.

Знаешь основные архитектурные подходы: MVC (Model-View-Controller) и Feature-Sliced Design («слоёный»).

Использовал в коде хуки и писал свои кастомные. Понимаешь и умеешь применять useState, useEffect, useContext, useRef, useMemo.

Пишешь грамотный код с переиспользуемыми компонентами, который можно легко масштабировать.
Если нужны заказы на фрилансе, то можно сделать себя заказчиком и исполнителем под разными именами и так ты получишь первые отзывы.
Если не совсем понял какую-то тему, попробуй объяснить её своему знакомому или другу, постарайся рассказать своими словами.
Если с чем-то запутался, используй «метод утёнка». Суть заключается в том, что задав правильно сформулированный вопрос, ты скорее всего сам получишь на него ответ.
Организуй пространство для обучения. Создай удобную структуру заметок в браузере, пользуйся плагинами. Заведи «базу знаний», вести можно в Notion, записывай конспекты, сохраняй ссылки, выстраивай между темами связи и обобщай их тегами. Почитай про методологию zettelkasten.
Не засиживайся и старайся находить время на разминку. Разнообразь свою деятельность. Учеба и работа — хорошо. Но не забывай про себя: прогулки, встречи, общение, спорт.
Не можешь справиться с задачей и находишься в тупике? Переключись на более простую и возможно во время ее реализации придет идея, как решить сложную задачу.
Развивай soft skills: коммуникабельность, организованность, креативность, настойчивость, любознательность и находчивость, желание помочь другим.
Подпишись на паблики и группы в соцсетях на айтишную тематику. Читай Хабр и заходи на StackOverflow, общайся в тематических чатах в телеграм.
Записывай ручкой на бумаге. Веди конспект и перечитывай его или пиши непонятные определения на стикерах и расклеивай по дому, чтобы они были перед глазами.
Когда изучаешь новую технологию, можно поискать шпаргалку (cheatsheet). Удобные шпаргалки есть по Grid и Emmet.

Лайфхаки: как стать айтишником и не выгореть на полпути

React Cookbook: Recipes for Mastering the React Framework - David Griffiths, Dawn Griffiths (2021)
JavaScript Cookbook: Programming the Web - Adam D. Scott, Matthew MacDonald, Shelley Powers (2021)
React Book - альтернативная документация для React
Бета-версия новой документации React - самая востребованная библиотека веб-разработки
Doka.Guide - справочник для веб-разработчика, написанный понятным языком
Eloquent JavaScript (Выразительный JavaScript) - Марейн Хавербек
You Dont Know JS
(Вы не знаете JS) - Кайл Симпсон
Learning React - Alex Banks, Eve Porcello (2020)

Список литературы для изучения фронтенда по дорожной карте

learn.javascript.ru - Илья Кантор
* Лучше читать оригинал. Если тяжело, то у многих книг есть переводы.

Как научиться программировать с нуля за 3 месяца

Программа обучения фронтенд-разработке в SaintCode Bootcamp — 12 недель в школе и 8 недель на поиски работы (в среднем)
Неделя
Программа
JavaScript
Изучение учебника learn.javascript.ru
Изучение учебника Eloquent JavaScript
Git
Вёрстка
Участие в проектах
в качестве
стажера-кодера
Сбор первого портфолио и написание резюме
Пробные походы
по собеседованиям
Изучение React. Сборка проекта
Первая работа
для junior frontend программиста
Подключение
к проектам на вёрстку
Если не хочешь растягивать обучение на годы и повторять ошибки новичков, приходи в буткемп, чтобы погрузиться во фронтенд-разработку на три месяца. У нас ты:

— Быстро получаешь ответы на вопросы и обратную связь о своём коде от преподавателя.

— Сохраняешь мотивацию, потому что вокруг тебя люди, увлечённые программированием.

— Собираешь портфолио на Github, учишься выполнять тестовые задания и проходить собеседования.

Результат — первая работа не через 15–24 месяца, как при самостоятельном изучении, а через 5–6 (3 месяца ты учишься и ещё 2–3 месяца ищешь работу).

Мы не обещаем тебе лёгкую прогулку в разработчики, но даём всё необходимое для начала карьеры. За три года работы мы обучили более ста человек — и примерно 75% успешно устроились в айти.

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

Ну что, го в айти? Мы создали)