Lộ trình học Backend gồm các bước chính: chọn một ngôn ngữ và framework (Node.js, Java, Python, PHP hoặc C#), nắm chắc HTTP và REST API, học cơ sở dữ liệu và SQL, xác thực và bảo mật, sau đó là cache, hàng đợi, Docker, CI/CD và deploy. Bài viết này trình bày từng giai đoạn, kèm bảng so sánh lựa chọn ngôn ngữ và dự án gợi ý để bạn có sản phẩm thực tế đưa vào CV.
Backend developer làm gì?
Backend là phần chạy trên máy chủ, người dùng không nhìn thấy nhưng quyết định ứng dụng có hoạt động đúng, nhanh và an toàn hay không. Công việc thường gồm:
- Thiết kế và xây dựng API cho website, ứng dụng di động.
- Thiết kế cơ sở dữ liệu, viết truy vấn, tối ưu hiệu năng.
- Xử lý xác thực, phân quyền, thanh toán, gửi email, thông báo.
- Tích hợp dịch vụ bên thứ ba và các hệ thống nội bộ.
- Theo dõi log, xử lý sự cố, đảm bảo hệ thống chịu tải.
Giai đoạn 1: Chọn ngôn ngữ và framework
| Ngôn ngữ | Framework phổ biến | Điểm mạnh | Phù hợp |
|---|---|---|---|
| JavaScript/TypeScript | Express, NestJS | Một ngôn ngữ cho cả frontend và backend | Người đã học web frontend, startup |
| Java | Spring Boot | Ổn định, hệ sinh thái doanh nghiệp mạnh | Ngân hàng, tài chính, hệ thống lớn |
| Python | Django, FastAPI | Code ngắn, gần với dữ liệu và AI | Sản phẩm có xử lý dữ liệu, AI |
| PHP | Laravel | Hosting rẻ, phát triển nhanh | Website, CMS, dự án outsource nhỏ |
| C# | ASP.NET Core | Hiệu năng tốt, công cụ Microsoft | Doanh nghiệp dùng hệ sinh thái Microsoft |
Không có lựa chọn sai. Hãy xem tin tuyển dụng ở nơi bạn muốn làm việc và chọn một ngôn ngữ để học sâu. Gợi ý khoá học: Node.js (Express), NestJS, Java Spring Boot, PHP, Python. Nếu chưa biết lập trình, đọc trước nên học ngôn ngữ lập trình nào đầu tiên.
Giai đoạn 2: Nền tảng web và HTTP
- Mô hình client – server, DNS, domain, cổng (port).
- HTTP method:
GET,POST,PUT,PATCH,DELETE. - Status code: 2xx thành công, 3xx chuyển hướng, 4xx lỗi phía client, 5xx lỗi phía server.
- Header, cookie, query string, body JSON.
- HTTPS và lý do bắt buộc dùng HTTPS cho mọi ứng dụng.
Giai đoạn 3: Cơ sở dữ liệu
Cơ sở dữ liệu quan hệ (SQL)
Phần lớn ứng dụng nghiệp vụ dùng cơ sở dữ liệu quan hệ như MySQL, PostgreSQL. Bạn cần nắm thiết kế bảng, khoá chính, khoá ngoại, chuẩn hoá, truy vấn JOIN, GROUP BY, index và transaction. Bài học SQL cơ bản và khoá học MySQL là điểm khởi đầu tốt.
NoSQL
MongoDB (document), Redis (key-value) phù hợp với một số bài toán như dữ liệu linh hoạt, cache, phiên đăng nhập. Hãy học SQL vững trước rồi mới mở rộng.
ORM
ORM như Prisma, TypeORM (Node.js), Hibernate/JPA (Java), SQLAlchemy (Python) giúp làm việc với database bằng code. Tuy vậy, bạn vẫn cần hiểu SQL để biết ORM đang sinh ra truy vấn gì.
Giai đoạn 4: Xây dựng REST API
Ví dụ một API đơn giản với Express:
import express from "express";
const app = express();
app.use(express.json());
const courses = [{ id: 1, name: "Docker" }];
app.get("/api/courses", (req, res) => res.json(courses));
app.post("/api/courses", (req, res) => {
if (!req.body.name) return res.status(400).json({ error: "Thiếu tên" });
const course = { id: Date.now(), name: req.body.name };
courses.push(course);
res.status(201).json(course);
});
app.listen(3000);
Những nguyên tắc thiết kế API nên nắm:
- Đặt tên tài nguyên bằng danh từ số nhiều:
/courses,/users/:id/orders. - Trả đúng status code và định dạng lỗi thống nhất.
- Phân trang, lọc, sắp xếp cho danh sách lớn.
- Kiểm tra dữ liệu đầu vào ở mọi endpoint.
- Viết tài liệu API (ví dụ OpenAPI/Swagger) để frontend dễ sử dụng.
Sau REST, bạn có thể tìm hiểu thêm GraphQL, WebSocket cho ứng dụng thời gian thực và gRPC cho giao tiếp giữa các dịch vụ.
Giai đoạn 5: Xác thực, phân quyền và bảo mật
- Xác thực: session/cookie, JWT, đăng nhập bằng Google/Facebook (OAuth 2.0).
- Mật khẩu: luôn băm bằng thuật toán chuyên dụng như bcrypt hoặc argon2, không bao giờ lưu dạng gốc.
- Phân quyền: vai trò (admin, giảng viên, học viên) và kiểm tra quyền ở phía server.
- Lỗ hổng phổ biến: SQL injection, XSS, CSRF, lộ thông tin qua thông báo lỗi. Tham khảo danh sách OWASP Top 10.
- Quản lý bí mật: lưu API key, mật khẩu database trong biến môi trường, không commit lên Git.
Giai đoạn 6: Hiệu năng và kiến trúc
- Cache với Redis để giảm tải database cho dữ liệu đọc nhiều.
- Hàng đợi (queue) như RabbitMQ, BullMQ, Kafka để xử lý tác vụ nặng chạy nền: gửi email, xử lý video.
- Logging và monitoring: ghi log có cấu trúc, theo dõi bằng Grafana.
- Kiến trúc: bắt đầu với monolith rõ ràng; chỉ chuyển sang microservices khi thật sự có lý do.
- Kiểm thử: unit test, integration test cho API.
Giai đoạn 7: Docker, CI/CD và deploy
Backend developer hiện nay thường được kỳ vọng biết đóng gói ứng dụng bằng Docker, thiết lập pipeline tự động test và deploy, và hiểu cơ bản về cloud. Nếu thích phần hạ tầng, bạn có thể đi tiếp theo lộ trình học DevOps hoặc học chứng chỉ AWS.
Dự án gợi ý cho CV backend
| Dự án | Kỹ năng thể hiện |
|---|---|
| API blog có đăng nhập, phân quyền tác giả/admin | REST, JWT, SQL, kiểm tra dữ liệu |
| API đặt lịch/đặt phòng | Transaction, xử lý trùng lịch, phân trang |
| Hệ thống rút gọn link có thống kê | Cache Redis, hiệu năng, index |
| Ứng dụng chat thời gian thực | WebSocket, lưu lịch sử tin nhắn |
Hãy viết README rõ ràng, có hướng dẫn chạy bằng Docker Compose và tài liệu API. Điều này tạo ấn tượng tốt với nhà tuyển dụng.
Viết code backend dễ bảo trì
Khi dự án lớn dần, cách tổ chức code quan trọng không kém việc code chạy được. Một cấu trúc phổ biến là chia theo lớp:
- Route / Controller: nhận request, kiểm tra dữ liệu đầu vào, trả response.
- Service: chứa logic nghiệp vụ, ví dụ “đăng ký khoá học” gồm kiểm tra đã thanh toán, tạo bản ghi, gửi email.
- Repository / Data access: làm việc với database.
Cách chia này giúp bạn dễ viết test cho logic nghiệp vụ mà không cần chạy cả server, và dễ thay đổi database hay framework sau này. Framework như NestJS hoặc Spring Boot áp dụng sẵn tư duy này; với Express, bạn cần tự tổ chức.
Ngoài ra, hãy hình thành thói quen:
- Cấu hình qua biến môi trường, có file
.env.examplemô tả các biến cần thiết. - Xử lý lỗi tập trung, trả về định dạng lỗi thống nhất, không lộ stack trace ra ngoài.
- Ghi log có ngữ cảnh (request id, user id) để dễ truy vết sự cố.
- Dùng migration để quản lý thay đổi cấu trúc database thay vì sửa tay.
- Viết README hướng dẫn chạy dự án trong vài lệnh.
Chuẩn bị phỏng vấn backend
Các buổi phỏng vấn backend thường xoay quanh: kiến thức ngôn ngữ và framework bạn dùng, thiết kế database và tối ưu truy vấn, thiết kế API, xác thực và bảo mật, xử lý đồng thời và transaction, cùng một vài câu hỏi thuật toán. Với vị trí có kinh nghiệm, bạn có thể được hỏi thiết kế hệ thống (system design) như “thiết kế dịch vụ rút gọn link” hay “thiết kế hệ thống thông báo”. Cách chuẩn bị tốt nhất là giải thích được các quyết định trong chính dự án của bạn: vì sao chọn database này, vì sao đặt index ở đây, xử lý lỗi thế nào.
Câu hỏi thường gặp
Học backend có cần biết frontend không?
Không bắt buộc sâu, nhưng nên biết HTML, CSS, JavaScript cơ bản để hiểu frontend dùng API của bạn như thế nào.
Node.js hay Java cho người mới học backend?
Node.js giúp bắt đầu nhanh, đặc biệt nếu bạn đã biết JavaScript. Java có đường cong học tập dốc hơn nhưng rất phổ biến trong doanh nghiệp lớn. Chọn theo mục tiêu nghề nghiệp.
Học backend mất bao lâu?
Thời gian phụ thuộc vào nền tảng và cường độ học. Thay vì mốc thời gian, hãy đặt mục tiêu hoàn thành 2–3 dự án API có xác thực, database và deploy thật.
Có cần học thuật toán không?
Có, ở mức cơ bản. Hiểu cấu trúc dữ liệu và giải thuật giúp bạn viết code hiệu quả và vượt qua vòng phỏng vấn kỹ thuật.
Backend có bị AI thay thế không?
AI giúp viết code nhanh hơn, nhưng thiết kế hệ thống, bảo mật, hiểu nghiệp vụ và xử lý sự cố vẫn cần con người. Xem thêm AI Agent là gì.
Kết luận
Lộ trình backend có thể tóm gọn: một ngôn ngữ vững, HTTP và REST API, SQL, bảo mật, rồi đến hiệu năng và deploy. Hãy học qua dự án thật và đưa lên GitHub. Xem nhóm khoá học lập trình Backend online của MelyDemy để chọn khoá phù hợp với ngôn ngữ bạn theo đuổi.