Tắt Quảng Cáo [X] Đăng Nhập để ẩn Tất Cả Quảng Cáo # **SỰ KHÁC NHAU GIỮA CODER, PROGRAMMER VÀ DEVELOPER?** ## **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. 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. PROGRAMER** 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 *Programer *để giải quyết vấn đề, sau đó code. (Giải quyết vấn đề + code). *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. ## **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* – Có tầm nhìn khái quát vấn đề, có khả năng sử dụng nhiều hệ thống khác nhau, nhiều ngôn ngữ lập trình, phối hợp chúng với nhau để 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. *Vì vậy chúng ta có thể đúc kết được cơ sở để phân biệt các thuật ngữ này là dựa vào kĩ năng như am hiểu về công nghệ, kỹ thuật, thiết kế, về thuật toán, kỹ năng viết code…, dựa trên kinh nghiệm code thực tế (có thể quy bằng số năm như 1 năm hay 2 năm, hoặc bằng các ứng dụng đã tạo ra…), và cũng có thể dựa trên vị trí công việc của mỗi người tại một công ty.* Nguồn: hybrid.technologiesv