Что и когда учить — порядок изучения

Не пытаться учить всё сразу. Курс по асинхронности нельзя сжать в 2 месяца — реально нужен год. Маркетологи говорят «никто не купит курс год», люди говорят «дай результат за 2 месяца». Истина — посередине.

Суть

В IT-обучении конфликт ожиданий и реальности. Большие темы (async, паттерны, архитектура) требуют времени для зрелого освоения. Можно проходить в разнобой, выбирая модули по интересу, но базу всё равно нужно покрыть.

Три уровня курса (на примере async)

  • Вводный — скриптеры, базовые примитивы (10 лекций по 20 минут)
  • Сеньорный — глубокие абстракции, паттерны (Reactor, Proactor, Actor)
  • Системный — авторы абстракций, написание своих библиотек

Принципы построения программы обучения

  • Self-assessment в начале — анкета, сколько уже знаешь
  • Кастомизация маршрута — не все темы для всех
  • Модули в разнобой — нет жёсткой последовательности
  • Терминологию услышать 10 раз — пока не закрепится
  • Преподаватель идёт от сложного к простому с опытом

Что учить в JavaScript (по автору)

Базовый уровень

  • Синтаксис, типы, операторы
  • Функции, замыкания, this
  • Объекты, массивы, методы
  • Promise и async/await на пользовательском уровне
  • Простой fetch, работа с DOM

Middle уровень

  • Глубокое понимание спецификации
  • Паттерны GoF (адаптированные под JS)
  • SOLID и GRASP
  • Архитектура слоёв
  • Базы данных и репозитории
  • Метапрограммирование

Senior уровень

  • Asyncify, promisify, callbackify
  • Метаком, RPC, протоколы
  • CRDT, Local-first, синхронизация
  • V8 internals (Ignition, TurboFan, OSR)
  • Reactor, Proactor, Actor паттерны

Что НЕ учить (для прикладной работы)

  • Алгоритмы наизусть (ChatGPT за 5 секунд)
  • LeetCode за пределами «маркер дисциплины»
  • Сигнатуры API наизусть (AI подсказывает)
  • Глубоко один фреймворк (узкая специализация уходит)
  • Тестирование по умолчанию (только когда нужно)
  • Документация и комментарии к чужому коду

Сколько времени

  • Async — реально год, маркетологи продают 2 месяца
  • Patterns — полгода до зрелого понимания
  • JS фундамент — 3-6 месяцев до middle
  • Node.js stack — 6-12 месяцев
  • Базы данных и моделирование — 6+ месяцев

Принцип «в разнобой»

  • Слабо зацепляемые модули
  • Можно выбрать тему по интересу
  • Не строгая последовательность
  • Сначала Patterns, потом Node, потом Async — или наоборот
  • Главное — пройти все модули в итоге

Антипаттерны обучения

  • Сжимать длинные курсы в 2 месяца ради скорости
  • Учить ради собеса, забывать после
  • Не повторять старое — оно мертвеет
  • Учить только trending tech без основ
  • Игнорировать спецификации (только туториалы)
  • Бросать на полпути «слишком сложно»

Дополнительные форматы

  • Q&A созвоны — раскрывают понимание
  • Курс = клуб единомышленников
  • Анонимный фидбэк для критики (хвалят все, критикуют не все)
  • Записи лекций → пересматривать ключевые вещи

🎓 Источники

  • 🎓 [💡 Собеседования, переговоры по зарплате, как и что учить] · 2024-06-22 · YouTube
    • Тезисы: три уровня курса async; нельзя сжать в 2 месяца; курс в разнобой; self-assessment; терминология — 10 повторений
  • 🎓 [🎅 Курсы в 2026: Node.js, Async, Patterns] · 2026-01-01 · YouTube
  • 🎓 [✨ Как проходить курсы Node.js 2024 и Async 2024] · 2024-01-02 · YouTube
  • 🎓 [🎙️ Найм зламаний] + Безуглый · 2025-01-16 · YouTube
    • Тезисы: три отдельных направления (собес/вуз/работа); пропорции кода