GDB-banner1

Mình cũng đi code được một thời gian, cũng làm qua cái này cái khác, mặc dù không phải là pro cho lắm. Đôi khi mình cũng không biết mình thuộc thể loại gì nữa.  Đôi khi cũng thắc mắc sự khác nhau giữa Developer, Programmer, Computer Scientist, Software Engineer? Một số thông tin sưu tầm dưới đây có thể giải đáp được phần nào đó thắc mắc của mình.Người ta thường sử dụng ba thuật ngữ: “Developer”, “Programmer”, “Computer Scientist” thường xuyên và chúng có thể hoán đổi cho nhau hoàn toàn. Trong tiếng Việt thì ai cũng nghĩ mình là Lập Trình Viên nhưng chỉ người trong ngành mới biết rõ mình thuộc thể loại nào. Tuy nhiên không phải ai cũng chỉ là một trong ba loại này.

  • Computer Scientist: (Nhà nghiên cứu khoa học máy tính)

Họ viết code nhưng không nhất thiết phải là những đoạn code tuyệt vời được tổ chức bài bản nhưng chắc chắn là code chạy được. Chủ yếu họ muốn dùng nó để chứng minh một điều gì đó. Một nhà nghiên cứu khoa học máy tính cũng giống như một nhà toán học hay như một nhà kĩ thuật, khả năng giao tiếp không cần phải quá tốt. Bù lại, họ có một nguồn kiến thức rộng trong thể lĩnh vực IT nói chung, nhưng lại đi vào chuyên sâu ở một khía cạnh rất nhỏ mà họ nghiên cứu. Họ thường tập trung vào những việc có liên quan đến lĩnh vực họ nghiên cứu trong thời gian làm việc của mình.

  • Programmer (Lập trình viên)

Lập trình viên (LTV) là những người có khả năng viết code đẹp. Đối với họ, code đẹp, được tổ chức tốt và không có lỗi là vấn đề tối quan trọng, nhưng việc đoạn code đó phải thực hiện đúng chức năng còn quan trọng hơn. Ngoài ra, họ cần có một số hiểu biết toán học nhất định, tuy đôi khi nó cũng không cần thiết. Lập trình viên không giống như người nghiên cứu khoa học máy tính, họ luôn muốn biết nhiều giải pháp tốt cho một vấn đề nhưng không cần chứng minh giải pháp nào là tốt nhất. Khả năng giao tiếp và cách làm việc trong nhóm là điều cần thiết nhưng không bắt buộc phải có. Ngoài kiến thức về lập trình, những hiểu biết về quy trình làm phần mềm cũng là điều cần thiết đối với họ. Một số lập trình viên thường làm những phần mềm để phục vụ nhu cầu cá nhân nếu thấy hứng thú trong thời gian rảnh.

  • Developer (Nhà phát triển phần mềm)

Chắc chắn rằng các Developer có khả năng viết code và tổ chức code trong chương trình một cách bài bản.

Đối với những người này, kĩ năng toán học không bắt buộc, tuy vậy khả năng giao tiếp và làm việc nhóm là điều khá quan trọng. Nói một cách khác họ có thể được gọi là “người cái gì cũng biết” vì không chuyên sâu trong một lĩnh vực nào. Họ là những chuyên gia đi tìm các giải pháp để giải quyết vấn đề. Trong thời gian cá nhân, họ thích nghiên cứu hoàn thiện những phần mềm mới để thay thế những cái họ nghĩ là chưa tốt. Đôi khi họ cũng thích tham gia vào các hoạt động không liên quan đến lĩnh vực CNTT và lập trình.

Ở đây chúng ta cần hiểu rằng không có loại nào là hoàn hảo cũng như không có loại nào là tốt. Có thể nói đây là các khía cạnh khác nhau trong nghề làm phần mềm. Một số tố chất đặc biệt sẽ dễ nhận thấy đối với người này nhưng lại khó thấy trong loại khác, nhưng không có nghĩa là làm lập trình viền thì không thể nghiên cứu khoa học. Bạn hoàn toàn có thể vừa làm một người phát triền phần mềm tuyệt vời vừa là một người có skill lập trình siêu đẳng (mặc dù như vậy sẽ khá khó khăn vì phải tập trung vào nhiều thứ). Nếu bạn có cả 3 tố chất trên thì xin chúc mừng, bạn có thể là ngôi sao sáng trong công ty bạn. Dù bạn thuộc tuýp người nào nhưng nếu bạn làm tốt trong chuyên môn của mình thì bạn đều có thể thành công.

Sự khác nhau giữa Developer, Programmer và Computer Scientist

Category: Tản mạn IT
0
2272 views

Join the discussion

Your email address will not be published. Required fields are marked *