Gần đây có rất nhiều bạn trẻ hỏi tôi “cần phải tập trung học gì để sau này có thể làm việc tốt với vai trò của một SW Engineer”
Dẫn lại 1 câu của Steve Job (có thể nó không chính xác từng câu chữ, nhưng ý đại khái là như vậy). “Các kiến thức bạn học ở nhà trường nó như là những chấm rời rạc, đến khi bạn đi làm thì mới bắt đầu kết nối các chấm đó lại thành sự nghiệp riêng”. Về cơ bản tất cả các môn học ở trường đều hay, đều có giá trị thực tiễn trong công nghiệp, khi đa làm,… nhưng tại thời điểm sinh viên, chúng ta không thấy được việc nó sẽ áp dụng như thế nào, giá trị ra sao, nên cũng có nhiều bạn cảm thấy nhàm chán.
Một ví dụ lại liên quan đến Steve Job, thời sinh viên ông có học môn Typography mà chắc ông chẳng thể hình dung được vận dụng môn học này vào việc gì và như thế nào, chính môn học này đã giúp iphone, ipad, Mac có font chữ đẹp và hoàn hảo nhất thời đại.
Một số môn học như Toán rời rạc, cấu trúc dữ liệu và giải thuật là những môn cơ bản nhất mà toàn bộ sinh viên ngành CNTT cần nắm vững. Nó giúp cải thiện tư duy giải quyết vấn đề.
Đại số tuyến tính, xác xuất thống kê rất quan trọng trọng các ngành hệ thống thông tin, khoa học dữ liệu, học máy hay xử lý tín hiệu/xử lý hình ảnh. Đến các môn giải tích nhìn có vẻ không liên quan nhưng lại được vận dụng rất nhiều trong lập trình Nhúng, xử lý tín hiệu. Khi học toán tử Laplace, có mấy ai biết được ứng dụng của nó trong xử lý xung nhịp?
Tôi không nói nhiều về các môn chuyên ngành, mà chỉ đề cập đến những môn cơ bản, những môn mà hầu hết các bạn sinh viên đều thấy không cần thiết hoặc liên quan đến ngành nghề mình thay đổi (ngay cả bản thân tôi cũng đã từng như vậy), để thấy rằng tất cả các môn học đều hữu ích, nó giúp phát triển tư duy và kỹ năng giải quyết vấn đề trong mọi tình huống mà các bạn gặp phải sau khi ra trường