Học kỹ nghệ phần mềm mất bao lâu?

GS John Vu19/02/2025 13:00
Học kỹ nghệ phần mềm mất bao lâu?

Trong cuộc viếng thăm Trung Quốc tháng trước, một giáo sư toán học đã hỏi tôi: “Học kĩ nghệ phần mềm phải mất bao lâu?”

Đây KHÔNG phải là câu hỏi đơn giản như một số trong các bạn có thể nghĩ vì nó tới từ một giáo sư toán học cho nên tôi hỏi ông ấy: “Phải mất bao lâu để sinh viên học đại số?”

Ông ấy cười và trả lời: “Điều đó còn tuỳ loại toán học cơ sở nào sinh viên có? Họ cần làm gì? Loại kĩ năng toán học nào sinh viên có? Tất nhiên, đại số nền tảng được dạy ở trường phổ thông và tiếp tục các khái niệm cao cấp hơn ở đại học cho nên câu trả lời có thể là vài tháng hay vài năm.”

Tôi bảo ông ấy: “Kĩ nghệ phần mềm không khác với Đại số. Tôi cũng cần biết sinh viên là ai và họ cần làm gì trước khi tôi có thể trả lời câu hỏi này cho đúng. Nếu sinh viên đã có bằng cấp về khoa học máy tính và hiểu rõ các khái niệm tính toán thì tôi sẽ cho ông một câu trả lời. Nếu sinh viên có bằng cấp ở các khu vực phi kĩ thuật, không có tri thức về tính toán và chút ít kĩ năng ngôn ngữ lập trình thì tôi sẽ cho ông câu trả lời khác. Tất nhiên, nếu sinh viên học năm thứ nhất trong đại học không có tri thức và kinh nghiệm lập trình, thì tôi sẽ cho ông câu trả lời khác.”

Ông ấy gật đầu: “Nhưng đại số được dạy ở trường phổ thông và trường kĩ nghệ phần mềm. Chúng không thể như nhau được.”

Tôi bảo ông ấy: “Tri thức nền tảng về tính toán làm cho Kĩ nghệ phần mềm thành dễ hơn cho một số sinh viên. Những người đã quen thuộc với máy tính cơ sở, người biết cách lập trình sẽ học Kĩ nghệ phần mềm nhanh hơn những người khác. Tuy nhiên, bất kì sinh viên nào trong đại học dù học ở khu vực kĩ thuật hay không kĩ thuật đều có khả năng học Kĩ nghệ phần mềm. Quan điểm của tôi là sinh viên đã quen thuộc với việc học những điều mới liên tục sẽ học nhanh chóng hơn vì họ biết cách học, và không sợ điều gì đó mới, và có tự tin trong khả năng học của họ.”

Ông ấy dường như thoả mãn: “Vậy Kĩ nghệ phần mềm không khó như hầu hết mọi người thường nói.”

Tôi bảo ông ấy: “Có nhiều quan niệm sai về Kĩ nghệ phần mềm. Lĩnh vực nghiên cứu này KHÔNG khác với bất kì lĩnh vực nào khác như toán học, vật lí hay ngay cả văn học. Nó là lĩnh vực thực hành khi so sánh với Khoa học máy tính vốn tập trung nhiều vào lí thuyết và ngôn ngữ lập trình. Kĩ nghệ phần mềm tập trung nhiều vào khái niệm và qui trình được dùng trong công nghiệp và nó tuỳ thuộc vào kinh nghiệm của giáo sư.

Lí do mọi người tin nó khó là vì nhiều giáo sư hàn lâm không thích dạy cái gì đó họ không có kinh nghiệm và không thể giải thích được rõ ràng cho sinh viên. Tôi nghĩ môi trường học tập là nhân tố quan trọng khác trong việc dạy kĩ nghệ phần mềm. Để hiệu quả, trường phải có các giáo sư có kinh nghiệm và các giáo sư càng chuyên sâu thì sinh viên học càng nhanh và dễ hơn. Đại học tốt nên thúc đẩy môi trường học tập, điều hướng tới kết quả của quá trình học.”

Ông ấy hỏi: “Sinh viên có khả năng làm gì sau khi tốt nghiệp?”

Tôi giải thích: “Họ phải có khả năng làm việc ngay lập tức với đào tạo tối thiểu. Họ phải hiểu mọi hoạt động trong công ti phần mềm. Họ phải biết cách làm việc với khách hàng và hiểu nhu cầu của khách hàng. Họ phải có khả năng kiến trúc hệ thống mới hay cải tiến hệ thống cũ và đảm bảo rằng tất cả các cấu phần đều làm việc đúng. Họ phải có khả năng thiết kế và phát triển hệ thống và viết mã để thực hiện thiết kế. Họ phải biết cách làm việc theo tổ, có khả năng yêu cầu giúp đỡ khi họ gặp khó khăn. Họ phải có khả năng dùng công cụ phần mềm và quen thuộc với xu hướng trong công nghiệp. Tuy nhiên, điều quan trọng nhất là họ hiểu khái niệm học cả đời vì công nghệ thay đổi thường xuyên.”

Bởi vì ông ấy là giáo sư toán học, cho nên tôi bảo ông ấy: “Câu trả lời cho câu hỏi Kĩ nghệ phần mềm là đơn giản hơn câu hỏi đại số. Khó giải thích nhà toán học rất giỏi đại số có thể làm được gì. Lí do nhiều người tin đây là lĩnh vực khó là ở chỗ, bởi vì thay đổi nhanh chóng trong công nghệ, các sinh viên với đào tạo giới hạn đã có trong quá khứ, và các đại học vẫn hội tụ vào dạy lập trình thay vì qui trình, nhiều sinh viên gặp khó khăn khi họ tốt nghiệp và ra làm việc trong công nghiệp. Điều này không phải bởi vì Kĩ nghệ phần mềm là khó học, nhưng vì khó dạy trong môi trường hàn lâm nơi sinh viên bị buộc học lí thuyết thay vì thực hành.

Phần lớn các đào tạo khoa học máy tính đều hội tụ vào phát triển cá nhân giỏi viết mã nhưng không đào tạo họ làm việc theo tổ. Trong quá khứ khi chương trình còn nhỏ, vài người có thể làm nó một cách dễ dàng nhưng ngày nay các chương trình đang ngày một lớn hơn và bạn cần hàng trăm người làm việc cùng nhau. Điều này yêu cầu nhiều lập kế hoạch, điều phối và quản lí. Độ phức tạp vượt ra ngoài khả năng giải quyết của chúng ta khi chúng xuất hiện. Điều được cần tới là cách có cấu trúc hơn và đó là lí do tại sao qui trình phần mềm và quản lí qui trình được cần tới.

Nếu bạn có hàng trăm người lập trình viết các chương trình riêng của họ, dùng các phương pháp và phong cách khác nhau, không phối hợp lẫn nhau, họ thiết kế như họ nghĩ nó sẽ làm việc thì kết quả sẽ là hỗn độn. Đó là lí do tại sao ngày nay, công nghiệp phần mềm nhấn mạnh và việc thuê kĩ sư phần mềm chứ không phải là sinh viên khoa học máy tính.

English version

Learning software Engineering

During a visit in China last month, a Math professor asked me: “How long does it take to learn software engineering?”

This is NOT a simple question as some of you may think since it came from a math professor so I asked him: “How long does it take for a student to learn algebra?”

He laughed and answered: “It depends on what kind of a basic math does the students have? What do they need to do? What kind of mathematical skills do the students have? Of course, the fundamental algebra is taught in the high school and continues in more advanced concept in the university so the answer could be a few months or few years.

I told him: “Software Engineering is not different from Algebra. I also need to know who the students are and what do they need to do before I can answer the question correctly. If students already have degrees in computer science and a good understanding of computing concepts then I will give you one answer. If students have degrees in other non-technical areas, with no knowledge of computing and little programming language skills then I will give you a different answer. Of course, if students are first year students in university with no knowledge and programming experience, then I will give you another answer”.

He shook his head: “But algebra is taught in high school and Software Engineering is not. They can not be the same”.

I told him: “The fundamental knowledge of computing make Software Engineering easier for some students. People who are already familiar with basic computer, who know how to program will learn Software Engineering faster than others. However, any student in the university whether they study technical or non-technical areas will be able to learn Software Engineering. My view is students who are accustomed to learning new things continuously will learn more quickly because they know how to learn, are not afraid of something new, and have confidence in their ability to learn.

He seemed satisfy: “So Software Engineering is not that difficult as most people say”.

I told him: “There are many misconceptions about Software Engineering. This field of study is NOT different from any other fields such as Mathematics, Physics or even Literature. It is a practical field as compare with Computer Science which concentrates more in theories and programming languages. Software Engineering is focusing more on the concept and process that are being used in industry and it depends on the experiences of the professors. The reason people believe it is difficult because many academic professors do not like to teach something that they do not have experiences and could not explain clearly to the students. I think the learning environment is another important factor in teaching software engineering. To be effective, school must have experienced professors and the better the dedication of the professors, the faster and easier students learn. A good university should foster the learning environment, which addresses the outcomes of the learning process.

He asked: “What do students be able to do after graduated?

I explained: “They should be able to work immediately with minimum training. They should understand all activities in a software company. They should know how to work with customers and understand their needs. They should be able to architect new system or improve old system and make sure that all components are working properly. They should be able to design and develop systems and write code to implement the designs. They should know how to work in team, be able to ask for help when they have difficulty. They should be able to use software tools and familiar with the trends in the industry. However, the most important is they understand the concept of lifelong learning and continue their learning as technology change often.”

Because he is a Math professor, so I told him: “The answer to the Software Engineering question is simpler than the algebra question. It is difficult to explain what a Mathematician who is very good in Algebra can do. The reason many people believe this is a difficult field is that, because of the fast changing in technology, the limited training students have had in the past, and universities are still focusing on teaching programming rather than process, many students are having difficulty when they graduate and work in industry. This is not because Software Engineering is difficult to learn, but because it is difficult to teach in an academic environment where students are force to learn theories rather than practices. Most computer science trainings are focusing on develop individual who are good at coding but not training them to work in team. In the past when programs are small, few people could do it easily but today the programs are getting larger and you need hundred people working together. This requires a lot of planning, coordinating, and managing. Complexity is outpacing our ability to solve problems as they appear. What is needed is a more structured approach and that is why software process and process management are needed. If you have hundred programmers who wrote their own programs, used different methods and styles, do not coordinate with each others, they design as they think it will work then the result would be chaos. That is why today, software industry insists on hiring software engineers rather than computer science students.

 


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

Thiếu hụt kỹ năng công nghệ thông tin

Trong vài năm qua, vấn đề thiếu hụt kĩ năng CNTT thường được nhắc tới ở Mĩ và nó làm khuấy động nhiều cuộc tranh cãi.
2

Công nghệ cao

Trong bài diễn văn hàng năm với quốc hội Mĩ để báo cáo về hoàn cảnh quốc qua và nêu đại cương kế hoạch mà chính phủ Mĩ muốn theo đuổi trong tương lai, tổng thống Barack Obama đã làm nổi bật tiềm năng cho tạo việc làm trong các lĩnh vực công nghệ sinh học và công nghệ thông tin.
3

Cách học tốt hơn

Ngày nay sinh viên đại học có nhiều sao lãng ngăn cản họ học tập.
4

Qui trình đơn giản cho dự án nhỏ

Hôm qua, một sinh viên đã tốt nghiệp vài năm trước tới gặp tôi. Anh ta nói: “Em cần lời khuyên của thầy để thiết lập qui trình tốt nhằm phát triển phần mềm có chất lượng với chi phí thấp nhất có thể được."
5

Đối thoại với sinh viên ở Nam Kinh, Trung Quốc

Tháng trước khi tôi đọc bài giảng ở Nam Kinh, Trung Quốc, tôi có cơ hội nói chuyện với sinh viên đại học và họ hỏi tôi nhiều câu hỏi. Một sinh viên ghi lại nó và công bố nó trong báo trường như sau:

Làm việc cùng nhau

Khi mà thế hệ trẻ hiểu được và đánh giá cao công trình của thế hệ trước, họ có thể tiếp tục nỗ lực để làm cho nền kinh tế mạnh hơn. Chìa khoá cho cả hai thế hệ làm việc với nhau là giáo dục và đào tạo đúng.

Sinh viên kỹ nghệ Ấn Độ

Tờ Thời báo Ấn Độ báo cáo rằng 75% sinh viên kĩ nghệ Ấn Độ thất nghiệp.

Tài năng hàng đầu

Là một phần trong nghiên cứu của mình, tôi tới thăm nhiều công ti hàng đầu để thu thập dữ liệu và gặp gỡ các quan chức điều hành cấp cao để hiểu vấn đề của họ.

Cuộc chiến về tài năng

Vài năm trước tôi đọc cuốn sách có tên “Cuộc chiến về tài năng”, do Michaels Handfield-Jones viết, được Harvard Business School Press xuất bản về cách tiếp cận quản lí mới cho thế kỉ 21.

Quan ngại công nghệ

Tôi tham dự một hội nghị công nghệ ở Anh nơi nhiều công ti đề nghị các kế hoạch dùng công nghệ làm cho trái đất thành chỗ tốt hơn. Đây là “ý tưởng cao quí” nhưng điều tôi bận tâm chính là chi tiết, cho nên tôi muốn chia sẻ mối quan ngại với các bạn.

Học kỹ nghệ phần mềm

Có khác biệt giữa kĩ năng máy tính được dạy ở đại học và kĩ năng được công nghiệp phần mềm cần tới.

Bill Gates nói tại Harvard

Bill Gates trở lại Đại học Harvard để nói chuyện cho một lớp sắp tốt nghiệp và nhận bằng danh dự sau khi bỏ học tại trường 33 năm trước đây để thành lập Microsoft Corp.

Vấn đề với dự án phần mềm lớn

Khi nhiều dự án phần mềm đang ngày càng lớn hơn và phức tạp hơn, kĩ năng và kinh nghiệm của người quản lí càng trở nên quan trọng hơn.

Tiệm bánh nửa đêm

Ở Hwawoldang, mỗi món bánh sẽ giúp người đã khuất tìm lại ký ức, nói lời còn dang dở trước khi đi qua thế giới bên kia. Đó là Tiệm bánh nửa đêm.

TP.HCM, vợ chồng mang "nhà di động" 1,5 tỷ đồng đưa bố mẹ phượt 2.000km

Phong cách sống - Mộc Khải - 02/08/2026 09:00
Mong muốn đưa bố mẹ đi khám phá những vùng đất mới, gia đình chị Đoàn Thanh Giang đã huy động hai chiếc ô tô, trong đó có một "nhà di động", đưa 3 thế hệ rong ruổi hơn 2.000km xuyên miền Bắc.

Tiệm bánh nửa đêm

Tủ sách - FN - 02/08/2026 08:00
Ở Hwawoldang, mỗi món bánh sẽ giúp người đã khuất tìm lại ký ức, nói lời còn dang dở trước khi đi qua thế giới bên kia. Đó là Tiệm bánh nửa đêm.

Đối thoại với sinh viên ở Nam Kinh, Trung Quốc

Blog GS John VU - GS John Vu - 01/08/2026 11:00
Tháng trước khi tôi đọc bài giảng ở Nam Kinh, Trung Quốc, tôi có cơ hội nói chuyện với sinh viên đại học và họ hỏi tôi nhiều câu hỏi. Một sinh viên ghi lại nó và công bố nó trong báo trường như sau:

Sự im lặng là hình thức bác bỏ cao nhất

Suy ngẫm - Tr. Quang - 01/08/2026 10:00
Trong các mối quan hệ giữa người với người, khi đối mặt với mưu mô và những lời vu khống vô căn cứ, phản ứng đầu tiên của hầu hết mọi người là tranh cãi, phản bác và đối đầu trực diện.

Cứ 10 người trẻ Hàn Quốc thì 9 người sợ gặp bạn bè, khi các mối quan hệ thành khoản chi tiêu bị cắt giảm

Phong cách sống - Dun - 01/08/2026 09:00
Khi giá một bữa ăn tăng nhanh hơn thu nhập, thứ bị cắt không phải là món ăn mà là chính cuộc hẹn. Từ Seoul đến New York và Tokyo, "friendflation" đang cho thấy lạm phát không chỉ làm nhẹ giỏ hàng đi chợ mà còn làm nguội đi các mối quan hệ, và với nền kinh tế, đó là cú đòn giáng thẳng vào sức cầu nội địa.

‘Sức mạnh của Đạo’ - Nghệ thuật sống trong dòng chảy của Đạo

Từ sách - Phim - FN - 01/08/2026 08:00
​​​​​​​Trong nhịp sống hiện đại, hội chứng cuồng công việc (workaholism) hay kiệt sức (burnout) đang dần trở thành “căn bệnh thời đại”. Con người bận rộn theo đuổi thành công, không ngừng tối ưu hiệu suất và lấp kín từng khoảng thời gian trong ngày, nhưng lại hiếm khi cảm thấy viên mãn, hạnh phúc trong việc mình làm.

Công nghệ cao

Blog GS John VU - GS John Vu - 31/07/2026 11:00
Trong bài diễn văn hàng năm với quốc hội Mĩ để báo cáo về hoàn cảnh quốc qua và nêu đại cương kế hoạch mà chính phủ Mĩ muốn theo đuổi trong tương lai, tổng thống Barack Obama đã làm nổi bật tiềm năng cho tạo việc làm trong các lĩnh vực công nghệ sinh học và công nghệ thông tin.

Giới khoa học chụp não người đang toan tính trả thù và phát hiện ra thứ đáng sợ hơn cả ma túy

Suy ngẫm - Long Vân - 31/07/2026 10:00
"Quân tử trả thù mười năm chưa muộn", câu nói cửa miệng quen thuộc hóa ra không chỉ đơn thuần là một triết lý sống. Dưới lăng kính của thần kinh học hiện đại, nó là mô tả chính xác về một chu kỳ gây nghiện đáng sợ.

Nhạc sĩ Trần Tiến đi xe ôm lên tận đỉnh núi, ước mơ bỏ hết thế gian

Phong cách sống - Tùng Ninh - 31/07/2026 09:00
"Tôi đi 43 nước, không nước nào thân yêu bằng Việt Nam" – nhạc sĩ Trần Tiến nói.

Thế giới trong giọt nước - Khi những người tử tế không đồng ý với nhau

Từ sách - Phim - Quang Anh - 31/07/2026 08:00
Trong "Thế giới trong giọt nước", Regina Linke không đặt các nhân vật trước lựa chọn giữa thiện và ác. Họ đều muốn giúp một con chim sẻ bị thương, nhưng lại không thống nhất về cách giúp. Cũng từ những bất đồng ấy, câu chuyện không còn chỉ nói về lòng tốt.

Bạn có thể tìm thấy bao nhiêu khuôn mặt trong bức ảnh

Thư giãn - Tr. Quang - 30/07/2026 11:00
Chúng vô cùng khó tìm. Người ta nói rằng chỉ những người có khả năng quan sát cực kỳ tinh tường mới có thể tìm thấy chúng. Liệu bạn có phải là một trong số họ?

Người EQ cao vay tiền như thế nào?

Kỹ năng - Hà Nguyên - 30/07/2026 10:00
Ai cũng có lúc cần vay tiền để giải quyết một việc cấp bách. Nhưng điều khiến một người được tin tưởng không nằm ở số tiền họ vay, mà ở cách họ mở lời, giữ cam kết và ứng xử với khoản tiền mình đang mượn. Đó cũng là một biểu hiện của EQ tài chính.

Hành trình 3.000 km vượt sa mạc đến chiếc huy chương World Cup trên cổ của mẹ Nico Williams

Truyền cảm hứng - Minh Ngọc - 30/07/2026 09:00
Sau khi Tây Ban Nha bước lên ngôi vô địch, cầu thủ 24 tuổi của La Roja đã nhìn lên khán đài rồi tiến thẳng về phía mẹ mình - bà Maria, ôm bà thật chặt rồi tháo chiếc huy chương vô địch vừa nhận được để đeo lên cổ người phụ nữ đã đứng khóc suốt trận đấu.

'Sức mạnh của Đạo' - khi người bận rộn học cách không cản đường chính mình

Từ sách - Phim - Minh Nguyệt - 30/07/2026 08:00
Có những cuốn sách đổi đời người ta không phải bằng một chân lý lớn, mà bằng một tai nạn nhỏ. Với Max Landsberg, đó là một mảnh gỗ nhỏ mắc trong cổ họng vào một tối thứ Sáu — và ba mươi năm để hiểu vì sao mình lại ngồi ăn pizza kiểu ấy.

Lập kế hoạch dự án phần mềm

Blog GS John VU - GS John Vu - 29/07/2026 11:00
Một người phát triển phần mềm tới gặp tôi: “Tôi được đề bạt làm quản lí một dự án nhỏ. Ông chủ của tôi bảo tôi hội tụ vào viết mã chứ KHÔNG lập kế hoạch bởi vì lập kế hoạch là phí thời gian. Viết mã sẽ cho tổ nhiều thời gian hơn để hoàn thành dự án. Câu hỏi của tôi là làm sao lập kế hoạch cho dự án mà không phí thời gian và vẫn đạt tới thành công?”
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