Nhu cầu kĩ sư phần mềm

Nhu cầu kĩ sư phần mềm

Hiện nay có nhu cầu rất lớn về người làm phần mềm trên toàn cầu. Ở Mĩ rất khó thuê được kĩ sư phần mềm tại các thành phố chính như San Jose, Boston, Seattle hay New York. Ở Ấn Độ, thậm chí còn khó thuê hơn mặc dầu Ấn Độ cho tốt nghiệp trên 300,000 người làm phần mềm mỗi năm nhưng chỉ ít hơn 20 phần trăm số họ sẽ có việc làm do hệ thống giáo dục quá lỗi thời ở đó. Phần lớn các công ty hàng đầu Ấn Độ đều thuê những người giỏi nhất từ các trường có tiếng chỉ vài ngày sau khi họ nhận được bằng tốt nghiệp. Ở châu Âu nơi những người tốt nghiệp hàng đầu được các công ty lớn thuê từ nhiều tháng trước khi họ tốt nghiệp. Dựa trên nghiên cứu của tôi và bản đánh giá chuẩn được tiến hành trong năm 2006, khoảng 20% những người làm phần mềm vừa tốt nghiệp sẽ được thuê ngay lập tức nhưng phần còn lại quãng 80 phần trăm người làm phần mềm sẽ không tìm được việc làm bởi vì họ không có kĩ năng mà công nghiệp đòi hỏi. Kết quả là ngành công nghiệp phần mềm đang lâm vào những vấn đề lớn bởi vì có thiếu hụt trầm trọng người làm phần mềm có tài.

Lí do là điều sinh viên học trong lớp thường không khớp đúng với nhu cầu đòi hỏi của công nghiệp, ngay cả ở nhiều trường đang bắt đầu cung cấp bằng Khoa học máy tính hay thậm chí giáo trình Kĩ nghệ phần mềm. Theo cảnh quan nghiệp vụ, đa số người học khoa học máy tính không có kĩ năng cần thiết ngày nay bởi vì giáo trình chỉ tập trung vào ngôn ngữ lập trình và chỉ tạo ra người lập trình hay người kiểm thử tốt nhưng công nghiệp hiện nay đòi hỏi hơn thế nhiều. Các công ty phần mềm hàng đầu thường không muốn những người tốt nghiệp ngành khoa học máy tính bởi vì họ không có những kĩ năng cho các dự án phức tạp mà phần lớn các dự án phần mềm ngày nay lại rất lớn và phức tạp với vài triệu dòng lệnh. Chương trình Khoa học máy tính điển hình nhấn mạnh vào toán học phần lõi cứng và lí thuyết với một số tri thức lập trình. (Bao nhiêu dòng lệnh sinh viên đã viết trong chương trình Khoa học Máy tính?) Khi sinh viên khoa học máy tính tốt nghiệp ra trường, 95 phần trăn không hề biết gì hay nghe nói gì về các yếu tố giải quyết trường hợp sử dụng, chưa bao giờ viết hay đọc tài liệu yêu cầu, và không có bất kì kĩ năng mềm nào hay hiểu biết về qui trình nghiệp vụ.

Tại sao lại có vấn đề này? Lý do giản dị là điều các trường dạy thường bị ảnh hưởng bởi các nghiên cứu mà các giáo sư đã học khi họ làm luận án tiến sĩ của mình. Trong cuộc nghiên cứu về tình trạng giáo dục ở châu Âu, tôi nhận thấy phần lớn các giáo sư đều tốt nghiệp từ những năm 60 và điều họ học thì hoặc đã lạc lậu hoặc không còn hữu dụng do sự thay đổi nhanh chóng trong công nghệ. Hệ thống giáo dục châu Âu dựa trên hệ thống cấp bậc nơi người ta càng dạy lâu, càng có vị trí vững chắc hơn, kết quả là đại đa số các giáo sư đã từng dạy trong ba mươi hay bốn mươi năm nay vẫn dùng cùng sách và kĩ thuật họ đã học từ nhiều năm trước - Đó là lí do tại sao ở châu Âu, công nghiệp phần mềm không đóng vai trò quan trọng như so với Mĩ hay châu Á. Ngày nay nhiều công ty hàng đầu châu Âu đang thuê các kĩ sư Trung Quốc và Ấn Độ thay vì người của riêng họ. Tất nhiên có nhiều giáo sư giỏi, canh tân và hiểu biết ở châu Âu nhưng họ phải đợi đến lượt mình trong đại học bởi vì trong hệ thống hàn lâm này, nhiều giáo sư không chịu về hưu hay bị buộc phải về hưu. Hệ thống hàn lâm này không thưởng công cho các giáo sư dành thời gian nghiên cứu cho các vấn đề với công nghệ hiện thời hay để có kinh nghiệm trong công nghiệp. Kết quả là nhiều sinh viên tốt nghiệp với cái nhìn thiển cận về phần mềm và hệ thống. Nhiều người không có manh mối về ngôn ngữ và hệ thống của họ làm gì và nghĩ rằng việc lặp đi lặp lại những dòng lệnh trên thư viện mà ai đó đã viết là tất cả mọi thứ để phát triển phần mềm.

Làm sao để giải quyết vấn đề này? Tôi mạnh mẽ tin tưởng rằng điều chúng ta cần là mở rộng khoa học máy tính cho phạm vi rộng hơn bằng việc bổ sung thêm các bài giảng thực hành trong các lĩnh vực như kinh doanh điện tử, tự động hoá nghiệp vụ, chính phủ điện tử, thiết kế CAD/CAM, công nghệ tác động tính toán có liên quan và trong trò chơi và người máy. Chẳng hạn, sinh viên mua một người máy cá nhân cùng với sách giáo khoa, mà họ sẽ học để lập trình và chơi như một phần khởi đầu của họ vào bộ môn này, ít nhất họ cũng thấy rằng cách tiếp cận đó hấp dẫn hơn nhiều so với điều như ghi nhớ mọi công thức và lí thuyết trong sách giáo khoa.

Làm cho sinh viên tham gia vào việc ứng dụng lý thuyết vào thực hành là một điều, nhưng tìm ra những người giỏi nhất và lỗi lạc nhất có thể chấp nhận các nhiệm vụ lập trình đầy thách thức và thành công thì đòi hỏi những nền tảng tốt trong bộ môn kĩ nghệ. Do đó giáo trình phần mềm phải được thay đổi để mang khía cạnh thực hành vào đó vì nguyên tắc của các đại học là giáo dục người tốt nhất cho xã hội chứ không chỉ đơn thuần huấn luyện mọi người trong lí thuyết trừu tượng nào đó. Giáo dục phần mềm không thể giới hạn trong việc giới thiệu các lí thuyết phần mềm với vài ngôn ngữ lập trình và dùng các công cụ không còn hữu dụng nữa.

Tôi nghĩ chúng ta cần một nền tảng vững chắc cho giáo trình kĩ nghệ phần mềm mà có thể cho sinh viên kinh nghiệm thực hành với các miền ứng dụng đặc biệt, như đồ hoạ, thiết kế CAD/CAM, và an ninh tính toán. Chúng ta cũng cần trình bày cho sinh viên các nhu cầu của kỹ nghệ về tính đúng đắn, tính bảo trì được, tính kiểm thử được và hiệu năng cùng với các công cụ được dùng cho điều đó. Tuy nhiên khi hoàn thành một danh sách tất cả những cái cần thiết - cho dù ở mức tối thiểu – thi chương trình giảng dạy sẽ đi tới điều mà nhiều người chưa tốt nghiệp không thể nắm vững được, và không thể được giảng dạy một cách hợp lí trong hệ bằng cấp bốn năm. Đây là thế tiến thoái lưỡng ban nhưng tôi tin là việc học không giới hạn trong chương trình giảng dạy mà phải học cả đời. Với sinh viên chưa tốt nghiệp, họ phải đi vào một chương trình làm việc rộng hơn, nhưng họ không nên dừng lại ở đó mà phải học thêm hai năm nữa đến bậc thạc sĩ với các khả năng chuyên môn thì mới có ích cho tất cả - sinh viên lẫn công nghiệp. Tất nhiên, việc yêu cầu học thêm lên thạc sĩ có thể là quá nhiều với nhiều sinh viên nhưng tôi mạnh mẽ tin tưởng rằng một khảo cứu đặc biệt về một lãnh vực chuyên môn sẽ tạo ra được "Kĩ sư phần mềm chuyên nghiệp ".

Tôi hi vọng rằng nhiều người trong chúng ta, những người đang làm việc trong công nghiệp cũng như hàn lâm phải làm việc cùng nhau để cải thiện chương trình bậc phần mềm hiện thời để hấp dẫn các sinh viên giỏi nhất. Chương trình được đề nghị phải mang tính thực tế cung cấp cho sinh viên các kĩ năng mà họ gần như có thể áp dụng được ngay, nó phải hội tụ vào giá trị nghiệp vụ, nhiều kĩ năng qui trình và quản lí bên cạnh các kĩ năng về kiến trúc phần mềm truyền thống, thiết kế, cài đặt, kểm chứng và kiểm thử,.

Theo cảnh quan của tôi, giáo trình hiện thời, đặc biệt trong Khoa học máy tính đã không thay đổi nhiều trong những năm qua, và trong nhiều chương trình bậc đại học sinh viên có lẽ tập trung quá nhiều vào ngôn ngữ lập trình nhưng không vào việc dùng công cụ, qui trình, làm tài liệu, hiểu qui trình doanh nghiệp để trở nên những nhà chuyên môn phần mềm.

Đây là lí do tại sao tôi mạnh mẽ quảng bá cho giáo trình Kĩ nghệ phần mềm thay vì Khoa học máy tính truyền thống. Là một nhà chuyên môn phần mềm có hiệu quả, bạn cần có tài năng và bạn cần được huấn luyện. Phần mềm về bản chất là sản phẩm bạn tạo ra bằng tâm trí. Bạn không thực sự nhìn thấy nó, bạn không thực sự ngửi thấy nó, bạn phải tưởng tượng ra nó trước hết. Giáo trình có thể cho bạn việc huấn luyện nhưng tài năng là cái gì đó bạn phải có bởi vì không phải bất kì ai cũng có thể là kĩ sư phần phầm được, cũng giống như không phải ai cũng có thể là nhạc sĩ. Bạn cần nghệ thuật cũng như khoa học.

Tôi tin rằng điều công nghiệp cần ngày nay là nhiều kĩ sư phần mềm bởi vì bạn không thể lấy sinh viên tốt nghiệp khoa học máy tính và biến họ thành kĩ sư phần mềm được. Bạn sẽ có những khiếm khuyết nền tảng bởi vì việc tập trung của huấn luyện là khác biệt rất bao la nhưng chúng ta cần bắt đầu cải tiến giáo trình từ bây giờ bởi vì yêu cầu toàn cầu và vì ngành công nghiệp của chúng ta tồn tại trong thế kỉ 21. Hiện thời, nhu cầu về tài năng phần mềm liên tục tăng và theo một số nghiên cứu, thế giới sẽ cần trên hai triệu kĩ sư phần mềm trong năm năm tới (tới 2010). Tôi muốn nhấn mạnh rằng nhu cầu là về Kĩ sư phần mềm chứ không phải nhà khoa học máy tính hay người lập trình.

Thế giới đang thay đổi nhanh chóng và tôi trông đợi thấy nhiều chuyên môn hoá và lực lương lao động đa dạng dưới dạng dân tộc, nền tảng kĩ thuật và mục đích nghề nghiệp. Nhiều công ty sẽ phải tìm tài năng trên toàn cầu, điều làm tăng thách thức giáo dục, huấn luyện và quản lí nhưng nó cũng đưa ra những cơ hội lớn cho một số người có khuynh hướng nghề nghiệp, những người hiểu xu hướng toàn cầu và sẵn lòng nhận thách thức.

Tác phẩm, tác giả, nguồn

  • Tác phẩm: Xu hướng khoa học công nghệ toàn cầu
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
  • Wiki hóa: https://kipkis.com