Phân biệt coder, programmer, developer và software engineer

Posted on August 6th, 2017

Bài viết được dịch từ website Technotification của tác giả Vicky Singh Rao về cách phân biệt giữa Coder, Programmer, Developer và Software Engineer.

Có thể bạn đã được nghe về những chức danh công việc này trước đây rồi, nhưng chính xác thì sự khác nhau giữa chúng là gì? Một vài người nói rằng nó chủ yếu dựa vào học vấn của bạn và những gì mà bạn đạt được. Một cách nào đó, điều này có thể là đúng, nhưng một vài người khác nói rằng đôi khi công ty của bạn sẽ quyết định bạn là Programmer, Developer hay những chức danh khác, do đó, đây chỉ đơn thuần là chức danh công việc. Chúng ta hãy xem xét kĩ vấn đề này.

Chính xác sự khác nhau giữa Coder, Programmer, Developer và Software Engineer là gì?

Coder

Coder là người phụ trách việc viết code - làm cho hầu hết những ứng dụng của chúng ta chạy đúng. Những người này có khả năng tạo ra phần mềm, không chỉ được sử dụng trong các ứng dụng mà còn trong game, nền tảng truyền thông xã hội và nhiều thứ khác nữa.

Coder đôi khi không thể thực hiện được hết tất cả các giai đoạn yêu cầu trong việc xây dựng một phần mềm, như thiết kế, kiểm thử; họ hầu như chỉ làm một phần công việc trong giai đoạn viết code cơ bản. Trong một vài trường hợp, có nhiều người sẽ cảm thấy bị xúc phạm khi bạn gọi họ là Coder.

Programmer

Programmer là người có chuyên môn hơn một chút. Họ có thể tạo ra phần mềm máy tính ở bất kỳ ngôn ngữ lập trình máy tính cơ bản nào, như Java, Python, Lisp,... Programmer được cho là vượt xa Coder, họ có thể chỉ chuyên môn trong một lĩnh vực hay thậm chí là viết hướng dẫn cho nhiều loại hệ thống khác nhau.

Programmer cũng am hiểu khá tốt về thuật toán. Họ cũng khá giống với Developer nhưng khác ở chỗ là Programmer chủ yếu chỉ triển khai hệ thống, trong khi Developer có thể thiết kế hoặc xây dựng một cấu trúc dữ liệu tốt trong phần mềm. Ngoài ra, Programmer sẽ quan tâm nhiều hơn vào chi tiết.

Developer

Developer có thể viết và tạo ra một phần mềm máy tính hoàn chỉnh một cách bất ngờ mà không cần quan tâm đến thiết kế hay những tính năng khác. Họ là chìa khoá cho sự phát triển của bất kỳ ứng dụng phần mềm nào; họ cũng là chuyên gia trong ít nhất một ngôn ngữ lập trình.

Nhiều người đánh giá họ là những chuyên gia thật sự - những người am hiểu về tất cả những vấn đề tổng quát. Developer đôi khi trở nên phổ biến hơn trong phát triển phần mềm, không giống như Programmer.

Software Engineer

Software Engineer là người ứng dụng những nguyên lý và kĩ thuật của khoa học máy tính hay kĩ thuật phần mềm để phát triển một phần mềm độc lập mới; từ việc phân tích những thứ mà người dùng cần, cho đến thiết kế, bảo trì, kiểm thử và thậm chí đánh giá phần mềm.

Họ có thể tạo ra phần mềm cho bất kỳ hệ thống nào như là những phần mềm hệ điều hành, phân phối mạng, trình biên dịch,... Họ thường có bằng đại học và có thể chứng minh nhiều thứ theo lý thuyết.

Một cách hình dung khác

Một cách khác để hiểu được sự khác nhau giữa Coder, Programmer, Developer và Software Engineer là xem xét họ theo thứ bậc hay như là những bậc thang, trong đó, Coder nằm ở vùng thấp nhất của cầu thang, và Software Engineer nằm ở vùng cao nhất của cầu thang. Có thể đối với bạn, tất cả những chức danh nghề nghiệp trên là giống nhau, bởi vì bạn đã từng biết một Developer có thể làm tất cả mọi thứ mà một Software Engineer có thể làm, nhưng thực sự là có nhiều sự khác biệt giữa họ đáng để biết.

Nếu một vài công ty có sự chú ý đặc biệt tới tên chức danh của những nhân viên hoặc không, đây không phải là vấn đề lớn để quan tâm; vấn đề quan trọng là bạn biết những gì bạn có thể làm và có thể làm tốt đến mức nào.

Xin chào và hẹn gặp lại bạn ở bài viết tiếp theo, thân ái!


★ Nếu bạn thấy bài viết này hay thì hãy theo dõi mình trên Facebook để nhận được thông báo khi có bài viết mới nhất nhé: