Перейти к содержимому

План действий на первый год

Этот план превращает roadmap в последовательность действий. Он итеративный: каждый этап заканчивается работающим артефактом, а не «прочитанной главой». Сроки — ориентир: если месяц занял два — это нормально, если этап сжался до двух недель — проверь, не пропустил ли ты практику.

Сквозной pet-проект на весь год: SaaS-дашборд — приложение с авторизацией, таблицами, графиками и real-time уведомлениями. Он растёт вместе с тобой: сначала это фронтенд на моках, потом бэкенд с базой, в конце — контейнеры на VPS с CI/CD.

Задача — стоячая уверенность в JavaScript и TypeScript. Без неё фреймворки превращаются в магию, а отладку — в кошмар.

  • Установи и настрой Arch Linux (если ещё нет): i3wm/Hyprland или GNOME/KDE — по вкусу.
  • Настрой окружение: zsh/fish, tmux, Neovim или VS Code, шрифты Nerd Font, темы. Список — в Приложении: инструментарий.
  • Повтори Advanced JS: замыкания, прототипы, Event Loop, микро-/макрозадачи, Promise/async/await, ES Modules.
  • Пройди TypeScript в strict-режиме: дженерики, утилитарные типы, satisfies, брендированные типы.
  • Решай задачи на Type Challenges — уровень easy и medium.
  • Изучи React глубоко: хуки (включая useTransition и useDeferredValue), кастомные хуки, Zustand, TanStack Query, React Hook Form + Zod.
  • Освой Next.js App Router: Server/Client Components, Data Fetching с кэшированием, Server Actions, SSG/SSR/ISR.
  • Сверстай и запрограммируй сложный pet-проект — SaaS-дашборд: авторизация (пока на моках), таблицы с сортировкой и фильтрами, графики, real-time уведомления.
  • Стилизация: Tailwind CSS + Shadcn UI, адаптивная вёрстка, базовый a11y (семантика, навигация с клавиатуры).
  • Покрой проект тестами: Vitest + React Testing Library, Playwright для E2E-сценариев.
  • Проверь Core Web Vitals проекта в Lighthouse.
  • Изучи Node.js глубоко: Event Loop (фазы libuv), Streams и backpressure, worker_threads.
  • Освой NestJS: модули, провайдеры, DI, Guards, Interceptors, Pipes.
  • Спроектируй REST API для дашборда: аутентификация (JWT access + refresh), ролевая модель, валидация через Zod на границе.
  • PostgreSQL + Prisma: схема БД, миграции, индексы, транзакции. Подключи Redis для кэша и сессий.
  • Документируй API через OpenAPI (Swagger или Scalar).
  • Покрой бэкенд интеграционными тестами: Supertest + Testcontainers.
  • Упакуй приложение в Docker: многоступенчатые Dockerfile, docker-compose.yml (App + PostgreSQL + Redis + Nginx).
  • Настрой CI/CD в GitHub Actions: lint → test → build → deploy.
  • Арендуй VPS (Hetzner или DigitalOcean), настрой Ubuntu Server.
  • Настрой Nginx reverse proxy + SSL через Let’s Encrypt.
  • Добавь мониторинг: Prometheus + Grafana (Node Exporter, cAdvisor), алерты в Telegram.
  • Проделай «боевое крещение»: убей контейнер на сервере и восстанови по пайплайну.
  • Переведи проект на Kubernetes: локальный кластер (minikube/kind) → облачный K8s, Helm-чарты, Ingress.
  • Освой Terraform: инфраструктура VPS как код, state в remote backend.
  • Изучи System Design: масштабирование, шардирование, очереди (Kafka/RabbitMQ), CAP-теорема. Масштабруй дашборд «на бумаге» до миллиона пользователей.
  • Контрибьють в open source — начни с документации и маленьких багфиксов в инструментах, которыми пользуешься.
  • Делись знаниями: блог, выступления, менторство. Обучая других, учишься сам.

Отмечай чекбоксы в своей копии плана (или веди его как issue в репозитории pet-проекта). Раз в месяц — ретроспектива: что сделал, где застрял, что убираешь или добавляешь. План — инструмент, а не начальник.