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

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ó.
2

Điều nước Mỹ cần

Theo báo cáo của chính phủ Mĩ, trong năm thứ hai liên tiếp, kĩ sư phần mềm là việc làm số một ở Mĩ.
3

Kỹ nghệ phần mềm và khoa học máy tính

Một sinh viên hỏi tôi: “Tại sao tôi cần học Kĩ nghệ phần mềm thay vì Khoa học máy tính? Sau rốt, chúng là như nhau và sau khi tốt nghiệp đằng nào chúng tôi cũng sẽ làm việc trong công nghiệp phần mềm?”
4

Tri thức và kỹ năng

Tuần trước, tôi đã thảo luận với sinh viên về kĩ năng mà công nghiệp phần mềm cần. Khi tôi bảo họ rằng có nhiều việc làm cho xây dựng ứng dụng di động và làm việc với các ứng dụng bán sẵn trên thị trường Commercial Off The Shelf (COTS) như SAP và PeopleSoft, một sinh viên lập tức lên tiếng lo ngại rằng những điều đó không được dạy trong trường.
5

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

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.

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

Blog GS John VU - GS John Vu - 20/06/2026 12:00
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?”

‘Thuật nhìn người’ của Gia Cát Lượng: Quan sát 7 điều, người tài - người tệ không thể che giấu!

Kỹ năng - Diệu Đan - 20/06/2026 11:00
7 tiêu chí nhìn người của Gia Cát Lượng không chỉ đúng trong việc chọn tướng thời loạn, mà còn là kim chỉ nam hữu ích trong thời hiện đại khi quản trị nhân sự, kinh doanh ngày nay.

Bộ não của bạn đạt đỉnh cao ở độ tuổi nào?

Suy ngẫm - Phạm Hường - 20/06/2026 10:00
Khi tuổi trẻ dần trôi vào dĩ vãng, bạn có thể bắt đầu lo sợ về tuổi già, nhưng nghiên cứu cho biết nhiều người trong chúng ta, chức năng tâm lý tổng thể thực sự đạt đỉnh điểm ở độ tuổi từ 55 đến 60.

CEO Nvidia hé lộ bí mật thành công trong sự nghiệp của một con người

Phong cách sống - Mai Trang - 20/06/2026 09:00
Đó là hãy học cách yêu công việc mình đang làm thay bằng tìm kiếm công việc mình yêu thích.

Trạm dừng sinh tử: Quan sát trung thực về những cuộc gặp gỡ trong giây phút cuối cùng

Từ sách - Phim - TĐ - 20/06/2026 08:00
Có một câu hỏi mà hầu hết chúng ta đều né tránh suốt cả cuộc đời: điều gì xảy ra sau khi chúng ta chết?

Lập mục đích

Blog GS John VU - GS John Vu - 19/06/2026 12:00
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?

Tâm lý CEO: Nghệ thuật giữ bình tĩnh, ra quyết định và dẫn dắt trong áp lực

Kỹ năng - Vũ Anh - 19/06/2026 11:00
Giữ được sự minh mẫn, kiểm soát cảm xúc và ra quyết định tỉnh táo trong khủng hoảng — đó là “môn võ thượng thừa” mà không trường lớp nào có thể dạy.

"Thần đồng" Đại học Thanh Hoa, 49 tuổi vẫn thất nghiệp: Khi ra tới biển lớn, mới biết bản thân chỉ là hạt cát nhỏ

Suy ngẫm - Nguyễn Phượng - 19/06/2026 10:00
Khi vào đại học Thanh Hoa, nam sinh được mệnh danh là "thần đồng" mới biết còn nhiều người giỏi hơn mình.

Con trai duy nhất của Gia Cát Lượng vì sao không thể nối nghiệp cha?

Phong cách sống - Linh Lan - 19/06/2026 09:00
Gia Cát Lượng chỉ có một con trai ruột, rất thông tuệ và sớm được trọng dụng, nhưng "bên ngoài chẳng giúp được quốc gia, bên trong chẳng thể thay đổi triều chính".

Minh triết từ nỗi bất an - Khi hiểu biết làm con người mệt mỏi hơn

Từ sách - Phim - Bảo Lam - 19/06/2026 08:00
Trong “Minh triết từ nỗi bất an”, Alan Watts viết về một nghịch lý rất gần với con người hiện đại: càng cố hiểu, cố dự đoán và kiểm soát đời sống để thấy an toàn, ta lại càng dễ mắc kẹt trong lo âu.

Công nghệ và cơ hội

Blog GS John VU - GS John Vu - 18/06/2026 12:00
Nếu chúng ta nhìn lại thành tựu của công nghệ, chúng ta sẽ ngạc nhiên về tiến bộ đã được thực hiện.

Warren Buffett tiết lộ nguyên tắc vàng, đảm bảo sự thành công bền vững

Phong cách sống - Thiên Di - 18/06/2026 11:41
Bên cạnh những phân tích sắc sảo về báo cáo tài chính hay các thương vụ đầu tư trị giá hàng tỷ USD, huyền thoại Warren Buffett mới đây đã chia sẻ về một triết lý sống cốt lõi mà ông cho rằng là chìa khóa để duy trì sự thành công và bền vững cho mọi tổ chức.

Sắp phát hành: Sức mạnh của nghỉ ngơi

Tủ sách - FN - 18/06/2026 08:00
Chúng ta thường nghĩ rằng nghỉ ngơi là ngủ một giấc, nằm yên một lúc, tạm rời công việc rồi cơ thể sẽ tự hồi phục lại. Nhưng có lúc ta ngủ đủ mà vẫn thức dậy trong trạng thái nặng nề. Cơ thể có thể không quá mỏi, nhưng đầu óc vẫn quay cuồng; ta vẫn thấy mình phải trả lời tin nhắn, phải tỏ ra ổn, phải chiều lòng người khác, phải tiếp tục.

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

Blog GS John VU - GS John Vu - 17/06/2026 12:00
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ó.

Người già khôn ngoan thường giả bộ 3 điều này với con cái

Kỹ năng - Thanh Hương - 17/06/2026 11:00
Có những thứ nên giả bộ cho qua
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