Trong lập trình thì số 1 là con số cô đơn nhất

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

Liệu có phải phát triển phần mềm là một hoạt động được ưa thích bởi những cá nhân chống lại các hoạt động xã hội và ghét con người, những kẻ mà thích được làm việc với mấy chiếc máy tính hơn là với những người khác? Nếu đúng như vậy thì tất cả các dự án phần mềm sẽ được thực hiện tốt nhất bởi một cá nhân riêng lẻ, làm việc một mình?

Bạn đừng nên trở thành một lập trình viên cô độc nhé!Bạn đừng nên trở thành một lập trình viên cô độc nhé!


Câu trả lời cho câu hỏi đầu tiên có thể miễn cưỡng trả lời là vâng, nhưng câu trả lời cho câu hỏi thứ hai thì xin nói rõ ràng và dứt khoát là không. Tôi đã bị gây ấn tượng bởi đoạn trích thú vị giải thích về những điều nguy hiểm của việc lập trình một mình:

Một số người tuyên bố rằng [làm việc một mình] tạo ra cho họ một cơ hội rất lớn để thiết lập một quy trình riêng. Nhưng theo kinh nghiệm của tôi thì, chẳng có một quy trình nào trong một nhóm mà chỉ có một người cả. Không có gì để giữ lại hàng đống công việc đè lên vai bạn. Không có ai để sửa chữa code giúp bạn khi bạn cứ tưởng những đoạn code của mình là tuyệt vời. Không có ai review code dùm bạn. Không có ai để đảm bảo rằng code của bạn được checked-in đúng giờ, được dán nhãn hợp lý và áp dụng unit test đều đặn. Không có một ai để đảm bảo rằng bạn đang viết code theo chuẩn. Không có ai để giám sát và sửa chữa những sai lầm của bạn đúng lúc. Không có ai để xác nhận rằng bạn đã đánh dấu những sai sót để khắc phục. Không có ai để kiểm tra lại những ước lượng của bạn, và nói cho bạn biết khi bạn phạm phải những sai lầm ngớ ngẩn.

Không có ai để vực dậy tinh thần khi mà bạn uể oải do đau ốm, hoặc lạc lối. Không có ai để giúp đỡ bạn khi bạn bị quá tải, bị phân tán bởi những cú điện thoại hoặc những buổi họp hành vô bổ, và những tác vụ vặt vãnh mà ai đó đã mang đến cho bạn vào phút cuối và bắt bạn phải hoàn thành ngay lập tức. Không có ai để phát triển ý tưởng của bạn, không có ai giúp bạn thoát ra khỏi tình trạng bế tắc, không có ai cộng tác với bạn trong việc thiết kế, kiến trúc hoặc tìm hiểu công nghệ. Bạn đang làm việc trong một môi trường chân không. Và trong chân không, thì không ai có thể nghe thấy tiếng la hét của bạn cả.

Nếu bất kỳ ai đang đọc bài này, thì hãy xem đây như là một bài học đối với bạn. Hãy suy nghĩ thật kỹ trước khi bạn chấp nhận một công việc với vai trò là một lập trình viên cô độc tại một công ty nào đó. Điều đó hoàn toàn chỉ là một dạng địa ngục kiểu mới mà thôi. Nếu có cơ hội, thì bạn hãy chọn lấy công việc được làm việc cùng với những lập trình viên khác, nơi mà bạn có thể ít ra thì cũng làm việc cùng những người mà có thể hướng dẫn bạn và giúp đỡ bạn phát triển các kỹ năng của mình, và giữ cho bạn luôn bắt kịp với công nghệ hiện tại.

Làm việc một mình là một sự cám dỗ đối với nhiều nhà phát triển phần mềm tuyệt vọng, người mà cảm thấy như bị bế tắc và vây quanh bởi sự bất tài và sự quản lý yếu kém trong cái sa mạc của cuộc đời. Làm việc đơn độc nghĩa là phải hoàn toàn kiểm soát một dự án phần mềm, sử dụng sức mạnh tối hậu cho mỗi quyết định của mình. Nhưng bạn phải tự tay làm tất cả các công việc trên một dự án phần mềm, thay vì trao quyền cho người khác, thì nghịch lý thay nó sẽ làm bạn suy yếu đi. Nó giống như là một ảo giác xuất hiện khi bạn đang đi trên sa mạc, khiến bạn càng lúc càng khát hơn và kiệt sức đi.

Trong lập trình thì số 1 là số cô đơn nhất.Giống như nhiều lập trình viên khác, tôi đã bị hấp dẫn với những chiếc máy tính từ khi còn bé bởi vì tôi là một người hướng nội. Thế giới của những chiếc máy tính – thật yên bình, là ốc đảo lý trý của những con số 1 và 0 – dường như mời gọi hơn nhiều so với thế giới con người phi lý, không thể giải thích nổi và các tương tác xã hội mà không có những sự rõ ràng đúng hay sai. Những chiếc máy tính thì không thể tốt hơn con người, chính xác là vậy, nhưng chúng thì chắc chắn một điều là dễ hiểu hơn con người rất nhiều.

Máy tính trong thời kỳ đầu, kỷ nguyên trước khi có internet thì rõ ràng là một hoạt động cô độc. Dani Berry, là tác giả của M.U.L.E., đã phát biểu một câu nói nổi tiếng như sau: “Không một ai nói trong lúc hấp hối rằng, ‘Trời ơi, tôi ước gì mình đã dành nhiều thời gian hơn với cái máy tính của mình.'” Nhưng chúng ta đã qua cái thời mà lập trình viên làm việc cô độc trên những chiếc máy tính 8-bit. Chính internet, và phạm vi cũng như độ phức tạp ngày càng tăng lên của phần mềm đã chắc chắn điều đó. Ngày nay, tôi có thể sẽ lập trình chẳng hiệu quả mấy nếu không có một kết nối internet; tôi cảm thấy như mình bị tê liệt khi không kết nối vào cái kho trí tuệ rộng lớn của nhân loại về kiến thức lập trình trên mạng internet.

Liệu có đoạn code bí truyền nào mà bạn không thể đưa cho bất kỳ ai? Làm sao mà bạn có thể học được những kỹ thuật trong nghề mà không cởi mở với những lập trình viên khác có những ý tưởng khác biệt, hướng tiếp cận khác, và những kỹ năng khác? Ai sẽ review code dùm bạn và nói với bạn rằng có một cách tiếp cận dễ hơn mà bạn đã không nhìn thấy? Nếu bạn nghiêm túc về nghề nghiệp lập trình của mình, thì bạn nên yêu cầu được làm việc cùng những đồng nghiệp khác.

Chỉ có một cách để bạn có thể tiến xa nhất trong lĩnh vực này là phụ thuộc vào chính bạn. Hãy tìm kiếm những lập trình viên thông minh khác. Làm việc cùng với họ. Nỗ lực trở thành một gã ham học hỏi nhất trong phòng, và bạn sẽ nhanh chóng khám phá ra rằng phát triển phần mềm có rất nhiều hoạt động xã hội hơn là phần lớn mọi người vẫn tưởng. Có rất nhiều thứ mà bạn có thể học từ những người đồng nghiệp có tính cách hướng nội của bạn.

Câu hỏi của Vinacode:

  1. Bạn có nghĩ phần lớn lập trình viên là người hướng nội không?
  2. Nếu câu 1 đúng, thì liệu họ là người hướng nội nên mới làm nghề lập trình hay do làm nghề lập trình nên mới có tính hướng nộ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.

Advertisements

6 comments on “Trong lập trình thì số 1 là con số cô đơn nhất

  1. Câu 1 theo em là hợp lí 🙂
    Câu 2 thì khó nói quá, nhưng chắc không phải do lập trình mới hướng nội, mà do hướng nội sẵn rồi. Bởi vì em nghĩ những người thích lập trình sẽ thích công việc nghĩ ngợi mà nghĩ ngợi thì khả năng cao là hướng nội 😀

Trả lờ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