Kĩ nghệ phần mềm ngày nay

Theo một báo cáo công nghiệp năm 2013, Kĩ nghệ phần mềm ngày nay là “bằng cấp nóng nhất” với nhu cầu cao nhưng không có đủ người để lấp vào mọi vị trí mở ra. Báo cáo này nói rằng lí do cho việc thiếu hụt là do thiếu sinh viên học về kĩ nghệ phần mềm. Ngày nay với mọi kĩ sư phần mềm mà các đại học giáo dục có lẽ có ba tới bốn vị trí mở ra. Nhu cầu là cao tới mức các công ti phần mềm không chờ đợi sinh viên tốt nghiệp mà đưa ra đề nghị cho họ sáu tháng trước ngày tốt nghiệp.

Ngày nay phần lớn các đại học vẫn cung cấp đào tạo Khoa học máy tính chứ không phải Kĩ nghệ phần mềm. Khoa học máy tính bao gồm các khía cạnh lí thuyết và lập trình như truyền và thao tác dữ liệu dùng các ngôn ngữ lập trình. Hội tụ của đào tạo Khoa học máy tính là trong việc áp dụng toán học và thuật toán dùng các ngôn ngữ lập trình. Người tốt nghiệp Khoa học máy ính được đào tạo nhiều trong lập trình và phát triển thuật toán.

Kĩ nghệ phần mềm có liên quan tới mọi khía cạnh của sản xuất phần mềm từ các pha sớm cho tới pha bảo trì phần mềm. Hội tụ của đào tạo Kĩ nghệ phần mềm là trong cách tiếp cận thực hành tới phát triển, vận hành, và bảo trì phần mềm. Người tốt nghiệp kĩ nghệ phần mềm là rất nghiêm chỉnh trong trách nhiệm của họ về chất lượng, tính đúng đắn và hiệu năng của nỗ lực của họ.

Vì tăng trưởng của công nghệ trong doanh nghiệp dẫn tới đòi hỏi nhiều hơn về công nhân có kĩ năng, các công ti ưa thích thuê người tốt nghiệp kĩ nghệ phần mềm hơn là khoa học máy tính vì kĩ năng của họ rộng hơn. Một nhà phân tích công nghiệp viết: “Không thành vấn đề những người tốt nghiệp kĩ nghệ phần mềm đang làm việc trong công nghiệp nào, chưa bao giờ có thời gian kích động hơn ngày nay vì mọi thứ trong nhà, xe, văn phòng và khu vực công cộng bây giờ đều được kiểm soát bằng phần mềm. Mọi người mang theo điện thoại thông minh, máy tính bảng trong túi của họ và dùng nó ở mọi nơi. Một phần ba gia đình ở Mĩ được kết nối bằng băng rộng với Internet, nhiều vật dụng gia đình như máy điều nhiệt, máy giặt, bếp lò, ti vi, máy nghe nhạc v.v tất cả đều được điều khiển bởi phần mềm. Với nhu cầu về nhiều phần mềm hơn đưa tới nhu cầu cao về kĩ sư phần mềm.”

Theo một báo cáo của Hội quốc gia các đại học, bẩy trong mười bằng cấp được trả lương cao nhất trong năm 2013 là trong kĩ nghệ và kĩ nghệ phần mềm có lương cao nhất. Một nhà phân tích doanh nghiệp viết: “Điều này không ngạc nhiên vì có rất nhiều cạnh tranh trong các công ti về người tốt nghiệp kĩ nghệ phần mềm. Trong mười năm, kĩ nghệ dầu hoả là bằng cấp được trả lương cao nhất nhưng bắt đầu từ 2013, nhu cầu đã thay đổi và kĩ nghệ phần mềm bây giờ là bằng cấp được trả lương cao nhất trong mọi lĩnh vực học tập. Các bằng cấp kĩ nghệ khác trong số 10 kĩ nghệ hàng đầu là kĩ nghệ hoá học, kĩ nghệ hàng không, kĩ nghệ cơ học, kĩ nghệ dân sự, kĩ nghệ điện tử và kĩ nghệ viễn thông. Tiếp sau các bằng cấp kĩ nghệ này là khoa học máy tính, quản lí hệ thông tin và quản lí hậu cần. Cục thống kê lao động của Bộ lao động Mĩ dự báo tăng trưởng 30 phần trăm cho các việc làm kĩ nghệ phần mềm mãi cho tới năm 2020, điều cao hơn nhiều so với tỉ lệ tăng trưởng cho mọi nghề khác. Với ghi danh vào các chương trình của Mĩ trong phần mềm và các lĩnh vực kĩ nghệ khác chỉ hơi tăng lên, các trường Mĩ sẽ không có khả năng giữ được cùng nhịp với nhu cầu của công nghiệp và đó là lí do tại sao công nghiệp đang gây sức ép lên quốc hội Mĩ để thay đổi luật di trú để cho phép nhiều kĩ sư được giáo dục đại học tới và làm việc ở Mĩ.

Câu hỏi chung trong các sinh viên đại học là: “Kĩ năng nào đang có nhu cầu cho kĩ sư phần mềm ngày nay?” Một số người tin các ngôn ngữ lập trình như Java, Python, PHP, HTML5 và Ruby on Rails là nóng nhưng sự kiện là các ngôn ngữ lập trình có “khoảng sống ngắn” vì công nghệ thay đổi nhanh chóng. Đây là lí do tại sao người tốt nghiệp Khoa học máy tính thường được biết tới là rất giỏi trong lập trình lại không được chuộng bởi các công ti hàng đầu vì ngôn ngữ không thành vấn đề mấy. Khi công nghệ thay đổi, nhu cầu thay đổi, ngôn ngữ cũng thay đổi và có thể không có nhu cầu về kĩ năng lập trình đặc thù thêm nữa. Đó là lí do tại sao nhiều công ti đang tìm thuê các kĩ sư phần mềm vì họ cân bằng hơn, có tri thức toàn diện, và đào tạo của họ yêu cầu họ sẵn sàng học những điều mới.

Thay đổi này đã phản ánh vào trong bài kiểm tra mà các công ti công nghệ yêu cầu các ứng cử viên phải hoàn thành trong cuộc phỏng vấn việc làm. Một quan chức điều hành của một công ti phần mềm lớn nói: “Ngày nay phần lớn những người tốt nghiệp có giáo dục đại học có thể viết mã, cho nên nó không còn là yếu tố mấu chốt nữa. Điều chúng tôi cần là người suy nghĩ phê phán, người tốt nghiệp có thể hiểu vấn đề doanh nghiệp thế giới thực và có khả năng giải quyết vấn đề đó. Chẳng hạn, chúng tôi đòi hỏi người xin việc lấy một đặc tả mà yêu cầu họ viết ra một app đầy đủ chức năng có giao diện với một API ngoài. Đó là cách tốt cho chúng tôi đo năng lực giải quyết vấn đề của họ và liệu họ có là người suy nghĩ phê phán và phân tích không.”

Các công ti công nghệ coi yếu tố thuê người hàng đầu là khả năng giải quyết vấn đề và yếu tố thứ hai là khả năng trao đổi. Một người quản lí cấp cao nói: “Phần mềm là vấn đề trao đổi, KHÔNG phải là vấn đề lập trình. Đó là lí do tại sao chúng tôi chỉ thuê những kĩ sư phần mềm bởi vì đào tạo của họ bao gồm các kĩ năng mềm như lãnh đạo, làm việc tổ, thương lượng và trao đổi. Kĩ sư phần mềm bao giờ cũng làm việc trong tổ nơi nhiều sinh viên khoa học máy tính viết mã chỗ cô lập. Làm việc tổ là yếu tố then chốt của chương trình kĩ nghệ phần mềm. Mọi thành viên tổ đều phải nói với nhau và cộng tác trên dự án để đạt tới mục đích chung. Kĩ năng trao đổi tốt giúp cho tổ nhận diện các chướng ngại và làm việc cùng nhau để vượt qua chúng. Có lẽ điều quan trọng nhất là khả năng cho kĩ sư phần mềm hiểu các qui trình và nhu cầu nghiệp vụ của khách hàng và kĩ năng này không được dạy trong chương trình khoa học máy tính.”

Ngày nay tự động hoá và robotics là hai miền then chốt trong khu vực chế tạo và chúng cần nhiều kĩ sư phần mềm. Kĩ sư phần mềm có thể lấy điều đang có như qui trình con người, với con người ra quyết định và tự động hoá nó bằng việc tổ chức nó thành qui trình do phần mềm kiểm soát. Chương trình kĩ nghệ phần mềm cũng hội tụ vào nhiều khu vực miền từ doanh nghiệp tới công nghiệp điều cho sinh viên một phạm vi rộng hơn vì nhiều người sẽ viết các ứng dụng phần mềm trong các khu vực này. Chương trình kĩ nghệ phần mềm dạy họ về vòng đời phát triển, kiểm soát phiên bản, kiểm thử đơn vị và cách tạo ra hệ thống có thể đổi qui mô được và có hiệu năng cao điều chính là cách mọi thứ được thực hiện trong thế giới thực.

Ngày nay các công ti kĩ nghệ phần mềm không dựa vào bằng cấp nữa mà yêu cầu thi để chứng tỏ các kĩ năng kĩ thuật và giải quyết vấn đề. Một người quản lí giải thích: “Vì mọi người tốt nghiệp đều muốn làm việc tại Google, Facebook, Amazon hay Microsoft và kiểm tra của họ thực sự khó để chọn ra chỉ người giỏi nhất. Trong trường hợp này, người tốt nghiệp kĩ nghệ phần mềm có cơ hội tốt hơn vì họ được đào tạo trong giải quyết vấn đề và làm việc trong tổ. Lập trình là một phần nhỏ của kiểm tra vì các công ti này mong đợi người xin việc tốt nghiệp từ đại học có thể viết được mã rồi.”

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

  • Tác phẩm: Kĩ nghệ phần mềm
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
  • Wiki hóa: https://kipkis.com