Phần mềm

GS John Vu23/04/2024 12:00
Phần mềm

Hiện nay phần mềm không còn là sản phẩm đem bán ra thị trường nữa mà là nhân tố bản chất chi phối cuộc sống của mọi người và ảnh hưởng chủ chốt cho nền kinh tế toàn cầu.

Theo báo cáo kinh tế mới nhất, thị trường phần mềm bây giờ là doanh nghiệp trị giá cỡ ba nghìn tỉ đô la, lớn hơn bất kì ngành chế tạo hay công nghiệp nào như không gian vũ trụ, xe hơi, máy móc v.v.  

Phần mềm là một trong những cái gì phức tạp nhất mà con người đã tạo ra. Để thiết kế và xây dựng chúng, người kĩ sư phần mềm phải tuân theo các qui trình và thủ tục đã xác định: Đầu tiên, các yêu cầu cần được xác định cẩn thận. Thế rồi kiến trúc phần mềm được phát triển. Khi yêu cầu và kiến trúc được xác định rồi, người ta có thể bắt đầu phát triển mã chương trình. Mã này cần được kiểm chứng, hợp thức và kiểm thử. Trong qui trình này, việc xây dựng mã chương trình hay lập trình chỉ là một phần nhỏ của toàn bộ qui trình.

Đa số mọi người không hiểu đầy đủ về kĩ nghệ phần mềm. Phần lớn sinh viên nghĩ họ có thể làm phần mềm sau khi họ học những điểm căn bản của cú pháp Java hay C++. Họ hiểu lầm kĩ nghệ phần mềm là lập trình. Điều này cũng giống như so sánh kiến trúc sư với công nhân đóng đinh vào gỗ để xây nhà. Nhiều người có thể đóng đinh vào gỗ nhưng không có kiến trúc sư, bạn không thể xây được ngôi nhà đứng vững như một kiệt tác kiến trúc.

Nhiều người có thể lập trình, nhưng chỉ một vài người mới có thể xây dựng được kiệt tác phần mềm. Trong trên 30 năm làm Kĩ sư trưởng của một công ti lớn, tôi đã nghe mọi người biện minh về ngôn ngữ máy tính, một số người tin rằng Java tốt hơn C++ hay C tốt hơn Pascal. Thông thường, họ thích ngôn ngữ mà họ được dạy trong trường nhưng phần lớn thường không may người biện minh về qui trình tạo ra sản phẩm phần mềm.

Lí do đơn giản, nhiều người không hiểu qui trình hay không thích tuân theo qui trình đã xác định. Họ chỉ thích làm phần mềm như công nhân chỉ thích đóng đinh vào gỗ mà không nghĩ về lí do chính của việc xây nhà. Những người xây dựng mã chương trình mà không hiểu rõ kĩ nghệ phần mềm thì không là gì ngoài một công nhân thường và bạn không cần phải tới trường trong bốn năm để chỉ trở thành một công nhân tầm thường.

Phần lớn sinh viên tốt nghiệp từ các đại học sẽ vào làm việc trong công ti phần mềm nào đó. Bởi vì họ không được giáo dục về qui trình phần mềm nên họ sẽ thấy khó hoàn thành nhiệm vụ đúng hạn, trong phạm vi lịch biểu và chất lượng cao. Kết quả sẽ là một sản phẩm phần mềm không đáp ứng điều khách hàng cần và có nhiều khiếm khuyết.

Năm ngoái, người bạn của tôi cần thuê 200 người làm kĩ sư phần mềm nhưng anh ấy chỉ tìm được 12 người đủ khả năng để làm việc này bởi vì hầu hết không làm được bài kiểm tra – một bài kiểm tra đơn giản để xây dựng hệ thống phần mềm. Phần lớn mọi người đã không hiểu yêu cầu, họ chưa bao giờ nghe nói về pha kiến trúc của qui trình phát triển. Họ không làm được bởi vì trường của họ đã không dạy họ nền tảng về kĩ nghệ phần mềm.

Kĩ nghệ phần mềm có thể được định nghĩa là việc áp dụng cách tiếp cận hệ thống, định lượng, có kỉ luật vào việc phát triển, vận hành hệ thống phần mềm. Đây là các kĩ năng trọng yếu nhất mà doanh nghiệp và công nghiệp cần và rất ít nơi dạy nó. Tôi nghĩ các sinh viên sẽ được lợi rất nhiều nếu biết nhiều về kĩ nghệ phần mềm trước khi họ tốt nghiệp.

Một sinh viên khoa học máy tính không thể trở nên kĩ sư phần mềm được. Nếu nhìn kĩ vào trong giáo trình này, bạn sẽ thấy rằng khoa học máy tính phần lớn hội tụ vào ngôn ngữ lập trình với nhiều lí thuyết về máy tính và toán học. Cũng cần phải lưu ý rằng hiện nay khó mà dạy kĩ nghệ phần mềm trong các đại học bởi vì nó đòi hỏi tri thức sâu sắc trong các qui trình nghiệp vụ. Để dạy những điều này, các giáo sư phải làm việc ít nhất vài năm trong ngành công nghiệp phần mềm và hiểu tất cả các cấu phần của qui trình.

Nhu cầu về giáo dục kĩ nghệ phần mềm là cấp thiết bởi vì hiện nay đang có nhu cầu lớn về kĩ năng này trên khắp thế giới. Tại sao lại có thiếu hụt kĩ sư phần mềm như vậy? Bởi vì ngày nay có rất ít đại học giảng dạy điều đó. Theo báo cáo mới nhất từ tạp chí U.S News và World Report, Mĩ có ít hơn 100 đại học cung cấp chương trình kĩ nghệ phần mềm được thừa nhận và chỉ có khoảng 200 trường trên toàn thế giới dạy về kĩ nghệ phần mềm. Đó là lí do tại sao tôi thực sự tin tưởng rằng để chiếm ưu thế về xu hướng này chúng ta phải bắt đầu ngay từ bây giờ, vì sinh viên phải mất nhiều năm mới tốt nghiệp. Tiếc thay việc thay đổi cực kì chậm trong giới hàn lâm bởi vì có ít khuyến khích thay đổi.

Phần lớn các giáo sư rất thoải mái với hiện trạng của mình và không thấy lí do nào để thay đổi giáo trình. Chính phủ quá bận rộn với các vấn đề khác và có lẽ không chú ý tới cái gì đó mà họ không hiểu. Điều duy nhất tôi thấy là nhu cầu đòi hỏi của thị trường nơi những người lãnh đạo công nghệ đòi hỏi nhân viên phải có bằng cấp kĩ sư phần mềm như điều kiện để thuê người và điều đó đang xảy ra trong nhiều nước.

English version 

Software

Software is everywhere, from cell phones to large banking systems. Software is not a marketable product anymore but an essential factor that embedded in the life of everybody and critical to the global economy. According to the latest economic report, software now is a trillion dollars business, bigger than any manufacturing or industry such as aerospace, car, machinery etc.

Software systems are some of the most complicated things humans have ever created. To design and build them, software engineers must to follow defined processes and procedures: First, the requirements need to be carefully defined. Then the architecture of the software system needs to be developed. Once the requirements and architecture are defined, one can begin code development. The code then needs verification, validation, and testing.  In this process, the actual code development or programming is only a small portion of the entire process.

Most people do not fully understand software engineering. Most students think they can do software after they learn the basics of Java or C++ syntax. They misunderstood software engineering with programming. This is like comparing an architect with a worker putting nails on a piece of wood to build a house. Many people can put nails on wood but without an architect, you can not build a house that will stand as architectural masterpieces. Many people can program, but few can develop large software masterpieces. For over 30 years as a Chief Engineer of a large company, I have heard people argue about computer languages, some believe that Java is better than C++ or C is better than Pascal. Often, they like the language that they are taught in school but most often they do not argue about the process that create the software product. The simple reason, many do not understand the process or like to follow a defined process. They just like to program as many worker just like to put nails on a piece of wood without thinking about the main reason of building a house. People who develop code without software engineering is nothing but a common worker and you do not need to go to school for several years to be just a simple worker.

Many students who graduate from universities will eventually work in some software companies. Because most of them do not get software education they will find it difficult to complete the assignments on time, within schedule and high quality. Unfortunately, the results will be a software product that may not meet what the customer needs and has a lot of defects. Last year, my friend need to hire 200 software people but he only found 12 people qualified to do the work because most failed the test – a simple test to build a software system. Most people did not understand the requirements, they never hear of the architecture phase of the development process. They failed because their schools did not teach them the fundamental of software engineering.

Software Engineering can be defined as the application of disciplined, quantifiable, systematic approach to the development, operation of software system. This is the most critical skills that business and industry need and very few places teach it. I really think it would be very beneficial for students to know more about software engineering before they graduate. It is also not valid to assume that computer science students can be software engineers. If you look closely into this curriculum, you will see that CS is mostly focus on programming languages with lot of theories on computer and mathematics. It should also be noted that it is difficult to teach software engineering because it requires a profound knowledge in business processes. To teach these, professors are required to work at least several years in the software industry and understand all components of a process.

The need for software engineering education is critical because there are great demands for this skill all over the world. Why such a shortage? Because today there are very few universities offer it. According to the latest report from U.S News and World Report magazine, The U.S has less than 100 universities that offer an accredited software engineering programs and there are less than 200 schools in the whole world that teach software engineering. That is why I really believe to take advantage of this trends we must start soon, since it takes many years for students to graduate. Unfortunately, change occurs extremely slowly in academia because there are few incentives to change. Most Professors are very comfortable with their current status and do not see reason to change the curriculum. Government are too busy with other issues and probably do not pay attention to something they may not understand. The only thing that I see is the market demand where industry leaders require a software engineering degree as a condition for hiring and it is happening in many countries right now.

 


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

Làm việc hay không làm việc

Tuần trước tôi nhận được một email: “Dường như là thầy đang khuyến khích sinh viên đi làm trong khi vẫn đang học đại học nhưng bố mẹ em bảo em rằng em phải tập trung vào học tập vì họ có thể chăm lo cho em. Đi làm sẽ làm phân tán học tập của em và em KHÔNG nên làm hai điều đồng thời thì sẽ không thành công trong cái nào. Thầy nghĩ thế nào?”
2

Phần mềm mã nguồn mở

Phần mềm “nguồn mở” là phần mềm được viết theo cách mã nguồn để mở, sẵn có cho mọi người dùng, thay đổi, cải tiến và tự do phân phối lại nó.
3

Nghề nghiệp và việc làm

"Em hiểu rằng giáo dục đại học là quan trọng nhưng em vẫn bị lẫn lộn về chọn lựa của em khi kết thúc giáo dục bậc đại học rồi đi làm cùng việc làm như mọi người có sáu tháng đào tạo lập trình..."
4

Tính toán mây

Một người quản lí hỏi: “Tác động của tính toán mây là gì? Công ti tôi được coi như dùng dịch vụ tính toán mây từ Microsoft. Điều gì sẽ xảy ra cho những người làm việc trong nhóm công nghệ thông tin hỗ trợ cho công ti?”
5

Lập mục đích

Bạn có biết thuyền trưởng dẫn hướng con thuyền của mình trên đại dương thế nào không?

Sự phân chia công nhân công nghệ lớn lao

Với tấm bằng cử nhân về Khoa học máy tính, Rennie Sawade có thể kiếm việc làm dễ dàng trong ngành công nghệ phần mềm. Nhưng anh ta chỉ tìm được việc tạm thời, ngắn hạn kiểu như hợp đồng 5 tháng mà anh ta hiện đang làm tại một công ti ở Seattle.

Cơ hội tốt nghiệp

Một người bạn hỏi tôi về việc làm cho con mình sẽ tốt nghiệp vào tháng bẩy. Anh ấy muốn biết tôi tìm khả năng gì khi tôi thuê người vào làm việc cho công ti tôi.

Kỹ nghệ phần mềm

Kĩ nghệ phần mềm là bộ môn mà trong đó các kĩ sư tuân theo một qui trình xác định rõ để làm công việc của họ.

Người quản lý dự án

Tôi có một người bạn vừa được đề bạt làm người quản lí dự án phần mềm. Anh ấy sung sướng bởi vì sau nhiều năm làm người lập trình, cuối cùng anh ấy cũng đạt được chức vụ mà anh ấy hằng mong muốn.

Việc quản lý dự án

Quản lí dự án phần mềm là việc khó.

Đại học

Tôi có nói chuyện với một người bạn là giáo sư đại học về cách thức đại học sử dụng ngân quĩ do chính phủ cấp. Anh ấy nói rằng ưu tiên thứ nhất là xây dựng kí túc xá, rồi cải thiện thư viện với nhiều sách hơn, cuối cùng mới tới phòng học.

Cải tiến qui trình phần mềm

Hỏi: Thầy có thể cho lời khuyên về làm sao để thành công trong cải tiến qui trình phần mềm?

Kiểm thử phần mềm

Là một nhà chuyên môn về phần mềm trong hơn 30 năm, tôi biết rằng kiểm thử phần mềm không phải là việc nhàm chám mà là nghề mang tính sáng tạo cao bởi vì nó yêu cầu nhiều tư duy, phân tích và canh tân.

'Trạm dừng sinh tử' và những bí ẩn diệu kỳ

“Trạm dừng sinh tử” mang đến cho người đọc nhiều điều ngạc nhiên và đáng chiêm nghiệm về những người cận tử, những người làm công việc chăm sóc người bệnh giai đoạn cuối đời và những mối “nhân duyên” kỳ lạ giữa con người với con người trong cuộc đời này.

Người kiểm thử chuyên nghiệp

Blog GS John VU - GS John Vu - 24/06/2026 12:00
Tuần trước, một sinh viên hỏi tôi: “Kiểm thử có phải là việc làm mức vào nghề hay nó là một nghề chuyên nghiệp? Có nghề như kiểm thử viên phần mềm không?”

Đừng mắc bẫy! Người xấu tính xuyên tạc, đánh giá thấp bạn? Sự thật là họ đang mang "GƯƠNG SOI" chính mình ra chỉ trích!

Kỹ năng - Tích Thành - 24/06/2026 11:00
Khi những lời chỉ trích cay nghiệt, sự hạ bệ vô cớ ập đến, phản ứng tự nhiên của bạn là gì? Thường là giận dữ, ấm ức, hoặc lao vào giải thích để phân bua. Nhưng có một sự thật mà bạn không hề hay biết. Đó là...

Người càng thông minh càng “lạnh”: 3 việc không quản, 4 điều không nói, 5 kiểu không giúp để sống nhẹ đầu

Suy ngẫm - Trang Đào - 24/06/2026 10:00
Trong cách đối nhân xử thế, người thông minh không phải là người nói nhiều hay can thiệp sâu, mà là người biết dừng đúng lúc, lùi đúng chỗ.

"Thần đồng văn học", được Đại học Thanh Hoa phá lệ để tuyển vào: Cuộc sống hiện tại gây bất ngờ

Phong cách sống - Nhật Linh - 24/06/2026 09:00
Trong khi phần lớn học sinh phải cạnh tranh quyết liệt từng điểm số để giành suất vào các trường đại học hàng đầu, một cô gái trẻ ở Trung Quốc từng khiến dư luận bất ngờ khi được Đại học Thanh Hoa đặc cách hạ chuẩn tới 60 điểm để tuyển sinh.

'Trạm dừng sinh tử' và những bí ẩn diệu kỳ

Từ sách - Phim - Thu An - 24/06/2026 08:00
“Trạm dừng sinh tử” mang đến cho người đọc nhiều điều ngạc nhiên và đáng chiêm nghiệm về những người cận tử, những người làm công việc chăm sóc người bệnh giai đoạn cuối đời và những mối “nhân duyên” kỳ lạ giữa con người với con người trong cuộc đời này.

Nghề nghiệp và việc làm

Blog GS John VU - GS John Vu - 23/06/2026 12:00
"Em hiểu rằng giáo dục đại học là quan trọng nhưng em vẫn bị lẫn lộn về chọn lựa của em khi kết thúc giáo dục bậc đại học rồi đi làm cùng việc làm như mọi người có sáu tháng đào tạo lập trình..."

Điều doanh nghiệp cần biết về GPT - “bộ não” phía sau chatbot AI

Kỹ năng - Vân Anh - 23/06/2026 11:00
GPT, viết tắt của Generative Pre-trained Transformer, là một lớp mô hình trí tuệ nhân tạo tạo sinh có khả năng tạo ra văn bản, tóm tắt tài liệu, viết email, trả lời câu hỏi, hỗ trợ lập trình hoặc phân tích dữ liệu theo yêu cầu bằng ngôn ngữ tự nhiên. Nói đơn giản, GPT giống như “bộ não ngôn ngữ” đứng sau nhiều chatbot AI nổi tiếng hiện nay, bao gồm Chat GPT.

Không phải nghèo hay xấu xí: 3 kiểu đàn ông này mới là “án tử xã hội”

Suy ngẫm - Ứng Hà Chi - 23/06/2026 10:00
Đàn ông có những vấn đề này không chỉ là lỗi hành vi, mà phản ánh sự rối loạn ở tầng nhận thức, khả năng tự kiểm soát và phán đoán cốt lõi.

Việt Nam có một nhà văn sở hữu tác phẩm được dịch ra ít nhất 3 thứ tiếng, là tài liệu nghiên cứu, giảng dạy tại Havard, Stanford, Oxford

Phong cách sống - Nhật Linh - 23/06/2026 09:00
Không chỉ là cây bút lớn của văn học Việt Nam hiện đại, nhà văn này còn là tác giả sở hữu tác phẩm có sức sống vượt ra khỏi biên giới quốc gia.

 'Để hiểu một người' - Chúng ta đang sống trong thời đại khủng hoảng kết nối 

Từ sách - Phim - TĐ - 23/06/2026 08:00
Thứ chúng ta cần nhất là các mối quan hệ, và thứ mà chúng ta xử lý vụng về nhất dường như cũng là các mối quan hệ.

Tính toán mây

Blog GS John VU - GS John Vu - 22/06/2026 12:00
Một người quản lí hỏi: “Tác động của tính toán mây là gì? Công ti tôi được coi như dùng dịch vụ tính toán mây từ Microsoft. Điều gì sẽ xảy ra cho những người làm việc trong nhóm công nghệ thông tin hỗ trợ cho công ti?”

Thất nghiệp đừng vội hoảng: 5 kỹ năng "hái ra tiền" tự học miễn phí giúp bạn lật ngược thế cờ

Kỹ năng - Kiều Dương - 22/06/2026 11:00
Thay vì lo âu khi CV gửi đi chưa có phản hồi, hãy tận dụng khoảng thời gian này để trang bị 5 kỹ năng hữu ích hoàn toàn miễn phí trên mạng.

Tỷ phú Elon Musk và 5 lời khuyên: Chỉ cần làm được 1 điều, cơ hội thành công sẽ tăng vọt

Suy ngẫm - Phương Anh - 22/06/2026 10:00
Vị tỷ phú này cho rằng, để đạt được thành công, mỗi người cần phải mạnh mẽ và nỗ lực thực hiện những điều sau.

Câu chuyện đằng sau tấm ảnh sét đánh đỉnh Landmark 81 thu hút "bão like"

Phong cách sống - Vũ Thanh Bình - 22/06/2026 09:00
Sau 7 năm theo dõi hiện tượng giông sét, tác giả bức ảnh đã ghi lại được khoảnh khắc sét đánh trúng đỉnh tòa nhà Landmark 81 trong cơn mưa lớn tại TPHCM.

Biến tiềm năng thành tài năng - Chúng ta đang sống trong một nền văn hóa tôn thờ tài năng thiên bẩm

Từ sách - Phim - TĐ - 22/06/2026 08:00
 Adam Grant cho rằng tiềm năng không nằm ở nơi bạn bắt đầu, mà nằm ở quãng đường bạn có thể đi được.
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