Đạo đức nghề nghiệp của một lập trình viên

Dạo một vòng quanh các diễn đàn nơi những người tạm gọi là “lập trình viên” hay trao đổi, mặc dù có rất nhiều các chủ đề khác nhau nhưng nếu tinh ý một chút, bạn sẽ nhận ra hai chủ đề chính thu hút sự quan tâm và được đem ra bàn luận nhiều nhất:

  • Thứ nhất: các vấn đề liên quan tới kĩ thuật, công nghệ
  • Thứ hai: đánh giá, săm soi, ca ngợi, dìm hàng, hỏi han lương bổng … của công ty A hay công ty B nào đó

Bỏ qua chủ đề thứ nhất, vì chẳng có gì đáng nói khi mọi người trao đổi về kĩ năng công việc để cùng nhau tiến bộ. Điều mà mình nhận ra ở chủ đề thứ hai là: hầu hết mọi người đều chỉ tập trung nói về phía công ty, mà ít khi nói về phía mình (phía lập trình viên). Mọi người bàn luận về việc: thế nào là một công ty tốt, công ty nên trả lương cao hơn cho nhân viên, cần ưu đãi thêm số ngày nghỉ và phúc lợi… Nhưng lại ít có chủ đề bàn luận về việc lập trình viên nên cư xử với công ty như thế nào.

Nghề nghiệp nào cũng vậy, không phân biệt sang hèn cũng đều có những quy tắc đạo đức của riêng nó: bác sĩ có lời thề Hippocrates để luôn nhớ tận tâm cứu chữa bệnh nhân, thầy cô giáo cũng có trách nhiệm giáo dục và hướng dẫn học trò nên người, kẻ buôn bán cũng cần phải tuân thủ luật cân đủ bán đúng, … Vậy, với tư cách là một lập trình viên, bạn có biết những quy tắc đạo đức nào mà mình cần tuân theo?

Sự chuyên nghiệp

Nói qua một chút về sự chuyên nghiệp. Đã là người đi làm, ai mà chẳng muốn được làm việc trong một môi trường chuyên nghiệp, một công ty tốt. Và mọi người có biết không, chính mình là 1 nhân tố đóng góp nên cái “sự tốt, sự chuyên nghiệp” đó.

Nhưng nói thì dễ, làm mới khó, đã bao lần bạn thỏa hiệp với chính mình:

  • Dev xong rồi, nhưng lười test lại, thôi thì cứ đưa cho tester kiểm tra, có bug thì tính sau
  • Task được giao đã làm xong rồi, nhưng lỡ estimate cao quá, thôi thì ngồi chơi cho hết thời gian đã estimate vậy
  • Chưa thấy ai giao task, thôi lấy tí thời gian làm freelance kiếm thêm chút cháo vậy

Ai cũng có thể thấy rằng những điểm trên là không tốt, là thiếu chuyên nghiệp. Bản thân mình cũng từng phạm phải những điều như vậy. Bất cứ ai cũng có thể như vậy

Bạn có thể tranh luận rằng, mấy chuyện đó có sai thì cũng nhỏ xíu, đâu có gây ảnh hưởng gì lớn đâu, dự án vẫn chạy tốt mà. Dẫu vậy, cái gì đã sai thì nó sẽ không thể đúng. Thỏa hiệp với cái sai là đánh mất đi cơ hội làm điều đúng. Tỏ ra chuyên nghiệp là tôn trọng nghề nghiệp, là tôn trọng chính mình.

Đạo đức của một lập trình viên

Đạo đức là một phạm trù trừu tượng và khó có thể cân đo đong đếm một cách chính xác. Nhưng chúng ta biết rằng, tỏ ra chuyên nghiệp là chúng ta đang thực hành đạo đức nghề nghiệp. Vậy câu hỏi đặt ra là, liệu có tiêu chuẩn chung nào đó để mọi người dựa vào đó làm kim chỉ nam cho sự chuyên nghiệp không? Câu trả lời là: có.

ACM/IEEE-CS có định nghĩa một bản các tiêu chí, có thể được tham khảo như là kim chỉ nam cho “đạo đức và sự chuyên nghiệp” của một lập trình viên. Nó bao gồm những tiêu chí liên quan tới 8 vấn đề chính: lợi ích cộng đồng, chủ & khách hàng, sản phẩm, sự phán xét, quản lí, tính chuyên nghiệp, đồng nghiệpbản thân.

Có thể tóm tắt trong 10 điều đáng chú ý sau đây:

1. Cung cấp các sản phẩm đảm bảo an toàn và chất lượng

Không tạo ra các sản phẩm có hại cho người khác (vd: đánh cắp thông tin, chèn mã độc, …), gây tác động xấu lên cộng đồng hoặc ảnh hưởng tiêu cực tới người khác. Không nói dối khách hàng để lấp liếm một sản phẩm tệ.

2. Trung thực về kinh nghiệm và kĩ năng

Không chém gió quá mức về kĩ năng của mình để đánh lừa doanh nghiệp hoặc khách hàng nhằm trục lợi cho bản thân. Có trách nhiệm với lời hứa của mình, không hứa cho có rồi để đó.

3. Có trách nhiệm với sản phẩm mình làm ra

Đại loại là không làm cho xong để lấy tiền, lúc gặp bug cần sửa lỗi thì cao chạy xa bay và thoái thác trách nhiệm. Nguyên tắc này có thể hiểu là: phát triển và kiểm thử phần mềm cẩn thận, hỗ trợ khách hàng trong quá trình sử dụng khi cần thiết.

4. Trung thực trong đánh giá

Khi được yêu cầu đánh giá phần mềm hoặc sản phẩm nào đó, cần đảm bảo tính khách quan và trung thực khi nhận xét. Tránh tình trạng nhận đút lót để ưu ái cho sản phẩm tệ hơn (Một dạng của reviewer nói láo ăn tiền)

5. Công nhận năng lực của người khác (Trả lương xứng đáng)

Nói nôm na là nếu bạn là quản lí, bạn cần đánh giá đúng năng lực và đóng góp của nhân viên, từ đó trả thù lao tương xứng. Tránh tình trạng lờ đóng góp, bới sai lầm trong các buổi review để nhằm hạ thấp vai trò và mức lương của nhân viên.

6. Giữ bí mật thông tin có được trong quá trình làm việc

Tránh tiết lộ thông tin sản phẩm cho đối thủ cạnh tranh, phát tán thông tin mật, hoặc ăn cắp công nghệ, …

7. Tránh để công việc bên ngoài ảnh hưởng tới công việc chính

Có thể hiểu nôm na là không nhận dự án freelance để rồi đem lên công ty làm, không cày 2 3 job dẫn tới sức khỏe không đảm bảo cho dự án nào cả. Tất nhiên, không có nghĩa là ngoài công việc chính bạn không được làm gì cả, vấn đề là không để chúng ảnh hưởng lẫn nhau.

8. Sẵn lòng hỗ trợ người khác

Hỗ trợ đồng nghiệp hòa nhập với môi trường mới, chia sẻ kinh nghiệm để cùng nhau tiến bộ, hoặc đóng góp vào các dự án mã nguồn mở hỗ trợ cộng đồng, … Tránh tình trạng “dìm hàng” người khác.

9. Cố gắng phát triển sản phẩm tốt với một chi phí hợp lí

Estimate quá thấp thì lập trình viên là người chịu thiệt, nhưng định giá hoặc ước lượng quá cao (vượt qua giá trị thật), hoặc ước lượng khống để trục lợi là điều không nên. Không vẽ hưu vẽ vượn sai mục đích để vòi vĩnh sếp hoặc khách hàng.

10. Luôn không ngừng cải tiến bản thân

Lập trình viên cần phải là người có tinh thần cầu tiến, luôn luôn trao dồi kiến thức mới để nâng cao kĩ năng và kinh nghiệm cho bản thân.

Tóm lại

Những điều trên đây có thể mọi người đều đã biết rồi, nhưng đôi khi lại quên (hoặc cố tình quên) đem ra áp dụng vào công việc. Nếu bạn chưa biết, hãy ghi nhớ và áp dụng nó. Nếu đã biết rồi, hãy cùng chia sẻ nó với những đồng nghiệp xung quanh, kể cả sếp của bạn.

Khi bạn trở nên chuyên nghiệp, có ý thức thực hành “đạo đức nghề nghiệp” và chia sẻ nó, hãy cứ tin là rồi đây bạn sẽ được làm việc trong một môi trường chuyên nghiệp và “có đạo đức”.

One thought on “Đạo đức nghề nghiệp của một lập trình viên

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s