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

GS John Vu21/03/2025 13:00
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 đủ.

Để thành công, họ phải có khả năng làm việc trong tổ, đưa ra việc trình bày, trao đổi ít nhất là trong một ngoại ngữ, và biết cách làm việc với khách hàng để hiểu nhu cầu của họ. Ý tưởng về người lập trình ngồi trước máy tính cả ngày để lập trình là “quan niệm sai” lớn nhất về việc làm phần mềm. Mọi dự án phần mềm đều là nỗ lực tổ và phần lớn công việc phần mềm đều bao gồm trao đổi và tương tác với mọi người.

Với toàn cầu hoá, ngày nay hầu hết các công ti đều không xây dựng phần mềm ở một chỗ, hay một nước nữa. Đa số công việc phần mềm được phân phối toàn cầu dựa trên khái niệm về “xây dựng 24 giờ” hay “phát triển phần mềm toàn cầu” nơi công việc dự án được phân phối cho nhiều tổ, ở nhiều nước hay múi thời gian. Khi tổ này hoàn thành công việc của họ và về nhà thì tổ khác tiếp tục công việc đó cho nên phần mềm có thể được xây dựng “không ngừng”.

Một khái niệm khác được gọi là “Khoán ngoài” nơi một phần của công việc dự án được gửi cho tổ ở nước có chi phí thấp hơn để làm giảm chi phí. Bởi vì việc phân phối này, để thành công người phần mềm phải nói chuyện với khách hàng, nói chuyện với nhau, nói chuyện với người hỗ trợ, nói chuyện với nhà cung cấp v.v. Đó là lí do tại sao kĩ năng ngôn ngữ tốt là bản chất trong công nghiệp phần mềm. Mâu thuẫn với khái niệm mà hầu hết người phần mềm là “hướng nội” và không thích nói chuyện với bất kì ai ngoài máy tính, thực tế người phần mềm nói nhiều hơn hầu hết các việc làm khác.

Bên cạnh các kĩ năng kĩ thuật và trao đổi, người phần mềm phải có kĩ năng tưởng tượng tốt với “bộ não canh tân” mạnh khi họ tạo ra “cái gì đó từ cái không”. Người phần mềm bắt đầu từ một ý tưởng, một khái niệm và dùng các công cụ và ngôn ngữ lập trình để tạo ra “phần mềm” chạy trên “phần cứng” để thực hiện “cái gì đó” cho người khác dùng. Loại công việc này rất đòi hỏi và đặc biệt có sức ép cao vì các dự án thường phải đáp ứng những yêu cầu nào đó trong một thời gian giới hạn. (Năm ngoái, tôi đã tới thăm một công ti trò chơi phần mềm và thấy hàng trăm người làm việc 80-giờ một tuần trong vài năm chỉ để tạo ra trò chơi “Halo 2”.)

Tuỳ theo các kĩ năng có đa dạng ứng dụng phần mềm như:

1)         Phần mềm tính toán cá nhân: Ứng dụng phần mềm chạy trên máy tính cá nhân được dùng cho cá nhân và doanh nghiệp nhỏ như xử lí văn bản, trò chơi hay tài chính cá nhân.

2)         Phần mềm hệ thống: Phần mềm được viết để phục vụ các chương trình khác như hệ điều hành, trình biên dịch, quản lí tệp.

3)         Phần mềm doanh nghiệp: Phần mềm dùng để quản lí hệ thống tin được dùng bên trong công ti để quản lí hoạt động như kế toán, tính lương, và tài chính – Nhiều trong các ứng dụng này có thể là phần mềm bán sẵn (COTS) như Peoplesoft, SAP v.v.

4)         Phần mềm nhúng: Phần mềm nằm thường trú trong bộ nhớ điều khiển các sản phẩm cho việc dùng tiêu thụ và công nghiệp như phần mềm trong lò vi sóng, điện thoại, tivi, robots trong chế tạo, máy bay, rada v.v.

5)         Phần mềm khoa học: Phần mềm tính toán và được dùng cho mục đích khoa học như chế tạo tự động, thiết kế có máy tính hỗ trợ (CAD)

6)         Phần mềm chuyên gia: Tính toán trí tuệ nhân tạo giải quyết các vấn đề phức tạp như qui trình đòi bảo hiểm, động cơ tìm kiếm internetv.v.

Khi công nghệ thay đổi thường xuyên, người công nhân phần mềm tốt phải tập trung vào việc giữ các kĩ năng kĩ thuật của họ mạnh, nhưng cũng đảm bảo họ theo kịp với thay đổi. Để thành công, người phần mềm phải liên tục học những điều mới, phương pháp mới, ngôn ngữ mới, công cụ mới, cũng như học nhiều hơn về kinh doanh nghiệp vụ của công ti. Bằng việc có các kĩ năng này, họ thành có giá trị hơn cho công ti hơn chỉ là viết mã về một gói Java hay vài trăm dòng mã C++.

Người phần mềm tốt thường thăng tiến nghề nghiệp của họ lên các vị trí khác, như người lãnh đạo dự án, kiến trúc sư phần mềm, hay người quản lí dự án khi họ thu được kinh nghiệm trên đường. Bằng việc hiểu công nghệ, học những điều mới nhanh chóng, thường xuyên cải tiến họ có thể áp dụng cả qui trình tư duy logic và sáng tạo để giải quyết các vấn đề doanh nghiệp. Người phần mềm tốt có thể làm bất kì cái gì họ chọn, dù đó là đi vào quản lí hay mở công ti riêng của mình.

English version

Software jobs

Many students believe that by having programming skill such as Java, C, and C++ they could succeed in the software industry. The programming skill is necessary but NOT enough. To succeed, they must be able to work in teams, provide presentations, communicate at least, one foreign language, and know how to work with customers to understand their needs. The idea that programmer sits in front of computer all day to do programming is the biggest “misconception” about software jobs. Every software project is a team effort and a large part of software works involves communicating and interacting with people.

With globalization, today most companies do not build software in one location, or one country anymore. The majority of software works are distributed globally based on the concept of “24 hours build” or “Global software development” where project work is distributed to several teams, located in several countries or time zones. When one team completes their works and goes home then the other team continues that works so software can be build “Non-stop”. Another concept is called “Outsourcing” where part of the project works is sent to team in lower cost countries to reduce the cost. Because of the distribution, to succeed software people must talk to customers, talk with each other, talk to support personnel, talk to suppliers etc. That is why a good foreign language skill is essential in software industry. Contradict to the notion that most software people are “Introvert” and do not like to talk to anyone but the computer, actually software people talk more than most other jobs.

Beside technical and communication skills, software people must have good imagination skills with strong “innovation brain” as they are creating “Something from nothing”. Software people starts with an idea, a concept and using tools and programming language to create “software” that runs on “Hardware” to perform “something” for others to use. This kind of work is very demanding and especially high-pressure as projects often have to meet certain requirements within a limited time. (Last year, I visited a software game company and saw hundreds people work 80-hour weeks for several years just to create the “Halo 2” games).

Depending on the skills there are varieties of software applications such as:

1)     Personal Computing Software: Software applications that runs on personal computer used for personal and small business such as world processing, games or personal finance.

2)     System software: Software written to service other programs such as operating systems, compilers, file management.

3)     Business software: Software use to manage information systems used within a company to manage operations such as accounting, payroll, and finance – Many of these applications can be Commercial off the shelves (COTS) such as Peoplesoft, SAP etc.

4)     Embedded software: Software residing in memory that controls products for consumers and industrial use such as software in microwaves, phone, TV, robots in manufactures, airplanes, radars etc.

5)     Scientific software: Software that calculate and used for scientific purposes such as automated manufacturing, Computer aided design (CAD)

6)     Expert software: Artificial intelligence computing that solves complex problems such as Insurance claim processing, internet search engines etc.

As technology changes often, a good software worker must focus not only on keeping their technical skills strong, but also on ensuring they are keeping up with changes. To succeed, software people must continue to learn new things, new method, new languages, new tools, as well as, learn more about the business of the company. By having these skills, they are more valuable to the company than just coding one more Java package or a few hundred line of C++ code. Good software people often advancing their careers onto other positions, such as a project leaders, software architects, or project manager as they gaining experience along the way. By understand technology, learn new things quick, constantly improving they can apply both logical thought processes and creativity to solve business problems. Good software people can do anything they choose, whether it’s moving into management or open their own companies.

 


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

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:

Giáo dục công nghệ

Một người bạn cũ viết cho tôi: “Tôi biết rằng giáo dục công nghệ là tốt nhưng nước chúng ta nghèo... Xã hội nông nghiệp là cách sống của chúng ta và chúng ta phải vẫn còn theo cách đó.”

Cái nhìn mới về toàn cầu hoá

Có những vấn đề với toàn cầu hoá, một số người nói nó chưa xảy ra, số khác tin nó đang xảy ra.

Chuyên nghiệp phần mềm

Một số trong các bạn hỏi tôi về từ “kĩ sư phần mềm chuyên nghiệp” mà tôi thường dùng cho nên tôi giải thích nó ở đây:

Giáo sư John Vu: Trí tuệ nhân tạo có thể thay đổi thế giới, nhưng giáo dục mới quyết định tương lai loài người

Cuộc trò chuyện giữa giáo sư John Vu và chuyên gia tại đại học Carnegie Mellon đã cho thấy trí tuệ nhân tạo có thể thay đổi thế giới nhưng đạo đức và giáo dục mới là nhân tố quan trọng quyết định tương lai của loài người.

Việc làm với toàn cầu

Một số trong các bạn đã hỏi tôi làm sao kiếm được việc làm, đặc biệt với các công ti toàn cầu vì các bạn đã đọc trong blog của tôi rằng nhiều công ti tuyển người phần mềm ở hải ngoại.

Kỹ năng của nhà doanh nghiệp

Blog GS John VU - GS John Vu - 14/07/2026 11:00
Tuần trước trong lớp, một sinh viên đã hỏi tôi: “Em muốn là một nhà doanh nghiệp như Steve Jobs hay Bill Gates và bắt đầu công ti riêng của em. Em cần làm gì để biết trước khi em tốt nghiệp?” Đột nhiên, vài sinh viên cũng muốn biết cách bắt đầu công ti riêng của họ. Dường như là mọi người đều muốn là ông chủ riêng của họ thay vì làm việc cho ai đó khác.

Những cải tiến quan trọng về AI và đồng bộ dữ liệu

Kỹ năng - 14/07/2026 10:00
Theo Zalo, các tính năng Dịch AI, AI Agent, đồng bộ dữ liệu hiện đang mở thử nghiệm cho người dùng từ tháng 7 và sẽ sớm được phổ biến đến toàn bộ người dùng.

AI tranh việc, đất sống nào cho người làm nghề thiết kế?

Phong cách sống - Đoàn Thủy - Việt Anh - 14/07/2026 09:00
Mất dự án vì khách chọn AI, bị khách dùng AI nhận xét sản phẩm, đó là những gì người làm thiết kế đang đối mặt. Trước làn sóng công nghệ, người làm nghề phải tìm lời giải cho giá trị của chính mình.

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