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 Frontend Architecture và Browser Performance; GĐ28–GĐ33 là nhánh AWS Solutions Architect – Associate (SAA).
Cách dùng: mỗi file = 1 giai đoạn, đánh số 00 → 33 (định nghĩa → tại sao → cơ chế → ví dụ → pitfall). GĐ00–GĐ25 là lộ trình Backend → AI SaaS; GĐ26–GĐ27 là nhánh Frontend sau JS/TS, HTML/CSS và một UI framework. GĐ28–GĐ33 là nhánh SAA, bắt đầu sau GĐ16, không cần hoàn tất các nhánh khác.
Hai trang tra cứu#
| Trang | Dùng khi |
|---|---|
| Index dự án | Xem toàn cảnh 5 dự án, thứ tự phụ thuộc, tiến độ |
| Glossary EN ↔ VN | Tra thuật ngữ EN ↔ VN |
Đường core và các nhánh mở rộng#
Core để chuyển fullstack: GĐ02 → GĐ03 → GĐ04 → GĐ05 → phần auth/validation ở GĐ07 → GĐ09 → GĐ13 → GĐ14 → GĐ15. GĐ00–01 học xen kẽ; bắt đầu test của Todo API ngay ở GĐ04, không chờ tới GĐ13 mới có test. GĐ10 thêm khi sản phẩm có việc nền; GĐ12 thêm khi có file/email. Giao được API có authz, SQL/migration, test và một nơi deploy trước khi chọn thêm hạ tầng.
Core cho DocuChat: sau nền backend, học GĐ10/GĐ12 và GĐ22–23; đọc phần capacity, pool, timeout, load test ở GĐ21 trước nghiệm thu GĐ25. GĐ24 là nhánh agent/MCP; một sản phẩm chat RAG chưa có agent không phải học/xây MCP để hoạt động. Nếu thực hiện toàn capstone có agent thì hoàn thành GĐ24 tương ứng.
Nhánh mở rộng theo nhu cầu: Mongo GĐ06, Clean Architecture GĐ08, search engine GĐ11, AWS GĐ16 hoặc Cloudflare GĐ17, K8s GĐ18, distributed/microservices GĐ19–20, frontend GĐ26–27 và SAA GĐ28–33. Có thể đọc tất cả để mở rộng kiến thức; không bắt một MVP phải triển khai mọi stack cùng lúc. Chọn một nền tảng deploy chính, các nền tảng còn lại là lab so sánh có cleanup.
Mỗi chương: đọc prerequisites ở phần mở đầu, làm ví dụ/bài giao nhỏ, rồi chỉ đánh dấu các tiêu chí đã chứng minh. Phần “Done khi” thuộc nhánh chưa chọn có thể để trống; ghi lựa chọn và lý do trong README project.
Các giai đoạn (34 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
Phần 6 — AWS Solutions Architect – Associate (nhánh chuyên sâu, sau GĐ16)
- GĐ28 — SAA: Lộ trình & Tư duy kiến trúc — SAA-C03, bốn domain, Well-Architected, requirements và failure domains
- GĐ29 — SAA: Security & Networking — IAM/STS, KMS, VPC, endpoints, hybrid network, DNS/CDN và bảo vệ workload
- GĐ30 — SAA: Compute & Resilience — EC2/ECS/Lambda, ELB/Auto Scaling, messaging, HA và disaster recovery
- GĐ31 — SAA: Storage & Databases — S3/EBS/EFS/FSx, RDS/Aurora/DynamoDB, cache, analytics và access patterns
- GĐ32 — SAA: Cost & Migration — pricing models, network/storage costs, operations, migration và bản đồ dịch vụ
- GĐ33 — SAA: Labs, Case Studies & Ôn tập — 6 lab có evidence/cleanup (kèm biến thể không NAT và bước quét tài nguyên sót), SaaS architecture, 16 câu tự luyện và ngân hàng 65 câu theo domain có giải thích từng phương án
Bản đồ phụ thuộc#
Đọ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 core ở mục trên ưu tiên auth, SQL, test và deploy sớm. GĐ16/GĐ17/GĐ18 là nhánh triển khai để mở rộng hoặc so sánh; không phải gate bắt buộc của API đầu tiên.
- GĐ06 (MongoDB), nếu chọn, sau GĐ05 — 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: chỉ cần hệ thống DA3 làm đất thực hành, không cần GĐ22–GĐ25.
- GĐ08 mục 3.1 (UnitOfWork + outbox) dùng outbox ở GĐ10 mục 3 và 4; đọc phần đó của GĐ10 trước nếu muốn làm trọn bài.
- GĐ24 phần MCP qua HTTP cần xác thực ở GĐ07 và GĐ09; GĐ25 dùng lại shutdown (GĐ09 mục 18), outbox (GĐ10), test (GĐ13), xoá dữ liệu (GĐ14) và kiểm tải (GĐ21), nên học GĐ25 sau các giai đoạn đó.
- 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:
Stack 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 + Testcontainers + Pact + 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.
Nhánh SAA: GĐ16 → GĐ28 → GĐ29 → GĐ30 → GĐ31 → GĐ32 → GĐ33. Đọc GĐ01/GĐ15 để củng cố network/deploy; tham khảo GĐ19/GĐ21 khi học resilience và trade-offs. GĐ32 dùng lại NAT/endpoint của GĐ29 và throttling của GĐ30; bảng phủ ở GĐ28 là đầu vào cho ngân hàng câu hỏi GĐ33. Không cần học hết Frontend/AI trước khi học SAA.
Ngoài phạm vi có chủ đích: Terraform/IaC chuyên sâu, service mesh, event sourcing, CRDT — lý do và thời điểm nên học. Nhánh SAA giới thiệu CloudFormation/IaC ở mức khái niệm và phục hồi, chưa có khóa triển khai IaC riêng.
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ỹ; kết hợp debugger, tracing và profiler. Node có Inspector/Chrome DevTools, nhưng Network tab của trình duyệt không quan sát được toàn bộ hệ backend.
- 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 phụ thuộc project và mức độ cần áp dụng Micro Frontend. Phần 6 có nhịp học gợi ý 10 tuần sau AWS căn bản; điều chỉnh theo nền tảng và thời gian lab, không bảo đảm thời điểm sẵn sàng thi.
Bảo trì tài liệu#
Quy ước bắt buộc: mỗi chương học mở đầu bằng đúng một dòng # <tiêu đề> rồi một dòng trống. Ngoại lệ là trang chức năng ebooks.md, có YAML frontmatter trước H1.