Kĩ năng của kĩ sư phần mềm
Một sinh viên viết cho tôi: “Em đã từng nghĩ về đổi lĩnh vực học tập của em sang kĩ nghệ phần mềm. Cần cái gì để có được bằng cấp này? Có cách nhanh chóng học nó không? Phương pháp phần mềm tốt nhất nào cần theo? Có nhiều toán học và viết mã hay chỉ cần đủ để có kĩ năng máy tính nào đó? Phải mất bao lâu để trở thành người quản lí phần mềm?"
Đáp: Bạn cần biết tại sao bạn muốn đổi lĩnh vực học tập của bạn sang kĩ nghệ phần mềm. Động cơ của bạn sẽ xác định liệu bạn sẽ thành công như người kĩ sư phần mềm hay không. Kĩ nghệ phần mềm không khó nhưng yêu cầu sinh viên dành thời gian và nỗ lực để xây dựng tri thức và kĩ năng của họ. Không có cách nhanh chóng để học nó và không có phương pháp nào làm chủ mà không mất nỗ lực nào. Mọi lĩnh vực kĩ nghệ đều yêu cầu nền tảng nào đó về toán học. Bạn cũng cần tư duy logic và khả năng phân tích và giải quyết vấn đề.
Không có một phương pháp "tốt nhất" nhưng có nhiều phương pháp tốt, từng phương pháp đều được thiết kế để giải quyết vấn đề đặc thù. Nếu bạn học kĩ nghệ phần mềm, bạn sẽ cần học nhiều phương pháp trong chúng. Tất nhiên, bạn phải viết mã chứ. Không có cách nào để học phần mềm mà không lập trình. Đó là nền tảng của phần mềm nơi mọi thứ được xây dựng trên nó và tuỳ thuộc vào kiểu dự án và vai trò của bạn mà bạn có thể viết mã nhiều hay ít. Nếu các yêu cầu được viết rõ ràng, giải pháp được thiết kế tốt thì viết mã là dễ và trực tiếp nhưng nếu chúng không có, thì viết mã có thể là khó khăn do nhiều thay đổi và sửa lỗi. Kĩ nghệ phần mềm là lĩnh vực yêu cầu nhiều thực hành. Bạn càng viết mã nhiều bạn sẽ càng trở thành người lập trình giỏi hơn. Tuy nhiên, có cái gì đó mà bạn cần chú ý tới. Hầu hết các sinh viên đều phát triển kĩ năng lập trình khi họ lần đầu tiên học viết mã. Nếu họ không học cách viết mã đúng, họ sẽ phát triển thói quen xấu. Nhiều người không chú ý tới "cách" họ viết mã chừng nào nó vẫn còn chạy được cho nên họ viết càng nhiều mã, thói quen trở thành cách họ làm việc và rất khó thay đổi. Không may, một số trường thường hội tụ vào cú pháp đúng, luồng logic, và thuật toán thay vì "cách" sinh viên viết mã. Nếu chương trình chạy với kết quả đúng thì thế là đủ tốt. Đến lúc sinh viên tốt nghiệp, họ đã có thói quen viết mã. Đó là lí do tại sao có những người lập trình giỏi và người lập trình “cẩu thả”.
Lời khuyên của tôi là tìm đại học tốt dự mọi lớp, chú ý tới bài giảng, làm bài tập về nhà, và đưa nhiều nỗ lực vào học tập thì bạn sẽ học tốt trong bất kì lĩnh vực nào bạn chọn. Điều quan trọng là hiểu khác biệt giữa Khoa học máy tính, Kĩ nghệ phần mềm, Quản lí hệ thông tin và Kĩ nghệ máy tính và lựa chọn khu vực thích hợp để học tập.
Ngay cả sau khi tốt nghiệp, bạn sẽ cần vài năm phát triển kĩ năng và tri thức chuyên gia của bạn. Có thể là bạn sẽ bắt đầu làm người kiểm thử phần mềm hay người phát triển, và rồi với thời gian và kinh nghiệm bạn sẽ đi lên thành người lãnh đạo tổ, kiến trúc sư hệ thống và người quản lí dự án. Về trung bình, mất quãng năm tới bẩy năm để đi vào vị trí quản lí. Bạn càng đưa nhiều nỗ lực vào trong những năm đại học, cơ hội là bạn sẽ làm tốt và leo lên những vị trí cao hơn nhanh hơn những người khác.
Là kĩ sư phần mềm giỏi, bạn phải quyết tâm học tập cả đời vì công nghệ bao giờ cũng thay đổi. Điều quan trọng là phát triển thói quen tốt về đọc sách kĩ thuật, tin tức, websites, blogs, wiki để cho bạn giữ việc mở rộng tri thức kĩ thuật của bạn. Tôi đã từng là kĩ sư phần mềm chuyên nghiệp trong gần bốn mươi năm tới giờ nhưng tôi vẫn cảm thấy tôi có nhiều thứ thế để học. Ngày nay nhiều sinh viên không thích đọc, họ ưa thích cái gì đó nhanh chóng, ngắn cho nên nhiều người phát triển thói quen xấu về biết chút ít cái này cái nọ nhưng chẳng cái gì biết đủ rõ. Với kĩ năng nông cạn, họ không thể thăng tiến nghề nghiệp của họ hơn nữa được.
Tác phẩm, tác giả, nguồn
- Tác phẩm: Lời khuyên cho sinh viên
- Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
- Wiki hóa: https://kipkis.com