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

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

Khái niệm về việc tạm gác lại “cái tôi” trong lập trình, được mô tả bởi Johanna Rothman:

Hai mươi lăm năm về trước, Jerry Weinberg đã xuất bản cuốn sách The Psychology of Computer Programming (Tâm lý học của công việc lập trình máy tính). Tôi đã khám phá ra cuốn sách đó vào năm 1977, và tôi đã quyết định rằng mình muốn làm việc như một kỹ sư phần mềm tạm gác lại “cái tôi”, tất nhiên là không phải giống như một tay DJ (làm việc chỉnh và trộn nhạc) trên radio.

Tạm gác lại “cái tôi” trong lập trình xuất hiện khi một nhóm các đồng nghiệp kỹ thuật sử dụng hình thức review ngang cấp một cách thường xuyên để tìm những khuyết điểm trong phần mềm đang ở giai đoạn phát triển. Mục tiêu ở đây là để mọi người có thể tìm thấy những sai sót, bao gồm cả tác giả, không phải để chứng minh rằng sản phẩm đó là không có sai sót. Mọi người trao đổi các sản phẩm đang trong quá trình phát triển đó để review lẫn nhau, cùng với sự mong đợi rằng các tác giả sẽ tạo ra nhiều lỗi, và những người reviewer sẽ tìm thấy nhiều lỗi. Bất kỳ ai cuối cùng cũng học được từ những sai lầm của bản thân họ và của những người khác. Đó là lý do tại sao nó được gọi là lập trình mà không có “cái tôi”. “Cái tôi” của tôi thì không gắn với cái “hoàn hảo” hoặc “không hoàn hảo” của sản phẩm mà tôi làm ra. “Cái tôi” của tôi thì chỉ gắn với những nỗ lực của tôi để làm công việc theo cách tốt nhất mà tôi biết, và học được từ những sai lầm của chính tôi, chứ không phải là kết quả đầu tiên trong công việc của tôi.

Trong công việc bạn nên gác lại 'cái tôi' để nhắm đến mục tiêu chung của cả nhóm.Trong công việc bạn nên gác lại ‘cái tôi’ để nhắm đến mục tiêu chung của cả nhóm.


Điều đó là quan trọng để xóa tan cái ý tưởng rằng giá trị bản thân thì xuất phát từ chức năng công việc của bạn.

Tôi thích chính tôi.

Tôi thích chính tôi.

Lúc này tôi đang nhớ lại một đoạn trong bộ phim Fight Club:

Bạn không phải là công việc của bạn. Bạn không phải là số tiền mà bạn có ở trong ngân hàng. Bạn không phải là đôi giày mà bạn đang đi. Bạn không phải là nội dung trong ví tiền của bạn.

Thật dễ dàng hơn khi nhận lấy những chỉ trích trong công việc của mình khi mà bạn không cho phép công việc đó định nghĩa bạn là ai.

Không may là, thế giới này thì đầy rẫy những người mà chẳng bao giờ nhận lỗi về công việc của họ. Vì vậy chúng ta là những người yêu lập trình đủ để trở thành có kỹ năng ở mức cao và có khuynh hướng mắc phải những vấn đề ngược lại– chúng ta quan tâm quá nhiều:

Trong những năm đầu của ngành công nghiệp phần mềm, một chương trình được xem như là tài sản riêng của lập trình viên đó. Ai cũng nghĩ rằng việc đọc mã nguồn chương trình của một đồng nghiệp thì cũng giống như là bạn tự ý lấy bức thư tình của anh ta và đọc trộm nó vậy. Điều này về cơ bản thì một chương trình được xem như là một bức thư tình của một lập trình viên đến với phần cứng vậy, đầy rẫy những chi tiết thân mật mà chỉ bạn tình mới được biết. Do đó, các chương trình trở nên giống như là một đống bùi nhùi với những tên cục cưng và những tiếng lóng được dùng phổ biến trong những cặp tình nhân đang sống trong cảm giác thăng hoa, cứ như thể là chỉ có mỗi mình họ tồn tại trong cái vũ trụ này vậy. Đến nỗi các chương trình trở nên rất khó hiểu đối với những người ngoài cuộc.

Đó là một trong những đoạn trích ưa thích của tôi từ cuốn sách Code Complete; nó được xem là của Michael Marcotty.

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.

5 comments on “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

  1. Chủ đề này đã được bàn nhiều, những lời kêu gọi người Việt hãy biết dẹp bớt “cái tôi” để mạnh hơn trong làm việc nhóm được phát đi liên tục nhưng có vẻ không nhiều tác dụng. Vậy phải chăng vấn đề nằm ở chỗ khác?

    Thực tế có thể thấy không ít tấm gương thành công ở Âu, Mỹ, Nhật không hề giỏi làm việc nhóm. Họ cũng có rất nhiều vụ rắc rối và tranh chấp liên quan đến nhóm, nổi tiếng như Mark Zuckerberg cãi cọ với anh em nhà Winkelvoss, Bill Gates cũng từng lục đục với hầu hết các chiến hữu sáng lập và đa số đã bỏ đi sau 2 năm, Steve Jobs bị các thành viên khác hất khỏi công ty do mình sáng lập một cách bạc bẽo… Thậm chí các tạp chí khởi nghiệp của họ có các bài viết kêu gọi hãy ngừng tìm kiếm co-founder, hãy làm việc một mình nếu bạn thấy vậy tốt hơn. Ngoài ra, từ trước tới nay hầu hết các nhà khoa học danh tiếng nhất trong lịch sử thế giới đều là những người hướng nội, thích làm việc đơn lẻ hơn tập thể.

    Như vậy nhóm cũng tốt mà đơn lẻ cũng tốt, không có kết luận nào tuyệt đối đúng. Chuyện đoàn kết hay xung khắc cãi cọ thuộc về tính cách tự nhiên của con người, ở đâu cũng giống nhau. Cái khác biệt nằm ở văn hóa, mang tính xã hội. Ở những nước văn minh, “cái tôi” của họ cũng rất cao, thậm chí lợi ích cá nhân luôn được đặt trên lợi ích tập thể. Nhưng văn hóa của họ đề cao luật chơi, coi trọng sự rành mạch, công khai, minh bạch. Mọi thỏa thuận đều phải có giấy trắng mực đen và phải làm ngay từ đầu, đồng ý thì hợp tác không thì thôi. Mọi tranh chấp sẽ được giải quyết thông qua trọng tài hoặc tòa án và khi đã có phán quyết độc lập thì mọi chuyện kết thúc tại đó, không ai thù dai mất thì giờ.

    Ở 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.

    • Great point Alan,

      “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.”

      P.S: lâu rồi mới thấy Alan vô đọc blog và bình luận, mà thấy bình luận nào cũng sâu sắc. Cảm ơn bạn nhiều nhé! 🙂

  2. Học công nghệ phần mềm có khái niệm egoless programming là chỉ việc lập trình mà là người này sẽ tìm lỗi của người kia với 1 thái độ tích cực . Đó cũng là nguyên lý của democratic team (team dân chủ không có leader ) . tuy nhiên ít có công ty nào còn dùng mô hình team democratic team

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