10 Điều răn dành cho lập trình viên tạm gác lại “cái tôi”

Bài viết được dịch từ blog Coding Horror

Lời bàn của Vinacode:

Ở một bài viết trước đây trên blog Vinacode là Tạm gác lại “cái tôi” trong lập trình: Bạn không phải là công việc của bạn, chúng ta đã bàn về phương pháp lập trình mà không có “cái tôi”. Độc giả Alan cũng đã có một bình luận rất hay, và mình xin trích lược một đoạn sang bài viết này như sau:

“Ở những nước kém văn minh, thay vì đề cao luật chơi và sự rành mạch, họ thường thích xuê xoa tình cảm và kêu gọi nhau đừng tự ái, đừng vì “cái tôi” mà hỏng việc tập thể. Nhưng tự ái hay cái tôi là bản chất tự nhiên của con người làm sao kêu gọi dẹp bỏ được? Thậm chí nếu con người không biết tự ái, không biết đề cao bản ngã của mình thì xã hội sẽ dần thiếu tự tôn, thiếu tự trọng, ít liêm sỉ. Nếu chống lại tự nhiên là uổng công vô ích, hãy làm theo một cách khác: Thay đổi văn hóa tiểu nông lúa nước thành văn hóa công nghiệp. Khi nền văn hóa công nghiệp lan tỏa, tự khắc con người trong xã hội đó sẽ phải thay đổi, phải biết chơi bóng theo luật, phải biết chơi theo tính đồng đội nếu không muốn tự đập nồi cơm của mình. Hãy để mỗi cá nhân biết rằng cứ việc đề cao “cái tôi”, không ai cấm, nhưng hãy nhớ rằng lợi ích của anh ta gắn liền với tập thể, tập thể chết thì anh ta cũng chết, vì vậy hãy nỗ lực hết mình theo đúng những gì anh ta đã cam kết.”

Ở bài viết này chúng ta sẽ cùng đọc qua danh sách 10 điều răn dành cho lập trình viên đang làm việc theo phương pháp không có “cái tôi” nhé!

Mỗi cá nhân cứ việc đề cao 'cái tôi', nhưng hãy nhớ rằng lợi ích của anh ta luôn gắn liền với lợi ích tập thể.Mỗi cá nhân cứ việc đề cao ‘cái tôi’, nhưng hãy nhớ rằng lợi ích của anh ta luôn gắn liền với lợi ích tập thể.


10 Điều răn dành cho lập trình viên tạm gác lại “cái tôi”, được lập ra đầu tiên trong cuốn sách The Psychology of Computer Programming (Tâm lý học trong lập trình máy tính) của tác giả Jerry Weinberg:

  1. 10 Điều răn cho lập trình viên không có cái tôi.Hiểu và chấp nhận rằng bạn sẽ phạm phải những sai lầm. Điểm mấu chốt ở đây là phát hiện ra chúng sớm, trước khi chúng trở thành một phần trong sản phẩm của bạn. May mắn thay, ngoại trừ một ít lập trình viên đang phát triển phần mềm về điều khiển tàu vũ trụ của NASA, còn lại thì lỗi lầm hiếm khi gây ra một tai họa lớn trong ngành công nghiệp của chúng ta, vì vậy chúng ta có thể và nên, học, cười, và bước tiếp về phía trước.
  2. Bạn không phải là code của bạn. Nên nhớ rằng toàn bộ quan điểm của công việc review là để tìm thấy những vấn đề, và những vấn đề sẽ được tìm thấy. Đừng ôm lấy nó cho riêng mình khi mà một vấn đề nào đó còn chưa được phát hiện ra.
  3. Không quan trọng là bạn có “cao thủ” đến mức nào đi chăng nữa, thì sẽ có một ai đó luôn biết nhiều hơn bạn. Mỗi một cá nhân đều có thể dạy bạn một vài bí kíp mới nếu bạn hỏi. Tìm kiếm và học hỏi từ những người khác, đặc biệt là khi bạn nghĩ rằng điều đó thì không cần thiết.
  4. Đừng viết lại code khi mà chưa có sự thảo luận với các đồng nghiệp khác. Có một ranh giới giữa việc “fixing code” and “rewriting code.” Hãy nhận ra sự khác biệt đó, và theo đuổi những thay đổi trong khuôn khổ của một buổi review code, đừng hành động một mình.
  5. Đối xử với những người mà biết ít hơn bạn bằng một sự tôn trọng và kiên nhẫn. Những người không phải là dân kỹ thuật khi làm việc với các lập trình viên thường giữ một quan điểm cho rằng chúng ta là những người kiêu căng và tự phụ lúc tốt nhất, và là đứa trẻ hay kêu khóc khi tồi nhất. Đừng làm củng cố cái quan niệm này sâu sắc thêm bằng sự giận dữ và thiếu kiên nhẫn của bạn.
  6. Chỉ một điều duy nhất không đổi đó là thế giới này luôn thay đổi. Vì vậy hãy mở lòng mình và chấp nhận nó cùng với sự mỉm cười. Hãy xem mỗi thay đổi với những yêu cầu, nền tảng, hoặc công cụ là một thách thức mới, không phải là một cái gì đó gây phiền phức nghiêm trọng cần phải chống lại.
  7. Uy tín thực sự chỉ xuất phát từ kiến thức, không phải từ chức vụ hay địa vị. Kiến thức mang lại uy tín và uy tín mang lại sự tôn trọng – vì vậy nếu bạn muốn được tôn trọng trong một môi trường không có “cái tôi”, thì bạn hãy trau dồi kiến thức của mình.
  8. Đấu tranh cho điều mà bạn tin tưởng, nhưng cũng phải sẵn sàng chấp nhận thất bại. Hiểu rằng đôi khi những ý tưởng của bạn sẽ bị bác bỏ. Thậm chí nếu sau đó bạn nhận ra nó là đúng, thì đừng trả đũa hoặc nói rằng, “thấy chưa, tôi đã nói rồi mà anh chẳng nghe” nhiều hơn một vài lần, và đừng khiến cho cái ý tưởng đã chết của bạn trở thành một liệt sĩ hoặc để đám đông than khóc.
  9. Đừng trở thành một “gã luôn nấp ở trong phòng”. Đừng trở thành một gã mà cứ đóng cửa im ỉm ngồi coding ở trong phòng và chỉ ló mặt ra chỉ để kiếm một vài lon nước ngọt. Cái gã ở trong phòng thì ngoài tầm với, ngoài tầm nhìn, ngoài vòng kiểm soát và không có nơi nào trong một môi trường mở và cộng tác dành cho anh ta cả.
  10. Chỉ trích code chứ đừng chỉ trích người – hãy tốt bụng đối với coder đó, chứ không phải với code của anh ta. Nhiều nhất có thể, hãy tạo ra tất cả những bình luận của bạn tích cực và hướng đến nhằm cải tiến phần code đó. Các bình luận liên quan tới các tiêu chuẩn nội bộ, các đặc tả của chương trình và làm tăng tốc độ thực thi, v.v…

Những nguyên tắc về con người trong phần mềm thực sự là chẳng bao giờ lỗi thời; cuốn sách The Psychology of Computer Programming (Tâm lý học trong lập trình máy tính) được viết từ năm 1971, một năm sau khi tôi chào đời!

Các bài viết liên quan:

Về tác giả bài viết:

Jeff_atwood_coding_horrorJeff Atwood là một chuyên gia công nghệ tại Mỹ, hiện đang sinh sống và làm việc tại Berkeley, CA. Anh là một kỹ sư phần mềm chuyên về công nghệ Microsoft .NET, và là một blogger nổi tiếng trong cộng đồng công nghệ với blog Coding Horror, anh là người sáng lập và kiêm Giám đốc điều hành (CEO) của trang web hỏi đáp uy tín Stack Overflow và cũng là đồng sáng lập của Stack ExchangeDiscourse.

7 comments on “10 Điều răn dành cho lập trình viên tạm gác lại “cái tôi”

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s