SoftwareEngineering

Kỹ thuật phần mềm — nghề làm phần mềm cùng người khác: quy trình, thiết kế, kiến trúc và vận hành.

Lĩnh vực này dạy gì?

Phần kỷ luật biến "code chạy được" thành "hệ thống sống được nhiều năm, nhiều người duy trì". Trả lời: "vì sao một lỗi phát hiện muộn lại đắt gấp trăm lần?", "làm sao nhiều người sửa cùng codebase mà không giẫm chân nhau?", "thế nào là một yêu cầu đủ rõ để code?", "thiết kế hệ thống chịu tải lớn ra sao?".

Tầng 1
6 bài: SDLC & vai trò kỹ sư, Agile/Scrum/Kanban, yêu cầu & đặc tả, git workflow cho nhóm, code review, ước lượng & quản lý công việc. Quy trình & cộng tác — cách làm phần mềm cùng nhóm.
Tầng 2
6 bài: Clean code & code smells, nguyên lý SOLID/DRY/KISS/YAGNI, coupling & cohesion, design patterns (GoF), refactoring & nợ kỹ thuật, chiến lược kiểm thử. Thiết kế & chất lượng — viết code sạch, dễ đổi, được kiểm thử.
Tầng 3
6 bài: Kiến trúc phần mềm, thiết kế API (REST/gRPC/GraphQL), CI/CD, container & triển khai, observability & độ tin cậy, system design & scalability. Kiến trúc & vận hành — đưa hệ thống lên production và giữ chạy tin cậy ở quy mô.