Chương trình đào tạo nội bộ · bản 28/09/2026Tổng hợp từ tài liệu “Lộ trình đào tạo CNTT 24 tháng”
Lộ trình CNTT24 tháng · 3 giai đoạn · 3 cổng
Sinh viên năm 2+đã học lập trình cơ bản và OOP
12 giờ/tuần~50 giờ/tháng
Mentor toàn thời gian5–6 học viên/mentor

Chương trình đào tạo nội bộ · Go · TypeScript · Next.js · Flutter

Lộ trình đào tạo CNTT 24 tháng

Ba giai đoạn, mỗi giai đoạn kết thúc bằng một cổng đánh giá bằng sản phẩm thật. Học viên chỉ lên giai đoạn sau khi qua cổng; tiến độ tính theo năng lực chứng minh được, không theo lịch.

PostgreSQLDockerGitHub ActionsNgười dùng thật
24tháng, chia 3 giai đoạn
1.070giờ học · ~12 giờ/tuần
7mốc đánh giá bằng sản phẩm hoặc thao tác trực tiếp
3cổng bắt buộc: tháng 7 · 16 · 24

Cách chương trình vận hành

Học bằng sản phẩm, lên cấp bằng năng lực

Tiến độ theo năng lực

Chỉ lên giai đoạn sau khi qua cổng. Tiến độ tính theo năng lực chứng minh được, không theo lịch.

Một đề bài xuyên suốt

Bài thực hành của mọi khối làm trên cùng một đề bài của nhóm, nên đến tháng 7 các phần ghép lại thành MVP.

Bắt buộc có người dùng thật

Đề bài là sản phẩm nội bộ hoặc nhóm tự chọn. Không có người dùng thì dự án chỉ còn là bài tập.

AI mở dần theo năng lực

Người chưa tự viết được code thì không đánh giá được code do AI viết, nên càng về sau càng được dùng nhiều.

Giả định vận hành

  • Học viênSinh viên năm 2 trở lên, đã học lập trình cơ bản và OOP.
  • Thời lượng12 giờ/tuần (~50 giờ/tháng); mùa thi giảm còn ~5 giờ/tuần, đã tính vào khoảng dư.
  • Công nghệGo, TypeScript, React/Next.js, Flutter; PostgreSQL, Docker, GitHub Actions.
  • Đề bàiSản phẩm nội bộ hoặc nhóm tự chọn, bắt buộc có người dùng thật. Mentor toàn thời gian.

Cơ cấu 1.070 giờ

  • Nền tảng + cơ bản (F, C)
    Cả khoá học chung
    180giờ
  • Chuyên sâu S1 + S2
    Theo 1 trong 3 chuyên ngành
    245giờ
  • Lý thuyết GĐ2 + GĐ3
    Yêu cầu, vận hành, kiến trúc, AI
    320giờ
  • Dự án thực tế (MVP, GĐ2, GĐ3)
    45 + 160 + 120 giờ
    325giờ

Tổng quan · 24 tháng

Roadmap 24 tháng

11 khối học trên một trục thời gian. Đường đỏ là cổng chuyển giai đoạn, đường chấm là mốc review của mentor.

Giai đoạn 1 Cơ bản 3 mảng Giai đoạn 2 Giai đoạn 3 MVP sprint Cổng Review
Tháng 0–10470 giờ

Nền tảng và thực hành

Học cơ bản cả 3 mảng, chọn 1 chuyên ngành giữa tháng 4. Tháng 7 có MVP (backend Go kèm web hoặc app) demo trước người dùng thật.

Cổng 1 · Tháng 7 — demo MVP + debug trực tiếp 30 phút, không dùng AI.

Chi tiết giai đoạn 1
Tháng 10–16300 giờ

Từ yêu cầu đến production

Mỗi nhóm tự phân tích, viết PRD và đưa sản phẩm lên production, chạy ít nhất 4 tuần với người dùng thật. 160 giờ là làm dự án.

Cổng 2 · Tháng 16 — xem xét sản phẩm đang chạy production.

Chi tiết giai đoạn 2
Tháng 16–24300 giờ

Kiến trúc và mở rộng

Chứng minh bằng số đo hệ thống chịu được tải mục tiêu, bảo vệ từng quyết định kiến trúc bằng ADR, tự lập IDP 12 tháng.

Cổng 3 · Tháng 24 — bảo vệ trước hội đồng kỹ thuật.

Chi tiết giai đoạn 3

Giai đoạn 1 · Tháng 0–10 · ~470 giờ

Nền tảng và thực hành

Bài thực hành của mọi khối làm trên cùng một đề bài của nhóm, nên đến tháng 7 các phần ghép lại thành MVP thay vì làm lại từ đầu.

KhốiThời gianGiờĐầu ra bắt buộc
F. Nền tảngTháng 160Repo cá nhân có PR đã được review; schema DB cho đề bài của nhóm
C. Cơ bản 3 mảngTháng 2 – giữa tháng 4120Một tính năng nhỏ làm xong bằng cả Go, web và Flutter
Chọn chuyên ngànhGiữa tháng 40Chọn 1 trong 3: Backend Go, Web Next.js, Mobile Flutter
S1. Chuyên sâu phần 1Giữa tháng 4 – tháng 6125Phần việc của mình trong MVP chạy được trên staging
MVP sprintTháng 745MVP demo trước người dùng thật Cổng 1
S2. Chuyên sâu phần 2Tháng 8–10120Phần mình phụ trách trong MVP đạt mức sẵn sàng production

F. Nền tảng — 60 giờ

  • Git và làm việc nhóm
    commit, branch, merge/rebase, conflict, pull request, code review, GitHub Flow
    8giờ
  • Linux, HTTP, mạng cơ bản
    shell, SSH, process, biến môi trường; HTTP method, status, header; DNS; REST
    8giờ
  • Database
    mô hình quan hệ, chuẩn hoá 3NF, SQL (JOIN, GROUP BY, subquery, window function), index B-tree, transaction, ACID, isolation level; PostgreSQL
    18giờ
  • Cấu trúc dữ liệu và giải thuật
    array, hash map, set, stack, queue, tree, graph (BFS, DFS), sắp xếp, tìm kiếm, Big-O
    14giờ
  • Phân tích và thiết kế hệ thống
    use case, ERD, sequence diagram, C4 mức 1–2
    12giờ

14 giờ giải thuật chỉ đủ để dùng đúng cấu trúc dữ liệu trong công việc, không đủ cho phỏng vấn công ty lớn hay lập trình thi đấu.

C. Cơ bản 3 mảng — 120 giờ

  • Go cơ bản
    type, struct, interface, xử lý lỗi, module; API CRUD bằng net/http + PostgreSQL
    40giờ
  • Web cơ bản
    TypeScript cơ bản, HTML/CSS, React: component, state, gọi API
    40giờ
  • Flutter cơ bản
    Dart cơ bản, widget, layout, gọi API
    40giờ

Mục đích: chọn chuyên ngành dựa trên trải nghiệm thật, không theo cảm tính hay theo bạn bè.

Chọn chuyên ngành · giữa tháng 4

  • Học viên tự chọn; mentor tư vấn dựa trên 3 bài cơ bản và buổi 1-1.
  • Được đổi chuyên ngành một lần, trong 4 tuần đầu của S1.
  • Mỗi nhóm MVP cần ít nhất 1 backend và 1 web hoặc mobile.

S1 + S2 · 245 giờ mỗi chuyên ngành

Ba nhánh chuyên sâu

S1 (125 giờ) dạy những gì cần để làm MVP. S2 (120 giờ) nâng phần việc đó lên mức chạy được production.

S1 · làm MVP125 giờ
S2 · lên production120 giờ
Tổng chuyên ngành245 giờ
  • S1HTTP API
    router chi, middleware, validation, thiết kế REST, OpenAPI
    25giờ
  • S1Làm việc với DB
    pgx + sqlc, migration bằng goose, transaction, tách handler / service / repository
    30giờ
  • S1Xác thực và bảo mật
    băm mật khẩu, JWT hoặc session, RBAC, OWASP Top 10
    20giờ
  • S1Concurrency
    goroutine, channel, context, phát hiện race
    10giờ
  • S1Kiểm thử
    table-driven test, mock qua interface, testcontainers, golangci-lint
    20giờ
  • S1Đóng gói và triển khai
    Docker, docker-compose, cấu hình theo môi trường, GitHub Actions, staging
    20giờ
  • S2PostgreSQL chuyên sâu
    index, EXPLAIN, locking, tối ưu truy vấn
    30giờ
  • S2Cache và xử lý nền
    Redis, background job, message queue cơ bản
    25giờ
  • S2Quan sát hệ thống
    log có cấu trúc (slog), metrics, tracing
    20giờ
  • S2Thiết kế API nâng cao
    versioning, phân trang, idempotency, rate limit
    20giờ
  • S2Hiệu năng
    profiling bằng pprof, load test bằng k6
    25giờ

Chọn chi thay vì gin vì chi bám sát net/http: học viên học chuẩn thư viện của Go, không phụ thuộc cách làm riêng của framework.

Giai đoạn 2 · Tháng 10–16 · ~300 giờ

Từ yêu cầu đến production

Hơn một nửa thời lượng là làm dự án; lý thuyết chỉ học đủ để dùng ngay trong sprint kế tiếp.

Nội dung học

  • Khám phá yêu cầu
    phỏng vấn người dùng, quan sát công việc, Jobs-to-be-Done, 5 Whys
    25giờ
  • User story và tiêu chí chấp nhận
    INVEST, tách story, Given/When/Then, story mapping, DoR/DoD
    20giờ
  • PRD và định hướng sản phẩm
    mục tiêu, non-goal, chỉ số thành công, phạm vi phát hành, RICE/MoSCoW
    20giờ
  • Tư vấn và hỗ trợ người dùng
    hướng dẫn sử dụng, đào tạo, phân loại phản hồi, từ chối yêu cầu ngoài phạm vi
    10giờ
  • Tổ chức dự án
    Scrum/Kanban thực dụng, ước lượng, sprint planning, retrospective, rủi ro
    20giờ
  • Vận hành production
    dev/staging/prod, CI/CD, migration an toàn, feature flag, Prometheus + Grafana, log tập trung, backup/restore, runbook, sự cố
    30giờ
  • AI trong SDLC mức 1
    AI cho phân tích yêu cầu, sinh test case, review code, tài liệu
    15giờ
  • Dự án thực tế
    5 bước: phỏng vấn → PRD → 3–4 sprint → release → vận hành 4 tuần
    160giờ

Quy trình dự án thực tế

  1. Phỏng vấn ít nhất 5 người dùng thật, ghi biên bản.
  2. Viết PRD, được Product Owner duyệt.
  3. Phát triển 3–4 sprint; mỗi sprint một học viên luân phiên phụ trách yêu cầu.
  4. Release production, có runbook và cảnh báo.
  5. Vận hành ít nhất 4 tuần, thu phản hồi, làm một vòng cải tiến.

Điểm yếu thường gặp không nằm ở kiến thức mà ở chỗ sinh viên ngại hỏi và dễ nhận mọi yêu cầu. Mentor nên dự 2 buổi phỏng vấn đầu tiên và góp ý ngay sau buổi.

Sản phẩm tự chọn chỉ được duyệt khi nhóm tiếp cận được ít nhất 5 người dùng thật; không có người dùng thì giai đoạn này chỉ còn là bài tập.

Giai đoạn 3 · Tháng 16–24 · ~300 giờ

Kiến trúc và mở rộng

Lý thuyết học chung; phần áp dụng theo chuyên ngành: backend về kiến trúc hệ thống và hiệu năng server, web về kiến trúc frontend và tốc độ tải trang, mobile về kiến trúc app và đồng bộ offline.

Nội dung học

  • Kiến trúc hệ thống
    modular monolith vs microservices, clean architecture, DDD (bounded context), ADR, C4 mức 3
    40giờ
  • Mở rộng và hiệu năng
    Redis, NATS/RabbitMQ, k6, tối ưu truy vấn, read replica, partition, rate limit, idempotency
    40giờ
  • Độ tin cậy
    OpenTelemetry, SLI/SLO, timeout, retry, circuit breaker, postmortem không đổ lỗi
    30giờ
  • Bảo mật và dữ liệu
    threat modeling, quản lý secret, audit log, phân quyền chi tiết, dữ liệu cá nhân
    20giờ
  • AI trong SDLC mức 2
    quy trình với AI agent; tính năng LLM có RAG, đánh giá chất lượng, kiểm soát chi phí
    30giờ
  • Dẫn dắt và tự phát triển
    kèm khoá sau, review code, trình bày giải pháp, tự lập IDP 12 tháng
    20giờ
  • Dự án
    nâng cấp sản phẩm giai đoạn 2 để phục vụ nhiều người dùng hơn
    120giờ

Quy trình dự án

  1. Chốt với mentor chỉ số tải mục tiêu: người dùng đồng thời, độ trễ p95, tỷ lệ lỗi.
  2. Load test hệ thống hiện tại, tìm điểm nghẽn.
  3. Mỗi thay đổi kiến trúc có một ADR: lựa chọn, phương án bị loại và lý do.
  4. Đo lại sau thay đổi, trình bày số liệu trước và sau.

Microservices không phải mục tiêu. Với quy mô sản phẩm nội bộ, modular monolith thường là đáp án đúng; thứ cần dạy là ra quyết định dựa trên số đo.

Cho học viên từ tháng 16 kèm khoá sau: giảm tải cho mentor và kiểm chứng học viên hiểu thật hay chỉ làm theo.

Chính sách dùng AI

AI mở dần theo năng lực

Người chưa tự viết được code thì không đánh giá được code do AI viết, nên càng về sau học viên càng được dùng nhiều.

  1. Tháng 1 · mức 1/4

    Nền tảng

    Được dùng

    hỏi giải thích khái niệm, hỏi vì sao code lỗi

    Không được

    sinh code để nộp bài

    Kiểm soát

    bài kiểm tra thực hành tại chỗ, không AI

  2. Tháng 2–10 · mức 2/4

    Khối C, S1, S2

    Được dùng

    sinh code khung, gợi ý test, giải thích lỗi

    Không được

    nộp code mà bản thân không giải thích được

    Kiểm soát

    mỗi lần review, mentor hỏi ngẫu nhiên 1–2 đoạn; không giải thích được thì làm lại

  3. Tháng 7–16 · mức 3/4

    MVP và giai đoạn 2

    Được dùng

    AI agent (Claude Code, Codex) làm trọn tính năng; phân tích yêu cầu, sinh test case, tài liệu

    Không được

    đưa dữ liệu nội bộ vào công cụ AI ngoài Claude Code và Codex

    Kiểm soát

    tài khoản công ty cấp; PR ghi rõ phần AI sinh; review như code người viết

  4. Tháng 16–24 · mức 4/4

    Giai đoạn 3

    Được dùng

    thiết kế quy trình AI cho cả nhóm, xây tính năng dùng LLM

    Không được

    đánh giá hiệu quả bằng cảm tính

    Kiểm soát

    đo thời gian hoàn thành và số lỗi trước/sau khi áp dụng

Mức 1 · 15 giờ · Giai đoạn 2

Viết prompt đủ ngữ cảnh, kiểm chứng đầu ra, sinh test case từ tiêu chí chấp nhận, dùng AI review PR; rủi ro bịa thông tin, lộ dữ liệu, vi phạm license.

Mức 2 · 30 giờ · Giai đoạn 3

Chia việc và viết đặc tả cho AI agent, review diff do agent tạo, xây tính năng LLM có RAG, bộ đánh giá chất lượng và giới hạn chi phí.

Rủi ro lớn nhất: ra sản phẩm rất nhanh bằng AI nhưng không tự debug được. Vì vậy Cổng 1 có một bài debug trực tiếp, không dùng AI.

7 mốc · 3 cổng

Cơ chế đánh giá

Mọi mốc chấm bằng sản phẩm hoặc thao tác trực tiếp, không chấm bằng trắc nghiệm.

Cổng 1Tháng 7

Hình thức

Demo MVP + debug trực tiếp 30 phút, không AI

Tiêu chí đạt

Người dùng thật tự dùng được luồng chính; học viên tự tìm và sửa lỗi được cài sẵn.

Cổng 2Tháng 16

Hình thức

Xem xét sản phẩm đang chạy production

Tiêu chí đạt

PRD đã duyệt, chạy từ 4 tuần, có runbook, ít nhất một sự cố hoặc phản hồi đã xử lý và ghi nhận.

Cổng 3Tháng 24

Hình thức

Bảo vệ trước hội đồng kỹ thuật

Tiêu chí đạt

Bộ ADR, số đo trước và sau tối ưu, IDP 12 tháng có mục tiêu đo được.

Mốc reviewThời điểmHình thứcTiêu chí đạt
Cuối khối F ReviewTháng 1Bài thực hành 3 giờSchema đạt 3NF, 10 truy vấn SQL chạy đúng, tự xử lý conflict Git
Cuối C, S1, S2 3 reviewGiữa T4, T6, T10Mentor review code và hỏi trực tiếpĐạt từ 70% rubric: chạy đúng yêu cầu, cấu trúc code, test, giải thích được

Không qua cổng: làm lại một lần, thêm tối đa một tháng. Không qua lần hai thì trao đổi hướng khác (kiểm thử, phân tích nghiệp vụ) hoặc dừng. Giữ học viên chưa đạt sẽ kéo cả nhóm dự án ở giai đoạn sau.

Mentor toàn thời gian · 5–6 học viên/mentor

Vận hành và rủi ro

Mỗi tuần

1 buổi học chung 2 giờ; còn lại tự học, nộp bài qua pull request.

Mỗi 2 tuần

1-1 giữa mentor và từng học viên, 20–30 phút.

Mỗi 6 tháng

Mở khoá mới; học viên giai đoạn 3 kèm khoá mới và review vòng đầu.

Mỗi 6 tháng

Rà soát nội dung: giữ nguyên lý, thay công cụ khi lỗi thời.

Rủi roDấu hiệu sớmCách xử lý
Bỏ giữa chừng (mùa thi, hết hứng thú)Nộp bài trễ 2 tuần liên tiếpGiảm tải mùa thi, gặp 1-1 ngay khi có dấu hiệu
Năm 4 trùng thực tập, đồ ánXin giảm giờ từ tháng 14–16Gắn dự án giai đoạn 2–3 với đồ án tốt nghiệp
Cả khoá dồn vào một chuyên ngànhQuá nửa khoá chọn cùng một chuyên ngànhGhép lại nhóm MVP, điều chỉnh tuyển sinh khoá sau
Sản phẩm tự chọn không có người dùngKhông tìm đủ 5 người để phỏng vấnChỉ duyệt khi đã tiếp cận được người dùng; không đạt thì chuyển sang sản phẩm nội bộ
Lệ thuộc AIKhông giải thích được code của chính mìnhChính sách AI theo giai đoạn, bài debug không AI ở Cổng 1

Quyết định đã chốt

  • Mentor toàn thời gian, mỗi mentor kèm 5–6 học viên
  • Học cơ bản cả 3 mảng, sau đó chọn 1 trong 3 để chuyên sâu
  • Flutter dùng Bloc
  • Đề bài: sản phẩm nội bộ hoặc nhóm tự chọn, bắt buộc có người dùng thật
  • Công cụ AI dùng với dữ liệu nội bộ: Claude Code và Codex
  • Dự án giai đoạn 2–3 được tư vấn để làm đồ án tốt nghiệp
  • Học viên qua Cổng 2 được cam kết thực tập hoặc tuyển dụng

Sau Cổng 2 · Tháng 16

Qua Cổng 2, học viên được cam kết thực tập hoặc tuyển dụng

Tiêu chí Cổng 2: PRD đã duyệt, sản phẩm chạy production từ 4 tuần, có runbook, ít nhất một sự cố hoặc phản hồi đã xử lý và ghi nhận.