Liệu việc viết code có quan trọng?

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

Bài viết 10 Bí quyết để giúp một lập trình viên trở thành doanh nhân của tác giả Ian Landsman là một lời khuyên tuyệt vời. Thậm chí nếu bạn không có ý định trở thành một doanh nhân đi chăng nữa.

Một trong những vấn đề lớn nhất mà tôi nhìn thấy ở các lập trình viên đó là họ suốt ngày chúi mũi vào những dòng code của mình mà không còn quan tâm đến vấn đề gì khác. Họ dành ra vô số thời gian để tạo ra một chức năng hoàn hảo hoặc xây dựng các đặc trưng để khoe khoang về công nghệ mới nhất nào đó. Hiện nay bạn phải viết code để có thể tồn tại trong ngành kinh doanh phần mềm. Đó là code viết ra phải có chất lượng cao mà không có nhiều bug hoặc thiếu an toàn. Tuy nhiên, phần code tốt nhất trên thế giới đó sẽ trở nên vô nghĩa nếu không ai biết về sản phẩm của bạn. Code đó sẽ trở nên vô nghĩa nếu mấy gã ở Cục Thuế đến và tống cổ bạn vào tù bởi vì bạn vẫn chưa thực hiện nghĩa vụ thuế. Code đó sẽ trở nên vô nghĩa nếu bạn bị kiện tụng bởi vì bạn đã không bận tâm về việc có một bản quyền phần mềm đã được tạo ra bởi một gã luật sư nào đó.

Ngày nay một lập trình viên cần phải có nhiều kỹ năng mới có thể thành công.Ngày nay một lập trình viên cần phải có nhiều kỹ năng mới có thể thành công.


Các nhà phát triển phần mềm yêu code. Nhưng chúng ta thường có khuynh hướng thiên lệch. Và chúng ta viết ra số lượng code ít hơn so với chúng ta nghĩ mình đã viết. Chúng ta dành quá nhiều thời gian để hiểu code hơn là viết code.

Dù sao đi nữa, như Landsman đã chỉ ra, tầm quan trọng của phần code mà chúng ta viết ra thì hoàn toàn bị lép vế bởi mọi thứ khác xung quanh nó. Hãy nhấc tay của bạn lên nếu bạn đã dồn hết con tim và khối óc của mình vào trong một ứng dụng mà chẳng bao giờ được ra lò. Tôi biết là tôi đã từng như vậy. Và đó chỉ là phần nổi của tảng băng trôi mà thôi; có hàng trăm lý do khác nhau để code của bạn viết ra có thể sẽ chẳng có chút ảnh hưởng nào lên thế giới này. Nếu không có ai biết về code của bạn, nếu không có ai có thể hiểu code của bạn, nếu vì bất cứ một lý do nào đó mà code của bạn thậm chí không được ra lò… thì bạn thực sự đã đạt được cái con khỉ gì khi ngồi viết ra phần code đó?

Có lẽ cách tốt nhất để trở thành một lập trình viên thành công đó là hãy loại bỏ hết toàn bộ các hoạt động mang lại giá trị thấp và ngừng việc viết code hoàn toàn. Như Steve Yegge đã giải thích:

Liệu bạn có bất kỳ một vài thần tượng trong lập trình nào không? Tôi có! Mặc dù có một điều hơi kỳ cục đó là tôi chưa từng bao giờ thực sự xem nhiều code của họ. Hầu hết các lập trình viên nổi tiếng mà tôi tôn trọng thì thường tạo ra sự ảnh hưởng của họ lên bản thân tôi thông qua các bài viết của họ, và đó thực sự chỉ là các bài viết văn xuôi, có thể cùng với một ít code rải rác trong đó.

Có những lập trình viên mà tôi ngưỡng mộ là những người đã tạo ra những sản phẩm mà tôi sử dụng rất nhiều. Nhưng khi tôi thử liệt kê ra một danh sách các lập trình viên mà mình ngưỡng mộ (ý tôi là những người mà tôi không quen biết), thì tôi nhận thấy hầu hết họ luôn rơi vào trong một (hoặc cả hai) của chỉ hai thể loại sau đây:

  1. Những người mà đã viết ra một ngôn ngữ lập trình hữu ích, một hệ điều hành, hoặc một framework đặc biệt quan trọng.
  2. Những người mà đã viết ra một cuốn sách thực sự rõ ràng và rành mạch về lập trình.

Khi một ai đó xây dựng một framework — bất kỳ môi trường nào mà chúng ta sống và thực sự thấy thích thú lập trình trong đó — và sẽ có một người được xem là “cha đẻ” và là tác giả đầu tiên của cái framework đó, sau đó tôi nghĩ rằng chúng ta thường có khuynh hướng ngưỡng mộ vị tác giả này, và không giống như những lập trình viên khác, người đó bắt đầu trở nên nổi tiếng.

Thậm chí nếu họ là một tay lập trình viên tồi.

Và chúng ta cũng không thực sự biết được vị tác giả đó có phải là một tay lập trình viên tồi hay không, bởi vì chúng ta có thường xuyên nhìn vào mã nguồn của framework mà chúng ta sử dụng đâu? Bạn đã dành bao nhiêu thời gian cho việc ngâm cứu mã nguồn của một trình biên dịch, trình thông dịch của một ngôn ngữ lập trình ưa thích hoặc một VM (máy ảo)? Theo thời gian thì những hệ thống đó đã trở nên rất hiệu quả và hữu ích, và đến lúc đó thì có bao nhiêu code mà vị tác giả ban đầu đã thực sự viết ra?

Liệu có phải là tôi đang nói với các lập trình viên rằng hãy ngừng viết code? Không, không thực sự là như vậy. Các lập trình viên thường đã là các tay giỏi viết code rồi. Đó là lý do tại sao mà họ lại chọn để trở thành một nhà phát triển phần mềm. Việc viết thật nhiều code thì chỉ là bạn đang đào sâu hơn vào một kỹ năng mà bạn đã đặc biệt chuyên sâu rồi. Cái mà tôi đang đề xuất đó là chúng ta hãy dành ít thời gian để viết code đi và dành nhiều thời gian hơn để phát triển các kỹ năng trong những lĩnh vực khác mà có thể bổ sung cho những kỹ năng coding của chúng ta. Hãy trở thành một người viết lách tốt hơn. Hãy trở thành một người diễn thuyết tốt hơn. Hãy cải thiện những kỹ năng mềm của bạn. Hãy tham gia đóng góp tích cực vào cộng đồng. Cố gắng dành một chút thời gian để nói chuyện với con người thay vì cứ luôn ôm cứng lấy trình biên dịch. Đó là cách để có thể phân biệt bản thân bạn ra khỏi những tay đồng nghiệp xoàng xĩnh của bạn. Và đó cũng là cách để bạn trở thành một nhà phát triển phần mềm giỏi hơn.

Dĩ nhiên, đây không phải là một trò chơi theo kiểu được cái này thì mất cái kia. Bạn có thể có được cả hai mục tiêu. Về mặt lý tưởng, bạn viết code trước, và sau đó bạn viết và nói về phần code đó theo một cách mà truyền cảm hứng và làm sáng tỏ cho những người khác. Nhưng chúng ta không có một số lượng thời gian vô tận phải không nào? Vì vậy nếu bạn phải lựa chọn giữa việc viết code và viết về code, thì hãy nhớ vế nào của phương trình trên là quan trọng hơn– và hãy tìm cách cân đối sao cho phù hợp.

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.

2 comments on “Liệu việc viết code có quan trọng?

  1. Có ai có cảm giác là viết code cho chuẩn đã rồi mới dám viết về code không?

    Nhưng mà lại không biết là đến khi nào thì mới viết code cho chuẩn được, và chuẩn là phải như thế nào? :))

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