Ngành này thực ra là gì
Khoa học máy tính là ngành nghiên cứu bản chất của tính toán: một bài toán có giải được bằng máy không, giải bằng cách nào, và cách nào rẻ nhất về thời gian và bộ nhớ. Lập trình là công cụ để làm việc đó, không phải nội dung của ngành.
Đây là điểm khác biệt quan trọng nhất và cũng hay bị bỏ qua nhất: bạn sẽ học nhiều toán rời rạc, thuật toán, cấu trúc dữ liệu và lý thuyết hơn là học từng công nghệ cụ thể. Lý do là công nghệ đổi vài năm một lần, còn cách nghĩ thì không.
Ở Việt Nam, ngành này có nguồn tuyển lớn nhất trong khối kỹ thuật và cũng cạnh tranh gắt nhất ở đầu ra. Điều quyết định không phải trường mà là những gì bạn làm ngoài chương trình: một sản phẩm chạy được, một kho mã nguồn mở, một kỳ thực tập thật. Sinh viên trường tốp giữa có đồ án tử tế thường được tuyển trước sinh viên trường tốp đầu chỉ có bảng điểm.
Bốn năm học những gì
Hai năm đầu nặng về toán — giải tích, đại số tuyến tính, toán rời rạc, xác suất — cộng với lập trình cơ bản và cấu trúc dữ liệu. Rất nhiều sinh viên bất ngờ vì tưởng sẽ được làm sản phẩm ngay, và đây là giai đoạn bỏ ngành nhiều nhất.
Hai năm sau mở ra: hệ điều hành, mạng, cơ sở dữ liệu, trí tuệ nhân tạo, đồ hoạ máy tính, và đồ án. Đây là lúc phần thú vị xuất hiện và cũng là lúc bạn chọn hướng đi sâu.
Ra làm nghề gì
Kỹ sư phần mềm
Viết và bảo trì phần mềm trong đội. Phần lớn thời gian là đọc mã của người khác, sửa lỗi và họp — không phải viết mã mới.
Kỹ sư dữ liệu
Xây đường ống đưa dữ liệu từ nơi phát sinh tới nơi phân tích. Nhiều xử lý sự cố lúc nửa đêm hơn người ta tưởng.
Kỹ sư nghiên cứu học máy
Huấn luyện và đánh giá mô hình. Phần lớn công việc là chuẩn bị dữ liệu và đo đạc, không phải nghĩ ra thuật toán mới.
Kỹ sư hệ thống nhúng
Viết phần mềm chạy trên thiết bị phần cứng hạn chế. Gần với kỹ thuật điện tử hơn là phần mềm thông thường.
Giảng viên / nghiên cứu viên
Giảng dạy và nghiên cứu ở đại học hoặc viện. Cần học lên cao và chấp nhận nhịp tiến độ chậm hơn doanh nghiệp.
Trang riêng cho từng nghề
- Kỹ sư phần mềm
Viết và bảo trì phần mềm chạy được trong tay người khác.
- Kỹ sư dữ liệu
Dựng đường ống đưa dữ liệu từ nơi nó sinh ra tới nơi cần dùng.
- Chuyên viên an ninh mạng
Tìm chỗ hở trước khi người khác tìm ra, rồi vá nó.
- Chuyên viên kiểm thử phần mềm
Nghề của người đi tìm cách làm hỏng thứ người khác vừa dựng.
- Chuyên viên phân tích nghiệp vụ
Đứng giữa người cần và người làm, và dịch cho cả hai bên.
- Kỹ sư hệ thống nhúng
Phần mềm sống bên trong một vật thể có thể cháy nếu bạn viết sai.
- Nghiên cứu viên
Chu kỳ tính bằng năm, và phần lớn thí nghiệm không ra gì.
Hợp với ai
Người thích tìm ra cách giải chứ không chỉ thích làm ra sản phẩm; chịu được việc ngồi lâu với một bài toán chưa chạy; và không thấy toán là chướng ngại phải vượt qua mà là công cụ để nghĩ.
Cái bẫy
Nếu bạn chọn ngành này vì nghe nói dễ xin việc và lương cao, hai năm đầu sẽ rất khó chịu — chúng gần như không giống công việc bạn hình dung. Ngành cũng đòi hỏi tự học liên tục sau khi ra trường, và người không thật sự tò mò về máy tính sẽ thấy điều đó mệt mỏi chứ không thú vị.
Khác gì với ngành gần giống
Kỹ thuật phần mềm
Khoa học máy tính hỏi “bài toán này giải được không và giải thế nào”; kỹ thuật phần mềm hỏi “làm sao xây và bảo trì được một hệ thống lớn với nhiều người cùng làm”. Một bên thiên về lý thuyết và thuật toán, một bên thiên về quy trình, kiến trúc và chất lượng.
Trí tuệ nhân tạo
Trí tuệ nhân tạo là một nhánh chuyên sâu của khoa học máy tính. Học AI ngay từ đầu cho bạn đi nhanh vào một lĩnh vực; học khoa học máy tính cho bạn nền rộng hơn để đổi hướng về sau.
Trang này không nêu điểm chuẩn, học phí hay mức lương — những con số đó đổi hằng năm và nên tra ở nguồn chính thức của từng trường thay vì tin vào một trang đã cũ.
Làm trắc nghiệm để biết mã Holland của bạn