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#

TrangDùng khi
Index dự ánXem toàn cảnh 5 dự án, thứ tự phụ thuộc, tiến độ
Glossary EN ↔ VNTra 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⟩

Phần 1 — Backend nền tảng

Phần 2 — Nền tảng production ⟨GĐ12–14 học song song được⟩

Phần 3 — Tư duy hệ thống ⟨sản phẩm thật + phỏng vấn senior⟩

Phần 4 — AI Engineering (cho AI SaaS)

Phần 5 — Frontend Engineering (nhánh chuyên sâu, học độc lập)

Phần 6 — AWS Solutions Architect – Associate (nhánh chuyên sâu, sau GĐ16)


Bản đồ phụ thuộc#

textReady
GĐ00–01: học xen kẽ, không chặn bắt đầu projectCore: GĐ02 → GĐ03 → GĐ04 → GĐ05 → GĐ07 → GĐ09 → GĐ13–14 → GĐ15                               │                   │                        GĐ06 / GĐ08          GĐ10 → GĐ11                                             │                                        GĐ12 + GĐ21                                             │                                   GĐ22 → GĐ23 → GĐ25                                                ▲                                         GĐ24 nếu có agentDeploy mở rộng: GĐ15 → GĐ16 (AWS) / GĐ17 (Cloudflare) → GĐ18 nếu cần K8sTư duy hệ thống: DA3 → GĐ19 → GĐ20 → GĐ21 (áp dụng trước nghiệm thu GĐ25)SAA: GĐ16 → GĐ28 → GĐ29 → GĐ30 → GĐ31 → GĐ32 → GĐ33

Đọ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:

textReady
JavaScript/TypeScript + HTML/CSS + React/router căn bản                       └──→ GĐ26 Architecture & Design System                                   └──→ GĐ27 Performance & Browser Workers

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#

  1. Mỗi khái niệm gắn 1 đoạn code chạy được — không đọc chay.
  2. Build > tutorial: các dự án nối tiếp, nâng cấp cùng 1 codebase → capstone AI SaaS.
  3. Đọ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.
  4. Tận dụng lợi thế FE: hiểu API dưới góc client → thiết kế API tốt hơn.
  5. 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.
  6. 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.