Người lập trình hay người phát triển

GS John Vu25/09/2025 13:00
Người lập trình hay người phát triển

Tuần trước tôi nhận được một email hỏi: “Khác biệt giữa người lập trình và người phát triển phần mềm là gì? Người lập trình có thể trở thành người phát triển được không?

Theo “quan điểm thuần tuý”, “người lập trình” là ai đó chỉ viết mã và kiểm thử mã riêng của họ để sửa lỗi. Người lập trình KHÔNG làm việc với khách hàng hay người dùng để viết yêu cầu. Người lập trình KHÔNG giúp kiểm thử hay các trường hợp kiểm thử tự động cho hệ thống. Người lập trình KHÔNG xây dựng hệ thống hay cập nhật hệ thống. Người lập trình KHÔNG viết tài liệu. Mọi điều họ làm là viết mã. Nhiều người lập trình có thể có hay KHÔNG có bằng cử nhân: một số người có thể học vài lớp lập trình ở trường đào tạo đặc biệt. Một số công ti sẽ thuê loại người lập trình này để viết mã bởi vì họ không yêu cầu lương cao và họ không thể đổi việc thường xuyên vì việc làm của họ rất bị giới hạn. Theo ý kiến tôi, người lập trình KHÔNG phải là chọn lựa tốt vì triển vọng tương lai là rất hạn hẹp.

“Người phát triển phần mềm” là ai đó đóng góp theo nhiều cách để làm cho sản phẩm phần mềm thành công. Người phát triển PHẢI LÀ người lập trình trước hết nhưng cũng còn dính dáng tới các khu vực khác như làm việc với khách hàng và người dùng để viết yêu cầu, viết trường hợp kiểm thử cho hệ thống phần mềm, kiểm điểm mã từ người khác, hỗ trợ viết tài liệu, kiểm soát thay đổi với phần mềm bằng việc làm quản lí cấu hình, và nhiều điều nữa. Người phát triển phần mềm có cảnh quan rộng hơn nhiều và có khả năng nhìn bức tranh lớn hơn của toàn thể dự án khi người lập trình chỉ viết mã. Phần lớn việc làm đối với người phát triển phần mềm ở Mĩ và châu Âu đều yêu cầu bằng cử nhân từ đại học được công nhận chính thức.

Tôi KHÔNG tin vào quyết định cô lập người lập trình với mọi thứ mà chỉ có viết mã. Người lập trình phải KHÔNG có cảnh quan hẹp.  Họ CẦN đào tạo để làm cho họ thấy cảnh quan lớn hơn của hệ thống phần mềm. Họ NÊN làm việc với khách hàng và người dùng và đóng góp nhiều hơn cho dự án. Tôi tin người lập trình nên lấy nhiều đào tạo hơn để LÀ người phát triển phần mềm. Có hai lí do mà người lập trình vẫn còn chỉ viết mã: Họ thích viết mã và không muốn làm cái gì khác – đó là chọn lựa của họ. Họ KHÔNG nhận giáo dục và đào tạo đúng vì công ti muốn lấy ưu thế của những người không có giáo dục chính thức hay bằng cấp cho nên công ti có thể trả lương thấp cho họ.

Trong cuộc thăm viếng Ấn Độ năm ngoái, một người quản lí nói với tôi: “Những người lập trình của chúng tôi không biết cách làm các thứ khác và đó là lí do tại sao họ chỉ viết mã.” Tôi hỏi ông ấy: “Ông có chắc đó là điều họ muốn không, nếu họ không biết cách làm các khía cạnh phi mã thì sao ông không dạy cho họ?” Người quản lí này giải thích: “Tại chúng tôi đào tạo cho họ thì họ có thể tìm được việc tốt hơn sao? Với đào tạo hạn chế, họ phải ở lại đây chứ” Tôi không muốn nói gì hơn nữa bởi vì tôi biết rằng công ti này đã trả lương rất thấp cho những người không có giáo dục đại học và đó là lí do tại sao phần lớn người lập trình chỉ viết mã và không làm gì khác. KHÔNG phải là họ không thể làm được gì khác. Chính “kinh doanh tốt” là giữ họ theo cách đó.

Trên khắp Ấn Độ, có hàng nghìn trường đào tạo đặc biệt dạy ngôn ngữ lập trình hay vài chứng chỉ trong các hệ thống đặc biệt, họ KHÔNG yêu cầu bất kì giáo dục nào cho nên họ làm tiền bằng việc tạo ra hàng trăm nghìn người lập trình chỉ có tri thức giới hạn về phần mềm. Những người này KHÔNG có mấy tương lai vì các ngôn ngữ lập trình sẽ thay đổi khi kĩ năng của họ bị giới hạn. Vài năm trước, COBOL và ngôn ngữ Pascal là nóng, nhưng thế rồi tới C và C++, và ngày nay có Java, C#, Ruby và nhiều nữa. Nếu kĩ năng của bạn là trong COBOL và bạn có thể thấy rằng nó không còn được cần tới nữa và bạn có thể không có khả năng tìm ra việc làm. Tất nhiên, có một số người lập trình không muốn làm các thứ khác. Họ chỉ muốn viết mã và hạnh phúc với nghề của mình. Tuy nhiên, tôi tin nếu họ biết rõ hơn, nếu họ có thể thấy mọi khả năng, họ có thể đổi ý.

Đào tạo chính thức ở đại học là rất quan trọng cho những người muốn có nghề nghiệp tốt. Người phát triển tốt có kĩ năng giỏi là quí giá. Với việc thiếu hụt trầm trọng hiện thời về kĩ năng phần mềm trên khắp thế giới, triển vọng là rất tốt để kiếm việc tốt với lương tốt. Nếu bạn là người lập trình và muốn là người phát triển, bạn có thể cần một số tri thức và đào tạo về kĩ nghệ yêu cầu, làm tài liệu yêu cầu, quản lí cấu hình, kiểm điểm mã, kiểm thử, kiểm thử tự động, kiểm thử tích hợp, và hiểu vòng đời phần mềm và một số phương pháp như Agile (Scrum hay lập trình cực đoan) cũng như quen thuộc với một số công cụ phần mềm.

English version

Programmer or Developer

Last week, I received an email asking: “What is the different between a programmer and a software developer? Can a programmer become a developer?

From the “Pure view”, “programmer” is someone who only code and tests their own code to fix defects. Programmer does NOT work with customers or users to write requirements. Programmer does NOT help with testing or write automated test cases for the system. Programmer does NOT build system or update system. Programmer does NOT write documentation. All they do is write code. Many programmers may or may NOT have Bachelor degree; some may only take few programming classes in special training schools. Some companies would hire this kind of programmer to code because they do not require higher salary and they can not change jobs often as their job is very limited. In my opinion, programmer is NOT a good choice as the future prospect is very narrow.

A “Software Developer” is someone who contributes in many ways to make the software product successful. A developer MUST BE a programmer first but also involve in other areas such as working with customers and users to write requirements, write test cases for the software system, review code from others, support documentation, control changes to software by working as configuration management, and many more. Software developer has a much larger perspective and an ability to see the bigger picture of the entire project when the programmer only writes code. Most jobs for software developers in the U.S and Europe require Bachelor degree from an accredited university.

I do NOT believe in the decision to insulate programmers from everything but only code.  Programmers should NOT have a narrow perspective.  They NEED training to make them see the bigger perspective of software system. They SHOULD work with customers and users and contribute more to the project. I believe programmer should take more training TO BE software developer. There are two reasons that programmer stay in coding only: They love to code and do not want to do anything else – that is their choice. They do NOT receive proper education and training as company wants to take advantage of people without formal education or degree so the company can pay them lower salary.

During a visit in India last year, a manager told me: “Our programmers don’t know how to do other things and that is why they only code”. I asked him: “Are you sure that is what they want, if they don’t know how to do the non-coding aspects why don’t you teach them? The manager explained: “Why do we train them then they can find better jobs? With limited training, they have to stay here” I did not want to say anything more because I know that the company paid a very low salary to people without college education and that is why most programmers only code and not doing anything else. It is NOT that they can not do anything else. It is “good business” to keep them that way. All over India, there are thousand special training schools that teach programming language or few certificates in special systems, they do NOT require any education so they make money by produce hundred thousand programmers who only have limited knowledge of software. These people do NOT have much future as programming languages will change as their skills are limited. Few years ago, COBOL and Pascal language were hot, but then come C and C++, and today there are Java, C#, Ruby and many more. If your skill is in COBOL and Pascal, you may find that it is no longer needed and you may not be able to find a job. Of course, there are some programmers don’t want to do other things. They only want to code and happy with their career. However, I believe if they know better, if they can see the potential and all the possibilities, they may change their minds.

Formal training in college is very important to people who want to have a good careers. A good developer with strong skills is precious. With current critical shortage of software skills all over the world, the prospect is very good for getting good jobs with good salaries. If you are a programmer and want to be a developer, you may need some knowledge and trainings on requirements engineering, requirement documentation, configuration management, code reviews, testing, automate testing, integration testing, and understand software life cycle and some methods such as Agile (Scrum or extreme programming) as well as familiar with some software tools.

 


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

Cơ hội nghề nghiệp

Công nghệ thông tin (CNTT) là lĩnh vực lớn nơi mọi người có thể xây dựng chuyên môn nghề nghiệp riêng của họ theo nhiều cách.
2

Kế hoạch hiệu năng kiểm thử

Ngày nay hầu hết các công việc CNTT được khoán ngoài nhiều nhất đều trong kiểm thử phần mềm.
3

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

Không đảm đương được nếu không kiểm thử phần mềm

Kiểm thử là cần thiết cho mọi dự án phần mềm.

Quản lý hệ thông tin

Ngày nay Công nghệ thông tin có ở mọi nơi và kiểm soát nhiều thứ, từ doanh nghiệp chế tạo lớn tới doanh nghiệp nhỏ, từ các hệ thống của chính phủ cho tới các hệ thống doanh nghiệp tư.

Thành đạt và tận hưởng

Nhiều sinh viên thường hỏi tôi: em cần thời gian học tập, em cần thời gian với bạn bè, em cần thời gian cho bản thân mình, em cần thời gian với gia đình, em cần thời gian để ngủ. Em tìm đâu ra thời gian để làm mọi việc đó? Làm sao em có thể tạo ra lịch biểu cho mọi hoạt động?

Kiểm thử tích hợp

Ngày nay, các hệ thông tin như lập kế hoạch, quản lý... đều rất lớn và phức tạp nên phải được kiểm thứ cẩn thận.

An ninh tính toán

Không may an ninh thông tin vẫn không được nhiều người phát triển phần mềm xem xét một cách nghiêm chỉnh, hay không được dạy như một môn yêu cầu ở hầu hết các đại học. Khi công nghệ phát triển phổ biến hơn, việc lạm dụng nó trở nên ngày một nghiêm trọng hơn.

Dự báo thị trường khoán ngoài

Theo nhiều nghiên cứu mới, một số địa chỉ khoán ngoài ở Trung và Đông Âu đang có vấn đề khi họ phải cạnh tranh với những địa chỉ mới ở châu Phi, Trung Đông và Đông Nam Á. Lí do đơn giản: Chi phí làm kinh doanh tăng lên.

Đảm bảo chất lượng phần mềm

Khi dự án phần mềm trở nên lớn hơn và phức tạp hơn, vai trò của Đảm bảo chất lượng phần mềm – Software Quality Assurance (SQA) trở nên gay gắt hơn.

Việc làm công nghệ

Với tất cả những không chắc chắn của thị trường việc làm ngày nay, phần lớn các trường của Mĩ đều khuyên sinh viên sắp vào của họ: “Nếu bạn muốn có việc làm được trả lương cao khi bạn tốt nghiệp, hãy học các khu vực công nghệ như kĩ sư phần mềm, khoa học máy tính hay quản lí hệ thông tin.”

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.

'Không khóc giữa nhân gian' vì ta đã học được cách đi qua nỗi buồn

Từ sách - Phim - PV - 08/07/2026 08:00
“Không khóc giữa nhân gian” là quyển sách nhỏ được Đại đức Thích Đồng Tâm viết từ những ngày lòng trải qua những chông chênh của kiếp nhân sinh để gửi tới những “Người thương”, và cũng chính từ đó mà Đại đức học được cách mỉm cười đi qua dông bão bằng một tâm bình an hơn mỗi sớm mai thức dậy.

Quy trình phần mềm

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

Lớp vỏ bọc của những người đàn ông thành đạt

Suy ngẫm - PV - 07/07/2026 10:00
Bạn chỉ thấy vẻ oai phong và quyền lực của họ trước công chúng, nhưng bạn không bao giờ thấy những khó khăn gian khổ của họ phía sau hậu trường.

Nở rộ dịch vụ bán ảnh "phông bạt", từ bữa ăn omakase đến khoang thương gia

Phong cách sống - Việt Anh - 07/07/2026 09:00
Những bức ảnh check-in tại nhà hàng cao cấp, khách sạn hạng sang hay khoang bay thương gia đang được mua bán trên mạng xã hội để phục vụ nhu cầu "sống ảo".

Đừng bao giờ từ bỏ ước mơ - Khát vọng của nàng Violet

Từ sách - Phim - FN - 07/07/2026 08:00
Trong khu vườn nọ, có một bông hoa Violet xinh xắn luôn tỏa ngát hương thơm. Nàng sống hạnh phúc cùng những người bạn láng giềng.

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

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

Đừng tham gia vào những cuộc trò chuyện gây hại cho sức khỏe tinh thần của bạn

Suy ngẫm - PV - 06/07/2026 11:00
Một nhận thức tỉnh táo mà người ta thường có khi bước vào tuổi trung niên.

Lối sống của một người đàn ông

Suy ngẫm - PV - 06/07/2026 10:00
Chậm rãi trong tình cảm nhưng không thờ ơ, trìu mến nhưng không bám víu, thuận theo cuộc sống ban ngày, tìm kiếm sự bình an cho tâm hồn ban đêm.
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