HARRY-2 — Backend Mastery Learning Sprint (Frontend → Fullstack → AI SaaS)
Backend Mastery Learning Sprint (Frontend → Fullstack → AI SaaS)
Lộ trình Software Engineering và Backend cho FE Engineer đã vững JS/TS, mục tiêu gần: chuyển full-stack trong công việc, mục tiêu dài: build & deploy một AI SaaS production-ready và chuẩn bị cho phỏng vấn Software Engineer. GĐ26–GĐ27 bổ sung nhánh chuyên sâu về Frontend Architecture và Browser Performance.
Cách dùng: mỗi file = 1 giai đoạn, đánh số 00 → 27 theo đúng thứ tự học (định nghĩa → tại sao → cơ chế → code ngắn → pitfall). GĐ00–GĐ25 là lộ trình Backend → AI SaaS; GĐ26–GĐ27 là nhánh chuyên sâu Frontend, có thể học độc lập sau khi vững JS/TS, HTML/CSS và một UI framework.
Ba trang điều hướng
| Trang | Dùng khi |
|---|---|
| PROJECTS.md | Xem toàn cảnh 5 dự án, thứ tự phụ thuộc, tiến độ |
| CHECKLIST.md | Tự chấm kiến thức toàn lộ trình trên một trang |
| GLOSSARY.md | Tra thuật ngữ EN ↔ VN |
Các giai đoạn (28 giai đoạn)
Phần 0 — Software Engineering Foundation ⟨học xen kẽ với backend, không chờ học xong mới build⟩
- GĐ00 — Data Structures, Algorithms & Complexity — cấu trúc dữ liệu, pattern thuật toán, Big-O, bài tập gắn với backend
- GĐ01 — Systems Foundation — OS, Linux, database internals, networking và thí nghiệm production
Phần 1 — Backend nền tảng
- GĐ02 — TypeScript & toolchain cho Backend — tsconfig, ESM/CJS, alias, build, lint, debug
- GĐ03 — Nền tảng: HTTP / Node runtime / async / networking
- GĐ04 — Express: cơ chế & cấu trúc project ⟨Dự án 1: Todo API⟩
- GĐ05 — Database: SQL/Postgres, Prisma, migration, Redis, full-text search ⟨Dự án 2⟩
- GĐ06 — MongoDB & NoSQL: schema design, aggregation, transaction
- GĐ07 — NestJS: DI, guards/pipes, auth JWT + OAuth/Social login ⟨Dự án 3⟩
- GĐ08 — Clean Architecture: tầng, ranh giới, và khi nào đừng dùng
- GĐ09 — API thực chiến: security, jobs, realtime, caching, pagination, observability
- GĐ10 — Queues, Jobs, Workers & Cronjob
- GĐ11 — Search & Elasticsearch: inverted index, relevance, đồng bộ dữ liệu
Phần 2 — Nền tảng production ⟨GĐ12–14 học song song được⟩
- GĐ12 — File upload, Object Storage & Email
- GĐ13 — Testing: chiến lược & tự động hoá ⟨ưu tiên cao nhất trong ba⟩
- GĐ14 — Vòng đời dữ liệu: soft delete, audit, thời gian, tiền, backup
- GĐ15 — DevOps: Docker, CI/CD, deploy Railway/VPS/AWS ⟨đóng gói app, pipeline và chọn nơi deploy⟩
- GĐ16 — AWS nền tảng cho Backend: EC2, S3, IAM, RDS, Lambda, CloudWatch, VPC — giải thích kỹ từng dịch vụ, ví dụ Node.js và bài lab tích hợp
- GĐ17 — Cloudflare cho Backend: Workers, R2, D1, KV, Queues, Durable Objects, DNS/CDN — giải thích kiến trúc edge, binding, storage, queue, bảo mật và bài lab upload tài liệu
- GĐ18 — Kubernetes & container orchestration
Phần 3 — Tư duy hệ thống ⟨sản phẩm thật + phỏng vấn senior⟩
- GĐ19 — Distributed Systems: nền tảng lý thuyết dùng được
- GĐ20 — Microservices: ranh giới, giao tiếp, và cái giá thật
- GĐ21 — System Design & Scaling
Phần 4 — AI Engineering (cho AI SaaS)
- GĐ22 — Tích hợp LLM: OpenAI/Gemini APIs + Prompt Engineering
- GĐ23 — Embeddings + Vector Databases (pgvector) + RAG
- GĐ24 — AI Agents + Tool Calling + MCP
- GĐ25 — Capstone: Build & deploy AI SaaS production-ready ⟨auth+billing+RAG+streaming+quota+observability⟩
Phần 5 — Frontend Engineering (nhánh chuyên sâu, học độc lập)
- GĐ26 — Frontend Architecture, Design System, Micro Frontends & Module Federation — modular architecture, ranh giới domain/team, Design System có governance, và lab host/remote có rollback
- GĐ27 — Frontend Performance, Web Workers & Service Workers — Core Web Vitals, field/lab measurement, main-thread CPU, caching/offline và lab có performance budget
Bản đồ phụ thuộc
GĐ00 (DSA) ───────────────┐
├─→ học xen kẽ suốt lộ trình
GĐ01 (Systems) ───────────┘
GĐ02 → GĐ03 → GĐ04 → GĐ05 → GĐ07 → GĐ09 → GĐ10 → GĐ15 → GĐ16 AWS → GĐ17 Cloudflare → GĐ18 K8s
│ │ │ │
▼ ▼ ▼ ▼
GĐ06 GĐ08 GĐ12–14 GĐ19 Distributed
│ │
▼ ▼
GĐ11 GĐ20 Microservices
│
▼
GĐ21 System Design
│
GĐ12–14 ─→ GĐ22 LLM → GĐ23 RAG → GĐ24 Agents → GĐ25 CapstoneĐọc bản đồ:
- Bắt đầu: học GĐ00 và GĐ01 theo nhịp 30–40% thời gian, đồng thời bắt đầu build ở GĐ02. Không cần hoàn thành hết DSA mới được học backend.
- Đường xương sống: GĐ02 → GĐ03 → GĐ04 → GĐ05 → GĐ07 → GĐ09 → GĐ10 → GĐ15 → GĐ16 AWS → GĐ17 Cloudflare. K8s ở GĐ18 là nhánh tiếp theo để học orchestration.
- GĐ06 (MongoDB) sau GĐ05, không trước — cần khái niệm quan hệ + transaction làm nền so sánh.
- GĐ08 (Clean Architecture) sau GĐ07 — chỉ có ý nghĩa khi đã cảm thấy đau vì code rối.
- GĐ11 (Search) sau GĐ10 — vì đồng bộ index dùng lại outbox + worker của GĐ10.
- GĐ12/GĐ13/GĐ14 học song song được. Nếu chỉ chọn một: GĐ13 (testing) trước.
- GĐ19–GĐ21 là khối "tư duy hệ thống". Cần cho phỏng vấn senior; với sản phẩm thật, đọc sau khi có hệ thống để mổ xẻ. Nếu đang chuẩn bị phỏng vấn, đọc sớm cũng được — khối này độc lập tương đối.
- GĐ22–GĐ24 có thể bắt đầu song song với GĐ12–GĐ14 nếu bạn nóng lòng chạm vào AI, nhưng không thay thế project full-stack nền tảng.
Nhánh frontend chuyên sâu có dependency riêng, không cần xong Backend/AI:
JavaScript/TypeScript + HTML/CSS + React/router căn bản
└──→ GĐ26 Architecture & Design System
└──→ GĐ27 Performance & Browser WorkersStack mục tiêu
Node.js + Express/NestJS · PostgreSQL + Prisma + pgvector · MongoDB · Elasticsearch/Meilisearch · Redis + BullMQ · JWT/OAuth + Security · Docker + GitHub Actions · AWS EC2/S3/IAM/RDS/Lambda/CloudWatch/VPC · Cloudflare Workers/R2/D1/KV/Queues/Durable Objects · Kubernetes · Email · Vitest/Jest + Testcontainers + k6 · OpenTelemetry · OpenAI/Gemini + Prompt Engineering · Embeddings + Vector DB + RAG · AI Agents + Tool Calling + MCP · Frontend architecture + Design Systems + Micro Frontends/Module Federation + Core Web Vitals + Web/Service Workers.
Ngoài phạm vi có chủ đích: Terraform/IaC, service mesh, event sourcing, CRDT — lý do và thời điểm nên học.
Nguyên tắc
- Mỗi khái niệm gắn 1 đoạn code chạy được — không đọc chay.
- Build > tutorial: các dự án nối tiếp, nâng cấp cùng 1 codebase → capstone AI SaaS.
- Đọc log & stack trace kỹ — backend không có DevTools.
- Tận dụng lợi thế FE: hiểu API dưới góc client → thiết kế API tốt hơn.
- Chứng minh, đừng tin. Mỗi khẳng định về hệ thống của bạn phải có một test, một số đo, hoặc một lần diễn tập đứng sau.
- Biết vì sao KHÔNG dùng cũng quan trọng như biết dùng. Nhiều giai đoạn (GĐ06, GĐ08, GĐ18, GĐ20) kết thúc bằng lý do để không áp dụng — đó là phần đáng giá nhất khi phỏng vấn.
Ước lượng: Phần 0 học xen kẽ ~3–4 tháng; Phần 1 ~4–5 tháng; Phần 2 ~2–3 tháng; Phần 3 ~1–1,5 tháng; Phần 4 ~2–3 tháng (~1–2h/ngày). Phần 5 là nhánh frontend chuyên sâu; thời gian phụ thuộc project và mức độ cần áp dụng Micro Frontend.
Bảo trì tài liệu
backend-mastery-guide-full.md là bản export gộp của toàn bộ file trên — không sửa trực tiếp. Sau khi sửa bất kỳ file lẻ nào, chạy:
./build-full.sh # ghi lại bản gộp
./build-full.sh --check # kiểm tra bản gộp còn khớp không (dùng cho CI)Quy ước bắt buộc: mỗi file lẻ mở đầu bằng đúng một dòng > **HARRY-N** — <tiêu đề>, dòng trống, rồi # <tiêu đề> giống hệt. Script sẽ báo lỗi nếu thiếu.
