Bạn thực sự cần gì?

GS John Vu20/05/2026 13:00
Bạn thực sự cần gì?

Trong vài tuần qua sau khi năm học mới bắt đầu, nhiều sinh viên “năm thứ nhất” tới hỏi tôi: “Là sinh viên phần mềm, em cần học môn nào trước khi lấy bằng tốt nghiệp? Em có cần học các lớp không phải máy tính để cho em có thể có việc làm tốt khi em tốt nghiệp không?”

Thông thường bạn nhận được loại câu hỏi này từ sinh viên năm thứ ba, KHÔNG phải là ai đó mới bắt đầu vào trường vài tuần trước. Dường như là sau cuộc khủng hoảng tài chính, sinh viên đang chú ý nhiều hơn tới chọn lựa về học tập của họ và tới thị trường việc làm hơn là trước đây.

Sau đây là gợi ý của tôi:

“Có vài môn ngôn ngữ lập trình mà bạn có thể học. Phần lớn các sinh viên bắt đầu với Java hay C++ nhưng nếu tôi là bạn, tôi sẽ lấy lớp học lập trình C trước tiên. Tôi hiểu rằng thị trường ngày nay phần lớn yêu cầu các ngôn ngữ Java, C++, và C# nhưng C có ưu thế mà các ngôn ngữ khác không có. Theo quan điểm của tôi, C là nền tảng cho lập trình vì nó gần với phần cứng hơn các ngôn ngữ khác. Khi hệ thông tin ngày càng lớn hơn và phức tạp hơn, bạn quả có cần phát triển mã hiệu quả, đặc biệt trong phần mềm nhúng, cho nên bạn phải biết C. Ngôn ngữ này sẽ cho phép bạn đi vào mức trình biên dịch và hệ điều hành để đảm bảo rằng mã làm việc tốt. Nếu bạn có thể làm chủ ngôn ngữ lập trình C, C++, C# và Java sẽ dễ học hơn nhiều.”

“Bên cạnh ngôn ngữ lập trình chính là nền tảng của khoa học máy tính, kĩ nghệ phần mềm và quản lí hệ thông tin, bạn phải biết rõ vòng đời phát triển phần mềm. Bạn phải hiểu khác biệt giữa vòng đời Thác đổ, vòng đời Xoáy ốc, vòng đời Phát triển gia tăng v.v. và biết vòng đời nào là phù hợp cho dự án đặc thù nào. Bạn nên hội tụ vào đầu thượng của vòng đời bằng việc lấy môn kĩ nghệ yêu cầu và môn kiến trúc và thiết kế trước khi tốt nghiệp và xây dựng kĩ năng của bạn trong việc thu lấy và phân tích yêu cầu người dùng. Nhiều sinh viên ưa thích dành nỗ lực của họ vào đầu hạ của vòng đợi bằng việc học nhiều về các môn viết mã và kiểm thử. Tôi biết rằng sinh viên không thích môn kĩ nghệ yêu cầu hay môn kiến trúc & thiết kế vì họ nghĩ chúng không “đủ kĩ thuật” khi so với các môn Java hay C++. Ngược lại, khi họ làm việc, họ sẽ biết rằng yêu cầu và kiến trúc là kĩ năng quan trọng nhất mà công nghiệp cần. Bởi vì những môn này hội tụ chủ yếu vào trao đổi với người dùng và khách hàng cho nên sinh viên cần học chúng đủ nghiêm túc.”

“Với một số sinh viên, “việc làm lí tưởng” là việc làm cho phép họ viết mã. Nhiều người KHÔNG thích nói chuyện với người khác, nếu họ phải nói thì gửi văn bản tin nhắn và email là chọn lựa của họ. Trong công nghiệp, người có quyền lực nhất và có ảnh hưởng tới người khác và rất có thể được đề bạt làm người quản lí là người có thể trao đổi rõ ràng và thoải mái với khách hàng. Điều then chốt trong chọn người quản lí dự án là KHÔNG dựa vào bao nhiêu ngôn ngữ lập trình mà người đó biết, bao nhiêu dòng mã người đó có thể sinh ra trong một giờ, mà là người đó có thể trao đổi tốt tới đâu. Bằng việc hiểu nhu cầu của khách hàng và có khả năng viết chúng ra một cách rõ ràng trong đặc tả yêu cầu, họ cho phép người khác làm công việc và lập trình mã của họ một cách đúng đắn. Với yêu cầu được viết ra kém và thường xuyên thay đổi, mã hoàn hảo là vô giá trị. Bằng cách kiến trúc và thiết kế tốt, họ cho phép người khác hình dung ra mã của họ được giả định làm gì, họ phải thực hiện hàm nào trước, và họ phải xem xét tới thuộc tính chất lượng nào để xây dựng phần mềm tương ứng. Với kiến trúc và thiết kế tồi, mã tốt chả có giá trị gì.”

“Nhiều đại học có đưa ra các lớp “viết tài liệu kĩ thuật” và bạn nên học chúng. Tôi biết rằng các lớp này yêu cầu viết nhiều nhưng bạn cần phát triển kĩ năng viết cho dù bạn làm việc trong lĩnh vực kĩ thuật. Có nhiều việc đọc, viết và trao đổi trong công nghiệp phần mềm hơn là bạn có thể hình dung cho nên bạn cần phát triển những kĩ năng này bất kì khi nào bạn có thể làm. Nhiều công ti phần mềm KHÔNG thuê người phát triển chừng nào họ không thể đọc, viết và trao đổi tốt bằng việc biểu lộ điều đó trong các cuộc phỏng vấn việc làm. Kĩ năng rất quan trọng khác mà bạn cũng phải có là biết ít nhất một ngoại ngữ như tiếng Anh.”

“Là sinh viên kĩ thuật, bạn có lẽ không lấy các môn về doanh nghiệp, kinh doanh. Đây là một sai lầm lớn, mặc dầu trường có thể KHÔNG yêu cầu nó. Tôi gợi ý rằng bạn nên lấy các môn doanh nghiệp cơ sở để cho bạn hiểu khái niệm về các qui tắc kế toán, tài chính và doanh nghiệp như cung và cầu, ưu thế cạnh tranh, giá trị doanh nghiệp v.v.. cho nên bạn sẽ biết cách doanh nghiệp làm việc bởi vì một ngày nào đó bạn có thể trở thành người quản lí dự án, người quản lí chương trình, giám đốc thông tin (CIO) và có thể sở hữu công ti riêng của mình và bạn phải có những kĩ năng này. Ngày nay, kĩ năng kĩ thuật là KHÔNG đủ, bạn phải có kĩ năng doanh nghiệp để sống còn trong môi trường cạnh tranh cao này.”

“Để có được việc làm tốt hơn khi tốt nghiệp bạn cần biết rằng phần lớn các công ti phần mềm KHÔNG chỉ nhìn vào thành tựu hàn lâm mà còn vào cả các hoạt động “phi hàn lâm”. Kinh nghiệm là yếu tố cốt yếu trong quyết định thuê người cho nên thay vì tận hưởng vài tháng nghỉ ở nhà và tận hưởng những bữa ăn do mẹ nấu, bạn nên làm việc mùa hè để thu được kinh nghiệm dù bạn có được trả lương hay không. Công việc mùa hè tốt nhất là làm việc tập trung tại công ti phần mềm nơi bạn học nhiều hơn về tương lai cũng như công ti biết điều gì đó về bạn. Nếu bạn không thể tìm được việc làm với công ti phần mềm thì bất kì việc gì với công ti không phần mềm cũng sẽ tốt, miễn là bạn thu được cái gì đó liên quan tới lĩnh vực học tập của mình. Bạn có thể thiết kế website cho ngân hàng địa phương, lập trình cho ứng dụng cho doanh nghiệp xuất/nhập khẩu nhỏ v.v. bất kì cái gì giúp bạn đưa vào bản lí lịch của mình rằng bạn có kinh nghiệm làm việc. Là sinh viên công nghệ thông tin, sai lầm lớn nhất bạn có thể mắc là làm bất kì loại việc nào trong mùa hè không liên quan tới lĩnh vực của bạn cho dù bạn có thể làm ra nhiều tiền. Tôi biết việc bán hàng trả nhiều tiền hơn và bạn có thể ăn mặc đẹp trong văn phòng thuyết phục mọi người mua cái gì đó nhưng bạn sẽ đưa vào bản lí lịch của mình cái gì khi bạn tốt nghiệp? Bạn có cho rằng công ti phần mềm sẽ chọn một ứng cử viên với bản lí lịch liệt kê: “bán tủ lạnh, bán ti vi và DVDs, bán quần áo” hay bản lí lịch liệt kê rằng: “Lập trình cho ứng dụng kế toán cho doanh nghiệp nhỏ, thiết kế website cho ngân hàng địa phương nhỏ.”

English version

What do you really need?

In the past few weeks after the new school year started, several “first-year” students came to ask me: “As a Software students, what courses do I need to take before graduation? What other non-computer classes that I need to take so I can have good job when I graduate?”. Usually you receive this kind of questions from third year students, NOT someone just start school few weeks ago. It seems that after the financial crisis, students are paying more attention to their choices of study and the job market than ever before. Following are my suggestions:

“There are several programming languages courses that you could take. Most students start with Java or C++ but if I were you, I would take the C programming class first. I understand that today market requires mostly Java, C++, and C# languages but C has the advantages that others do not. From my view, C is the foundation of programming because it is closer to the hardware than other languages. As information systems are getting larger and more complex, you do need to develop efficient code, especially in the embedded software, so you must know C. This language will allow you to go to the level of compilers and operating systems to ensure that the code works well. If you can master C programming language, C++, C# and Java would be much easier to learn”.

“Beside programming language which is the foundation of Computer Science, Software Engineering and Information System Management, you must know the software development life cycle well. You must understand the differences between the Waterfall lifecycle, the Spiral Lifecycle, the Incremental Built Lifecycle, etc. and know which one would be suitable for which particular project. You should focus on the front-end of the lifecycle by taking the requirements engineering and the architect and design courses before graduate and build your skills in obtaining and analyzing users’ requirements. Many students prefer to spend their efforts on the back-end of the Lifecycle by taking more coding and testing courses. I know that students do not like the requirements engineering course or the architect & design course because they think they are not “Technical enough” as compare with the Java or C++ courses. On the contrary, when they work, they will learn that requirements and architect are the most important skills that the industry need. Because these courses focus mostly on communication with users and customers so students do take them seriously enough”

“To some students, the “ideal job” is the job that allows them to write code. Many do NOT like to talk to people, if they have to, texting and email are their choices. In the industry, the person that have the most power and influence over others and likely being promoted to manager is the one who can communicate clearly and comfortably with customers. The key in selecting project manager is NOT on how many programming languages a person know, how many lines of code a person can generate in an hour, but how well can a person communicate. By understand what customers’ needs and be able to write them clearly in requirements specs, they allow others to do their works and program their codes correctly. With poorly written and constantly change requirements, perfect code is worthless. By architect and design well, they allow others to figure out what their code is supposed to do, which function they must implement first, and what quality attributes they must consider to build their software accordingly. With bad architect and design, good code has no value”.

“Many colleges do offer classes in “Technical writing” and you should take them. I know that these classes require a lot of writings but you do need to develop writing skill even you work in the technical field. There are so many readings, writings and communicating in the software industry than you can imagine so you need to develop these skills whenever you can. Many software companies do NOT  hire developers unless they can read, write, and communication well by demonstrate them during job interviews. Another very important skill that you also must have is knowing at least one foreign language such as English”.

“As technical students, you probably do not have to take business courses. This is a big mistake, although the school may NOT require it. I do suggest that you take some basic business courses so you understand the concept of accounting, finance and business rules such as supply and demand, competitive advantage, business values etc. so you will know how the business works because someday you may become project managers, product managers, Chief Information Officers (CIO) and maybe own a company and you must have these knowledge. Today, technical skill is NOT enough, you must also have business skill to survive in this highly competitive environment”.

“To get a better jobs when graduate you need to know that most software companies do NOT only look at academic achievement but also “Non-academic” activities. Experience is critical factor in the hiring decision so instead of enjoy few months vacation at home and enjoy mother’s cooking meals, you should work in the summer to get the experience whether you get pay or not. The best summer job is the internship at a software company where you learn more about your future prospective as well as the company know something about you. If you cannot find jobs with software company then any works with non-software companies would be fine, as long as you are gaining something relate to your field of study. You may design a website for a local Bank, program an application for a small import/export business etc. anything that help you to put in your resume that you have work experiences. As information technology students, the biggest mistake you can make is to take any kind of job in the summer that is not relate to your field even you may make more money. I know sale jobs pay more and you can dress nicely in an office convincing people to buy something but what do you put on your resume when you graduate? Do you think a software company would select a candidate with a resume that lists: “selling refrigerators, selling TV and DVDs, selling clothes” or a resume that lists: “Programming a accounting application for a small business, design a website for a small local bank”

 


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

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ì.
3

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?”
4

Quy trình phần mềm

Tôi nhận được một email mà người gửi hỏi: “Khác biệt giữa qui trình phần mềm và qui trình được xác định là gì? Khác biệt giữ qui trình được xác định và qui trình cá nhân là gì?”
5

Dự án phần mềm thành công

Một sinh viên hỏi tôi: Làm sao thầy biết liệu dự án phần mềm là thành công hay không? Nếu phần mềm chạy tốt, nó có là thành công không? Nếu mã qua được mọi kiểm thử nó có là thành công không?”

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

Khi năm học mới bắt đầu với sinh viên mới vào đại học, mọi người đều muốn thành công và có tương lai tốt hơn.

Lời khuyên từ người quản lí thuê người

David là giám đốc cấp cao của công ti phần mềm toàn cầu, chịu trách nhiệm về tuyển mộ người. Mỗi năm, công ti ông ấy thuê quãng 6,000 tới 12,000 người phần mềm trên khắp thế giới cho nên tôi mời ông ấy tới cho bài giảng về thị trường việc làm toàn cầu hiện thời cho lớp của tôi nơi sinh viên có thể hiểu ông ấy các câu hỏi.

Thị trường khoán ngoài công nghệ thông tin

Tuần trước, hãng nghiên cứu công nghệ thông tin (CNTT) Capgemini đã đưa ra một nghiên cứu về trạng thái của khoán ngoài CNTT nơi họ đã làm cuộc điều tra hơn một nghìn quan chức điều hành của các công ti hàng đầu toàn cầu.

Đối thoại ở Brazil

Tuần trước, tôi đã tham dự một cuộc hội nghĩ kĩ nghệ phần mềm ở Brazil. Đây là lần đầu tiên tôi tới thăm nước này, cho nên tôi muốn chia sẻ với các bạn một số ấn tượng của tôi.

Lời khuyên của Bill Gates cho học sinh phổ thông

Lời khuyên của Bill Gates cho học sinh phổ thông

Thế lưỡng nan trong tìm việc làm

Tuần trước, một sinh viên đã hỏi tôi: “Trong thời đi xuống của kinh tế này, người ta không thể có được việc làm nếu không có kinh nghiệm, nhưng người ta không thể có được kinh nghiệm nếu không có việc làm. Vậy chúng tôi có thể làm được gì?”

Khoa học máy tính được Quốc hội Mỹ thừa nhận

ACM (Hội máy tính) và nhiều công ti tính toán lớn đã ca ngợi việc thông qua nghị quyết của Thượng viện Mĩ để nâng hồ sơ khoa học máy tính là ngành công nghiệp gây biến đổi dẫn lái cho canh tân công nghệ và thúc đẩy năng suất kinh tế.

Phát triển trò chơi máy tính

Roger là một sinh viên của tôi đã tốt nghiệp và làm việc cho một công ti trò chơi máy tính. Anh ấy là một trong những người phát triển chính cho trò chơi có tên “Halo”. Tuần trước anh ấy quay về CMU để tuyển sinh viên cho công ti của anh ấy. Tôi mời anh ấy tới nói chuyện cho lớp của tôi liên quan tới kinh nghiệm của anh ấy trong công nghiệp trò chơi máy tính.

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

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.

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.

‘Không khóc giữa nhân gian’ - Học cách bình yên đi qua nỗi buồn

Từ sách - Phim - FN - 10/07/2026 08:00
​​​​​​​Chúng ta lầm tưởng rằng sở hữu càng nhiều thì càng hạnh phúc, nhưng đâu ngờ càng nắm chặt, càng mong cầu thì khổ lụy càng chất chồng.

Cách đo

Blog GS John VU - 09/07/2026 11:00
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?”

Bạn không cần phải hòa hợp với tất cả mọi người

Suy ngẫm - PV - 09/07/2026 10:00
Bạn không cần phải hòa hợp với tất cả mọi người, và thậm chí bạn cũng không cần phải chú ý đến hầu hết mọi người.

Khương Bình, người từng được ca ngợi là "thiên tài toán học" và điều đáng để suy ngẫm

Phong cách sống - PV - 09/07/2026 09:00
Không có tin vui nhận giải, cũng chẳng có tranh cãi mới, chỉ một đoạn video ghi lại cảnh doanh nghiệp địa phương đến tận nhà thăm hỏi đã một lần nữa kéo cô gái từng đứng nơi đầu sóng ngọn gió dư luận này quay trở lại trong tầm mắt của công chúng.

Không khóc giữa nhân gian - Chỉ cần sống thật với mình

Từ sách - Phim - PV - 09/07/2026 08:00
Đôi khi, ta phải chọn buông tay ai đó – không phải vì hết thương, mà để vá lại những niềm tin rách rưới trong cuộc đời mình.

Vòng đời kiểm thử

Blog GS John VU - GS John Vu - 08/07/2026 11:00
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.

Giàu có và đẹp trai, vậy mà vẫn không thể chinh phục được trái tim cô ấy

Suy ngẫm - PV - 08/07/2026 10:00
Đừng ngây thơ. Không phải bạn không đủ tốt, mà là bạn chưa nắm bắt được ba điểm mấu chốt này.

Sống với nghề viết thuê hơn 100.000 lá thư suốt 59 năm

Phong cách sống - Nguyệt Anh - 08/07/2026 09:00
Gần 60 năm qua, ông Jiang Mingdian (Trung Quốc) đã viết hơn 100.000 lá thư thay cho các gia đình có người thân ở nước ngoài, trở thành một trong những người viết thư thuê cuối cùng còn hoạt độ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