Công nghiệp phần mềm cần gì

GS John Vu09/04/2025 13:00
Công nghiệp phần mềm cần gì

Chúng tôi thảo luận với một nhóm quản lí cấp cao của các công ti phần mềm Trung Quốc khi họ thăm Carnegie Mellon về công nghiệp phần mềm ở Trung Quốc và họ bảo rằng rất khó tìm được người đúng với kĩ năng đúng bởi vì đào tạo đại học là KHÔNG nhất quán.

Một số đại học làm việc tốt nhưng các đại học khác thì không, về toàn thể họ tất cả đều tập trung vào lí thuyết với ít thực hành bởi vì hầu hết các giáo sư đều được đào tạo hàn lâm ít có kinh nghiệm. Hiện thời Trung Quốc có hơn mười nghìn công ti phần mềm nhưng phần lớn đều nhỏ, thường từ mười tới năm mươi người và không thể làm kinh doanh toàn cầu được. Một người quản lí phàn nàn: “Chúng tôi muốn cạnh tranh với Ấn Độ nhưng với hệ thống giáo dục cổ lỗ hiện thời, chúng tôi không thể phát triển đủ tài năng để xây dựng các công ti mạnh và lớn hơn mà có thể cạnh tranh toàn cầu. Đó là lí do tại sao chúng tôi cần đem giáo trình mới, chương trình đào tạo mới từ các đại học nước ngoài hàng đầu. Đó là giải pháp nhanh chóng nhất thay vì chờ đợi hệ thống giáo dục cải tiến.”

Đại học Carnegie Mellon và chính phủ Trung Quốc đã từng cộng tác để xây dựng một trung tâm đào tạo lớn ở Vô Tích có tên là “:iCarnegie” để đào tạo quãng 8000 sinh viên một năm theo chương trình CMU và nhóm sinh viên đầu tiên đã được tuyển vào tháng chín vừa rồi. Một người quản lí cấp cao nói với tôi: “Đó là bước đầu tiên nhưng 8000 sinh viên một năm là KHÔNG đủ. Chúng tôi không thể chờ đợi bốn năm nữa mặc dầu chúng tôi đã kí thoả thuận để thuê tất cả các sinh viên đã tốt nghiệp từ iCarnegie. Chúng tôi cần nhiều trung tâm đào tạo kiểu thế này ở nhiều thành phố hơn và đó là lí do chúng tôi ở đây.”

Tôi bảo họ: “Chương trình đào tạo yêu cầu sinh viên giỏi và giáo sư giỏi cho nên các ông không nên vội xô vào. Các ông KHÔNG thể mở thêm các trung tâm đào tạo, đào tạo số lượng lớn vài nghìn người và mong đợi có chất lượng. Các ông phải lựa chọn cẩn thận những sinh viên có phẩm chất từ các trường trung học hàng đầu bởi vì đầu vào tốt và chương trình đào tạo tốt sẽ cung cấp đầu ra tốt. Vì kết quả dài hạn, các ông phải bắt đầu đúng lúc ban đầu bằng việc đảm bảo rằng các ông có giáo sư đúng, người  cung cấp đào tạo có chất lượng và hỗ trợ có chọn lọc cho sinh viên. Chương trình tốt với các giáo sư được huấn luyện tồi sẽ KHÔNG đem tới kết quả tốt. Hiện thời hầu hết các đào tạo ở Vô Tích đều được tiến hành bởi các giáo sư từ Carnegie Mellon nhưng họ cũng cung cấp việc đào tạo giảng viên cho các giáo sư Trung Quốc để kế tục việc đào tạo này trong vài năm và chương trình này sẽ yêu cầu nhiều nỗ lực và cộng tác từ cả hai phía.”

Cuộc thảo luận chuyển vào trong việc tuyển lựa sinh viên đã tốt nghiệp. Một người quản lí nói với tôi: “Bởi vì phẩm chất của sinh viên thay đổi lớn “phương pháp thông thường” mà nhiều công ti vẫn làm là thuê nhiều sinh viên đã tốt nghiệp rồi đánh giá họ sau vài tháng, chúng tôi giữ lại người có kĩ năng và thải người không có năng lực vậy. Cho dù tất cả họ đều có bằng cấp nhưng kĩ năng của họ không đủ tốt để làm việc trong công nghiệp.”

Tôi ngạc nhiên về phương pháp “thuê rồi thải” cho nên tôi hỏi ông ấy về điều ông ấy đang tìm kiếm ở các sinh viên đã tốt nghiệp.

Ông ấy bảo tôi: “Ứng cử viên phải có kĩ năng cao và họ phải trung thực về kĩ năng của mình. Có khả năng “trưng bầy” tri thức nào đó về máy tính KHÔNG nhất thiết nghĩa là họ có thể làm công việc tin cậy và có phẩm chất mọi ngày. Bạn KHÔNG thể làm ngôi nhà giấy và bảo mọi người rằng bạn có thể xây dựng nhà được. Biết cách viết ra vài trăm dòng mã KHÔNG có nghĩa gì trong công nghiệp phần mềm. Có nhiều điều hơn mà sinh viên phải có như khả năng làm việc và trao đổi trong tổ. Biết cách làm công việc chất lượng và hiểu ứng dụng phần mềm để làm gì chứ không chỉ lập trình trong C hay JAVA. Họ phải biết các phương pháp kiểm thử; cả cách tiếp cận chính thức và không chính thức và giữ cho mọi thứ được tổ chức đủ để người quản lí có thể kiểm được công việc của họ và sửa chữa chúng khi cái gì đó không đúng. Vài năm trước đây hầu hết sinh viên đều có thể kiếm được việc làm dễ dàng bằng việc biết ngôn ngữ lập trình nào đó nhưng ngày nay mọi sự khác nhiều rồi. Trong khi điều bản chất cần biết ngôn ngữ nào đó, nhưng có nhiều điều hơn như biết về nguyên tắc nằm dưới ngôn ngữ hay công cụ xác định và là một nhà chuyên nghiệp có kỉ luật. Nhiều sinh viên ngày nay KHÔNG muốn học điều nền tảng, họ muốn “Thủ thuật nhanh” và “lời khuyên nhanh” khi họ đi vào công nghiệp, phần lớn các thủ thuật này sẽ KHÔNg có tác dụng.”

Người quản lí khác phàn nàn: “Hàng tuần tôi đều xem hồ sơ lí lịch của sinh viên đã tốt nghiệp và bác bỏ hầu hết họ vì họ không có kĩ năng mà chúng tôi cần cho công việc của mình. Sinh viên với điểm hàn lâm tốt bị bác bỏ bởi vì họ có hiểu biết rất giới hạn về điều công nghiệp cần. Trong thị trường cạnh tranh cao này, chúng tôi phải cạnh tranh với các nước khác để thắng việc. Chúng tôi KHÔNG thể đảm đương được việc thuê ai đó người “gần đúng” nhưng cần thời gian để học. Người giỏi nhất phải có khả năng làm việc ngay lập tức bởi vì nhiều dự án của chúng tôi cần được chuyển giao trong thời gian rất ngắn thậm chí khi yêu cầu vẫn còn đang được hoàn tất. Hiển nhiên dự án không có thời gian cho phép người “gần đúng” được “học”. Chúng tôi cần tìm ra ai đó với tập kĩ năng đích xác, người có thể thu thập yêu cầu, thiết kế và viết mã trong vài tháng ngya lập tức. Trong thị trường điên khùng này, chúng tôi phải thuê người có kĩ năng hàng đầu thay vì người có thể học kĩ năng trong vài tháng hay cả năm.

Một người quản lí khác thêm vào: “Có nhiều lí do để bác bỏ sinh viên mới tốt nghiệp. Đôi khi chúng tôi có được hợp đồng vào phút cuối thành ra ít có thời gian chuẩn bị. Đủ mọi thứ việc bất ngờ có thể xảy ra, và khi lợi nhuận là mỏng do thị trường cạnh tranh cao điều đó làm cho chúng tôi không có chọn lựa nào. Dù sinh viên giỏi tới đâu cũng không thành vấn đề trong dài hạn, chúng tôi đơn giản KHÔNG thể đảm đương được chi tiêu cho đào tạo ngắn hạn. Nó là phản xạ trên thực tại thương mại của toàn cầu hoá nơi cạnh tranh là mọi thứ.”

Vấn đề khác họ nói cho tôi là nhiều sinh viên “nói dối” trong lí lịch của họ. Lí do đơn giản là họ tin nếu họ không biết về một kĩ thuật đặc thù cho giỏi, họ có thể học chúng trong vài tuần thay vì viết vào trong lí lịch của mình rằng họ không biết kĩ năng đó.

Một người quản lí nói với tôi: “Điều thất vọng nhất về mọi người không trung thực là ở chỗ họ tin điều đó có thể có tác dụng. Một khi họ được thuê và KHÔNG có những kĩ năng đó, họ sẽ bị thải hồi và điều đó là rất tai hại cho sự tự tin của họ và cuối cùng phá huỷ họ. Người sử dụng lao động đã từng bị lừa vởi vấn đề này biết cách đối xử với những người kiểu như vậy và đó là lí do tại sao “Phương pháp thông thường” là thuê họ và đánh giá họ và đuổi họ nếu họ không đáp ứng kĩ năng được cần tới.

Tôi hỏi họ: “Vậy các ông tìm gì khác trong sinh viên tốt nghiệp?”

Họ chia sẻ với tôi điều sau: “Kĩ năng lập trình trong C++, Java; kiểm thử hay kiểm thử đơn vị dựa trên khuôn khổ hay phương pháp luận (chẳng hạn jUnit trong Java, nUnit trong .NET); qui trình dựng tự động, theo kịch đoạn hay hình thức (chẳng hạn Ant nếu chúng ta đang nói tới Java, nAnt trong .NET, hay Cruise Control, Draco etc.); tri thức về kiến trúc phần mềm, hay mô hình hoá và sự tương tự với qui trình phát triển phần mềm (chẳng hạn RUP, Agile, ISO, XP, Scrum v.v.); kĩ nghệ yêu cầu cơ bản và khả năng làm việc với khách hàng (chẳng hạn, phân tích nghiệp vụ, Trường hợp sử dụng, UML, và mô hình hoá hệ thống v.v.); tri thức về quản lí dự án (chẳng hạn, lập kế hoạch, ước lượng kích cỡ, tài nguyên, ngân sách, giám sát và kiểm soát v.v.) và khả năng trao đổi và làm việc trong tổ.

English version

what software industry needs

Last week I met a group of senior managers of China’s software companies when they visited Carnegie Mellon. We discussed about software industry in China and they told me that it is very difficult to find the right people with the right skills because university training is NOT consistent. Some universities do good jobs but others do not, overall they are all focusing on theories with little practices because most professors are academic trained with little experiences. Currently China has more than ten thousands software companies but most are small, from ten to fifty people and can not do business globally. One manager complained: “We want to compete with India but with the current archaic education system, we could not develop enough talent to build strong and larger companies that can compete globally. That is why we need to bring in new curriculum, new training programs from top foreign universities. That is the fastest solution rather than waiting for the education system to improve”.

Carnegie Mellon University and Chinese government has been collaborated to build a large training center in Wuxi called “:iCarnegie” to train about 8000 students a year based on CMU programs and the first group of students already enrolled last September. One senior manager told me: “That is a first step but 8000 students a year is NOT enough. We can not wait for another four years although we already signed agreement to hire all graduated students from iCarnegie. We need more training centers like that in more cities and that is the reason we are here”.

I told them: “Training program requires good students and good professors so you should not rush. You can NOT open more training centers, massively train several thousands people and expect quality outcomes. You must carefully select qualified students from top high schools because good inputs and good training programs will provide good outputs. For long term results, you must start correctly in the beginning by making sure that you have the right professors who provide the quality training and effectively support the students. A good program with poorly trained professors will NOT bring good results. Currently most of the trainings in Wuxi are conducted by professors from Carnegie Mellon but they also provided faculty training to Chinese professors to take over the training within few years and this program will require a lot of efforts and collaboration from both sides.

The discussion moved into the recruiting of graduated students. One manager told me: “Because the qualification of students varies greatly the “common method” that many companies do is hiring many graduated students then evaluate them after few months, we keep the skilled people and fire the not-so competent people. Even they all have degrees but their skills are not good enough to work in the industry.”

I was very surprised about this method of “Hiring then firing” so I asked him about what he is looking for in graduated students.

He told me: “Candidates must have the right skills and they must be honest about their skills. Being able to “show off” some knowledge about computer does NOT necessary mean they can do reliable and quality work every day. You can NOT make a paper house and tell people that you can build houses. Knowing how to write few hundreds line of code does NOT mean anything in software industry. There are much more that students must have such as being able to work and communicate in a team. Know how to do quality work and understand what the software application is for and not just programming in C or JAVA. They must know testing methods; both formal and informal approaches and keeping things organized enough so managers can check their works and fix them when something is not correct. Few years ago most students could get programming job easily by knowing some programming languages but today things are different. While it is essential to know some languages but there are much more such as knowing the principles that underlie the specific language or tool and being a disciplined professional. Many students today do NOT want to learn the fundamental, they want “Quick tricks” and “fast tips” when they enter the industry, most of these tricks will NOT work”.

Another manager complained: “Every week I review resumes of graduated students and rejects most of them because they don’t have the skills that we need for our works. Students with good academic record are rejected because they have very limited understanding of what industry need. In this highly competitive market, we have to compete with other countries to win work. We can NOT afford to hire someone who is “almost right” but need time to learn. The best people should be able to work immediately because many of our projects need to be delivered within a very short time even when requirements are still being finalized. Obviously the project has no time allowance for an “almost right” person to “learn”. We need to find someone with the exact skill-set who can gather requirements, design and code within few months immediately. In this crazy market, we have to hire people who have top skills instead of top people who could learn the skill in few months or a year.

Another manager added: “There are many reasons for rejecting newly graduated students. Sometimes we get the contract at the last minute leaving us with little time to prepare. All sorts of unexpected things can happen, and when profits are slim due to highly competitive market it lead us with no choice. No matter how good the students will be in long-term, we simply can NOT afford the expense of short-term training. It is a reflection on the commercial reality of globalization where competition is everything.

Another problem that they told me was many students “lying” on their resumes. The simple reason is they believe if they do not know a particular technology well, they could learn them in few weeks instead of putting in their resume that they do not know that skill.

One manager told me: “The most frustrating thing about people being dishonest is that they believe it can work. Once they are hired and do NOT have the skills, they will be fired and that is very devastating for their confidences and eventually destroy them. Employers that have been cheated by this problem know how to deal with people like that and that is why the “Common method” is to hire them and evaluate them and fire them if they do not meet the skills needed.

I asked them: “So what else are you looking for in graduated students?”

They shared with me the following: “Programming skills in C++, Java; Testing or unit testing based on a framework or methodology (for example jUnit in Java, nUnit in .NET); Formal, scripted or automated build process (for example Ant if we are talking Java, nAnt in .NET, or Cruise Control, Draco etc.); A knowledge of software architecture, or modeling and familiarity with software development process (for example RUP, Agile, ISO, XP, Scrum etc.); Basic requirements engineering and ability to work with customers (For example, Business analysis, Use Case, UML, and system modeling etc.); knowledge of project management (For example, planning, estimates size, resources, budgets, monitoring and controls etc.) and ability to communicate and work within a team.

 


Gửi bình luận
(0) Bình luận
1

Vòng đời kiểm thử

Nhiều người trong các bạn đã hỏi tôi về kiểm thử và mối quan hệ của nó với vòng đời phát triển phần mềm. Về căn bản kiểm thử tuân theo vòng đời tương ứng với mọi pha của vòng đời phát triển.
2

Một dòng mã

Khi tôi là sinh viên khoa học máy tính, tôi chưa bao giờ học về Quản lí cấu hình phần mềm Software Configuration Management (SCM).
3

Cách đo và độ đo

Tôi nhận được một email người gửi viết: “Cái gì là khác biệt giữa cách đo và độ đo và có bao nhiêu cách đo hay độ đo phần mềm?”
4

Thành công ở đại học

Thành công nghĩa là đạt tới mục đích của bạn, dù chúng là bất kì cái gì.
5

Cách đo

Tôi nhận được một email từ một sinh viên: “Tại sao chúng ta phải đo công việc của mình? Đo là khó và phí thời gian vì nó không cung cấp cho tôi giá trị. Nếu chúng ta có lỗi, chúng ta có thể sửa chúng về sau bất kể chúng có bao nhiêu. Tôi không biết tại sao chúng ta cần đo?”

Người quản lý có kinh nghiệm

Một dự án điển hình thường yêu cầu các thành viên tổ có những kĩ năng kĩ thuật chuyên môn nhưng với người quản lí có kinh nghiệm, một mình kĩ năng kĩ thuật là KHÔNG đủ.

Chiến tranh máy tính

Theo một số nghiên cứu, chiến tranh tiếp đây trong thế kỉ 21 có thể không phải là làm chiến tranh theo qui mô đầy đủ với bom nguyên tử mà là “Chiến tranh máy tính” nơi các nước tấn công lẫn nhau bằng “vi rút và sâu máy tính” hay “Tấn công xi be.”

Tài năng nước ngoài

Tạp chí Business Week đăng một bài báo thú vị: “Vẫn còn được cần tới: Tài năng nước ngoài và Thị thực.”

Nhân viên mới trong công ty

Điều gì xảy ra khi sinh viên mới tốt nghiệp gia nhập công ti phần mềm?

Việc làm phần mềm

Nhiều sinh viên tin rằng bằng việc có kĩ năng lập trình như Java, C, và C++ họ có thể thành công trong công nghiệp phần mềm. Kĩ năng lập trình là cần nhưng KHÔNG đủ.

Quản lý dự án phần mềm

Tuần trước, tôi có cuộc họp với vài sinh viên thuộc chương trình thạc sĩ về quản trị kinh doanh (MBA). Họ hỏi tôi tại sao nhiều dự án phần mềm thất bại và liệu người quản lí doanh nghiệp tốt nghiệp từ chương trình MBA có thể quản lí dự án phần mềm được không.

Thăng tiến nghề nghiệp

Tháng trước tôi có ăn trưa với vài cựu sinh viên. Bữa ăn nhanh chóng trở thành cuộc đối thoại về xu hướng hiện thời trong công nghiệp phần mềm, cách các công ti phần mềm toàn cầu lập kế hoạch và cách kĩ sư phần mềm có thể khớp với những kế hoạch đó.

Cách động viên tổ

Một người quản lí dự án hỏi tôi: “Là người quản lí dự án mới được đề bạt, tôi muốn biết cách động viên tổ của tôi vì tôi đồng ý với thầy rằng thành công của tôi phụ thuộc vào việc tổ của tôi làm việc tốt thế nào.” Sau đây là lời khuyên của tôi:

Không khóc giữa nhân gian - Khổ đau chỉ là ảo tưởng do chính mình tạo

Từ sách - Phim - PV - 14/07/2026 08:00
Tất cả chúng ta, không ngoại trừ bất kỳ ai trong đời này, đều đang bước vào một kỳ thi tâm linh.

Ưu tiên cho người quản lý dự án phần mềm

Blog GS John VU - GS John Vu - 13/07/2026 11:00
Phần lớn những người quản lí dự án được đào tạo để hội tụ vào lịch biểu nhưng theo kinh nghiệm của tôi, có lẽ điều quan trọng nhất là về đặt ưu tiên dự án.

10 câu trích dẫn ý nghĩa dành cho những ai đang cảm thấy lạc lối

Suy ngẫm - Trinh Quang - 13/07/2026 10:00
Khi bạn không thích những người xung quanh, cách tốt nhất để thể hiện sự không thích đó không phải là tranh cãi với họ, mà là chủ động rời bỏ họ.

Bức ảnh bữa cơm gia đình của tỷ phú Jensen Huang khiến nhiều người suy ngẫm

Truyền cảm hứng - Mi Vân - 13/07/2026 09:00
Một bữa cơm gia đình giản dị của Jensen Huang - CEO Nvidia và là một trong những tỷ phú giàu nhất thế giới - đang khiến nhiều người suy ngẫm về giá trị của gia đình giữa cuộc sống hiện đại.

Không khóc giữa nhân gian: Gặp lại chính mình trong vô lượng khổ đau

Từ sách - Phim - TĐ - 13/07/2026 08:00
"Không khóc giữa Nhân gian" không phải là một quyển sách chữa lành, mà là lời nhắn nhủ chánh niệm rằng chúng ta đừng sợ nỗi buồn. Nỗi buồn không đáng sợ, cái đáng sợ là hiểu sai và có thái độ chưa đúng với nỗi buồn mình đang trải qua.

Một dòng mã

Blog GS John VU - GS John Vu - 12/07/2026 10:00
Khi tôi là sinh viên khoa học máy tính, tôi chưa bao giờ học về Quản lí cấu hình phần mềm Software Configuration Management (SCM).

10 câu trích dẫn giúp bạn khi lạc lối

Suy ngẫm - Trinh Quang - 12/07/2026 09:00
Một khi đã đánh mất điều gì đó, bạn sẽ không bao giờ có thể lấy lại được. Có những việc, nếu bạn không làm ngay bây giờ, bạn sẽ không bao giờ làm lại được nữa.

Không khóc giữa nhân gian - Làm sao để hết khổ?

Từ sách - Phim - FN - 12/07/2026 08:00
Đau khổ vốn không trừ một ai, và nó có trăm hình vạn trạng: một sự mất mát, cảm giác cô độc giữa đám đông, hay đơn giản là nỗi thất vọng khi không đạt được thứ mà mình mong chờ. Vậy phải làm sao để ta hết khổ? Đau khổ có thực sự đáng sợ như người ta vẫn nghĩ? Hay chúng ta vẫn có thể nhìn đau khổ dưới một góc độ bao dung hơn?

Cách đo và độ đo

Blog GS John VU - GS John Vu - 11/07/2026 11:00
Tôi nhận được một email người gửi viết: “Cái gì là khác biệt giữa cách đo và độ đo và có bao nhiêu cách đo hay độ đo phần mềm?”

Không thích ai đó, cách khéo léo để xử lý việc này là thông qua "Phương pháp Sedona"

Suy ngẫm - PV - 11/07/2026 10:00
Trong cuộc sống, chúng ta sẽ luôn gặp những người mình không thích: đó có thể là một đồng nghiệp luôn nhắm vào bạn ở nơi làm việc, một người quen giả tạo và hay buôn chuyện, hoặc một người lạ có giá trị sống trái ngược với bạn và bạn không thể hòa hợp.

Mẹ tỷ phú Elon Musk chỉ cách nuôi dạy con thành tài: điều tuyệt đối không nên làm

Phong cách sống - Hân Ly - 11/07/2026 09:00
Mẹ của người giàu nhất thế giới cho rằng việc nuôi dạy con không nằm ở sự áp đặt, mà ở điều này cực kỳ quan trọng và cần thiết.

Sắp phát hành: Hồi ký của hy vọng

Tủ sách - PV - 11/07/2026 08:00
Hồi ký của hy vọng (Saving Five: A Memoir of Hope) thu hút sự chú ý của truyền thông quốc tế không chỉ bởi câu chuyện có thật của Amanda Ngọc Nguyễn, mà còn bởi cách cô kể lại cuộc đời mình vượt ra ngoài khuôn mẫu của một hồi ký về sang chấn.

Bạn không cần thêm thành tựu đâu, điều bạn cần là nghỉ ngơi

Suy ngẫm - TĐ - 10/07/2026 11:00
 Có những người dành cả tuổi trẻ để thoát khỏi nghèo khó, nhưng rồi khi đã bước ra khỏi nó, họ lại không biết làm thế nào để dừng việc “sống sót”.

Thành công ở đại học

Blog GS John VU - GS John Vu - 10/07/2026 10:00
Thành công nghĩa là đạt tới mục đích của bạn, dù chúng là bất kì cái gì.

Cuộc sống bình dị thích mặc đồ cũ, ăn cơm bụi của 'tượng đài điện ảnh' Châu Nhuận Phát

Phong cách sống - Ngọc Thanh - 10/07/2026 09:00
Dù nắm trong tay khối tài sản khổng lồ, tài tử Châu Nhuận Phát vẫn giữ lối sống giản dị đến mức khó tin.
HẠT GIỐNG TÂM HỒN
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS