Huỳnh Quốc Đạt

PGĐ, Đồng sáng lập
VUTAVN CO.,LTD

Nơi ghi chép và chia sẻ những trải nghiệm của mình trong quá trình học tập và làm việc. Hy vọng, ở đây bạn sẽ tìm thấy được những điều bạn cần tìm!


Phân biệt giữa Coder, Programmer, Developer và Software engineer

Phân biệt giữa Coder, Programmer, Developer và Software engineer
Mục lục

Có thể bạn đã từng nghe về những chức danh này, nhưng sự khác biệt chính xác giữa chúng là gì? Một số người cho rằng phân biệt các chức danh này chủ yếu phụ thuộc vào trình độ học vấn và những kinh nghiệm bạn đã đạt được. Tuy nhiên, một số người khác lại cho rằng công ty bạn đang làm việc sẽ quyết định xem bạn có phải là programmer, developer.., hay nó chỉ đơn thuần là một chức danh?

Hãy cùng xem coder, programmer, developersoftware engineer có gì khác nhau?

Đọc thêm: Làm sao để sinh viên CNTT thực tập lập trình sớm?

1. Coder

Nếu bạn có 1 vấn đề rõ ràng và 1 giải pháp rõ ràng được mô tả bằng ngôn ngữ tự nhiên hoặc giải mã, bạn cần 1 ‪Coder để chuyển chúng sang ngôn ngữ của máy tính (Chỉ code).

Coder – (hay thợ code), khi được giao việc code một chương trình nào đó thường cần phải kèm theo một bản mô tả chi tiết chương trình, rất thạo việc viết mã, viết nhanh và làm cho chương trình chạy đúng như mô tả, nhưng hầu hết trường hợp là sản phẩm không gọn gàng lắm nếu nhìn vô code.

Thường thì Coder không thể thực hiện tất cả các giai đoạn trong quá trình phát triển một phần mềm, chẳng hạn như thiết kế hoặc kiểm thử. Trong một số trường hợp, một vài người sẽ cảm thấy như bị xúc phạm nếu bạn gọi họ là Coder.

Bất cứ ai khi viết code thường được người không rành công nghệ gọi là một Coder. Tuy nhiên, thuật ngữ này có thể xem xét và sử dụng cho những ai sống bằng viết chương trình ứng dụng mỗi ngày. Coder thường được sử dụng cho những programmer có ít kinh nghiệm và được đào tạo ít nhất. Họ thường không có đủ kiến thức về các thuật toán như programmer hay developer, cũng như thường là cách gọi cho người mới bắt đầu vào nghề, và chỉ biết một ngôn ngữ lập trình duy nhất như là ngôn ngữ C, Java, PHP,… Coder thường được giao các công việc viết các đoạn mã đơn giản do các developer phân công. Trong một số trường hợp, coder còn được thay thế bằng "Junior Programmer" hoặc "Junior Developer".

2. Programmer

Nếu bạn có 1 vấn đề rõ ràng nhưng không có giải pháp rõ ràng, bạn cần một ‪Programmer để giải quyết vấn đề, sau đó code. (Giải quyết vấn đề + code).

Programmer là người có chuyên môn cao hơn coder. 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.

Đọc thêm: Học Thuật Toán Thế Nào Cho Hiệu Quả?

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.

techmaster viet nam 393241

3. Developer

Nếu bạn cảm thấy mình có vấn đề cần giải quyết nhưng không thể định nghĩa rõ ràng được, bạn cần 1 ‪Developer để giúp bạn tìm ra vấn đề trước, sau đó xử lý nó. (Phân tích + Giải quyết Vấn Đề + Code).

Developer là người có thể tạo ra một phần mềm máy tính hoàn chỉnh, từ phân tích, đưa giải pháp và code. Developer là chìa khóa cho sự phát triển của bất kỳ ứng dụng phần mềm nào. Họ còn là chuyên gia về ít nhất một ngôn ngữ lập trình. Có thể xem họ là những chuyên gia thực sự có thể xử lý được những vấn đề tổng quát. Trong quá trình phát triển phần mềm, đôi khi Developer sẽ phổ biến hơn là Programmer.

Developer – Có tầm nhìn khái quát vấn đề, phối hợp các yếu tố để giải quyết vấn đề. Những người này thường không chỉ làm việc chỉ với code mà cả với con người, thường là giao tiếp tốt, tiếp nhận vấn đề, phân tích và xây dựng giải pháp, rồi anh ta sẽ đưa ra thiết kế của các chương trình, cũng như cung cấp các mô tả chi tiết cho programmer và coder.

4. Software Engineer

Đây là cấp cao nhất trong số tất cả, là những lập trình viên chuyên nghiệp nhất. Họ thông thạo ba ngôn ngữ lập trình trở lên và sử dụng các kỹ năng của mình để thiết kế và triển khai kiến trúc tổng thể của ứng dụng. Họ mô-đun hóa sản phẩm cuối cùng để phát triển một bản thiết kế hoàn chỉnh và sau đó làm việc với programmer và developer để triển khai các khía cạnh chi tiết hơn của thiết kế đó. Vị trí kỹ sư thường ngụ ý rằng bạn là một nhà phát triển thường có bằng đại học và có thể chứng minh mọi thứ về mặt lý thuyết.

Đạt từng là Software Engineer tại INFOdation Viet Nam trước khi bắt đầu với VUTA

Software Engineer là người sẽ áp dụng các nguyên tắc và kỹ thuật của khoa học máy tính hoặc kỹ thuật phần mềm (software engineering) tới mọi thứ liên quan đến việc phát triển một phần mềm độc lập mới; từ việc phân tích nhu cầu cụ thể của người dùng là gì, qua quá trình thiết kế, bảo trì và kiểm thử, thậm chí là đánh giá cuối cùng của phần mềm. Software Engineer có thể tạo phần mềm cho bất kỳ loại hệ thống nào như hệ điều hành, mạng phân tán, các trình biên dịch, v.v. Với những kỹ năng tuyệt vời như vậy nên Software Engineer được biết đến là một trong những công việc có mức lương cao.

Đọc thêm: Lộ trình phát triển của một Software Engineer

Kết Luận

Có thể nói sự khác biệt giữa Coder, Programmer, DeveloperSoftware Engineer là ở sự phân cấp như bậc thang, Coder sẽ ở bậc thấp nhất và Software Engineer ở vùng cao nhất. Có thể đối với bạn, tất cả các chức danh trên là giống nhau bởi vì bạn đã từng biết một Developer có thể làm mọi thứ mà một Software Engineer có thể làm, nhưng thực sự có một số khác biệt giữa họ.

Cho dù các công ty có quan tâm và phân biệt tới các chức danh này hay không thì đó không phải là vấn đề lớn để lo lắng. Điều thực sự quan trọng là biết bạn có thể làm gì và bạn có thể làm tốt như thế nào.

Tham khảo: Hybrid, ITguru

Tác giả: Huỳnh Quốc Đạt

Từ khóa được tìm kiếm nhiều nhất:  programmer la gi, software engineer la gi, software engineer luong, software developer la gi, software engineering, it developer, coder programmer developer software engineer

Đừng quên vote ở đây nè:
5 / 5 (8 phiếu bầu)
Xem nhiều gần đây
Series Khóa học NukeViet CMS cơ bản

  Hãy để lại ý kiến của bạn nhé!

  • Nguyễn Thành Trung Nguyễn Thành Trung 2 năm trước
    Quá giỏi em ơi.
    • Huỳnh Quốc Đạt Huỳnh Quốc Đạt 2 năm trước
      @Nguyễn Thành Trung Dạ cảm ơn anh :D