Liệu kỹ năng viết có quan trọng hơn lập trình?

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

Một bài blog wikipedia không chính thức có tên là Tương Lai Của Mã Nguồn Mở 5 Năm Về Trước tạo ra một so sánh thú vị giữa tỉ lệ sử dụng hệ điều hành Linux và tỉ lệ sử dụng bách khoa toàn thư mở Wikipedia.

Liệu kỹ năng viết có quan trọng hơn lập trình?Liệu kỹ năng viết có quan trọng hơn lập trình?

Linux chạy trên máy chủ vẫn là một lực lượng mạnh mẽ, nhưng điều xảy ra với máy desktop thì đúng là khó tưởng tượng đến nỗi nó được cho là sẽ phế truất ngôi vị của Windows? Và điều tương tự cũng đang xảy ra với sự phát triển của Wikipedia?

Với nguyên tắc là bất kỳ ai cũng có thể đóng góp vào một dự án mã nguồn mở, những rào cản để gia nhập đóng góp cho Linux thì cao hơn so với việc đóng góp cho Wikipedia. Thậm chí việc chỉnh sửa một số bug Linux thì cũng vượt quá khả năng chuyên môn của tôi, nhưng bà ngoại tôi có thể chỉnh sửa nội dung trên Wikipedia. Tất cả bạn cần là một đường kết nối internet và biết đọc viết (đọc viết ở mức trung bình; những người khác sẽ sửa ngữ pháp và chính tả cho bạn).

Wikipedia có thể thu hút một nửa tỉ người trên thế giới tham gia đóng góp trong tương lai; nhưng chỉ có khoảng 100,000 người có thể viết code cho Linux.

Thực ra rất khó để nói về sự khác biệt này.

Để minh họa điều này, bài viết đã cung cấp một biểu đồ khá buồn cười.

kỹ năng lập trình và viếtTôi đã thay đổi kích thước biểu đồ đó cho dễ nhìn hơn. Bạn hãy click vào nó để xem nó ở kích thước lớn hơn. Những dòng chữ được viết hai bên biểu đồ thì rất khó để đọc. Dòng chữ bên trái là..

Số lượng các lập trình viên có thể đóng góp tới Linux, bao gồm cả việc fix những bug nhỏ.

Và dòng chữ phía bên phải là gì?

Số lượng người trên thế giới có thể nói tiếng Anh đủ tốt để chỉnh sửa Wikipedia và người mà có truy cập internet. (Ở đây đã bao gồm cả những người không nói tiếng Anh bản xứ. Biểu đồ bỏ sót mất những người đóng góp tiềm năng tới các trang wikipedia không phải nội dung tiếng Anh, chỉ bởi vì cái biểu đồ này thì đã quá cao một cách lố bịch. (Okay, và bởi vì các trang wikipedia của các ngôn ngữ khác, ở một mức độ nào đó, là những ốc đảo riêng biệt và không có chức năng như là một khối thống nhất.))

Có thể là không công bằng khi đem so sánh lập trình và viết theo cách này, nhưng tôi đang nhớ lại lời khuyên kinh điển của Joel Spolsky dành cho những sinh viên ngành Khoa học Máy tính:

Sự khác nhau giữa một lập trình viên trung bình và một lập trình viên vĩ đại thì không phải là bao biêu ngôn ngữ lập trình mà họ biết, và nó cũng không phải là họ có thích Python hay Java hơn. Mà nó là liệu họ có thể truyền đạt những ý tưởng của họ hay không. Bằng cách thuyết phục những người khác, họ sẽ nhận được lực đòn bẩy. Bằng cách viết ra những comment và các đặc tả kỹ thuật một cách rõ ràng, họ cho phép những lập trình viên khác hiểu được code của họ, điều này nghĩa là những lập trình viên khác có thể sử dụng và làm việc với code của họ mà không phải viết lại nó. Nếu thiếu hụt điều này, thì code của họ sẽ trở nên vô giá trị. Bằng cách viết ra những tài liệu kỹ thuật rõ ràng cho người dùng cuối, họ cho phép mọi người hiểu được code của họ có mục đích là để làm gì, đây là cách duy nhất để những người dùng khác có thể nhìn thấy giá trị trong code của họ. Có rất nhiều dòng code tuyệt vời và hữu ích đã bị chôn vùi ở một nơi nào đó trên sourceforge mà không ai sử dụng, bởi vì nó đã được tạo ra bởi những lập trình viên mà không có khả năng viết tốt lắm (hoặc thậm chí là chẳng viết chút nào cả), và vì vậy không có ai biết cái mà họ đã hoàn thành và những dòng code sáng chói của họ sẽ bị héo mòn và tàn úa theo thời gian.

Lập trình, giống như tất cả các loại viết, thì chỉ là một hình thức khác của truyền thông. Viết code để cho trình biên dịch hiểu được thì rất dễ. Viết code mà để những người khác có thể hiểu được thì khó hơn rất nhiều. Và giả sử rằng bạn có đủ độ thuyết phục để làm cho những người khác tin tưởng rằng code của bạn, trong một thế giới mà tràn ngập code miễn phí như ngày nay, thì có giá trị để tìm kiếm đầu tiên.

Chúc may mắn. Bạn sẽ cần đến kỹ năng viết này.

Chỉ vài năm nữa thôi, Wikipedia (và một số trang web chị em với Wikipedia) sẽ có thể so sánh được với Linux về kinh tế và tầm quan trọng xã hội. Có thể Linux sẽ bắt kịp trở lại một vài thập kỷ sau đó, nếu các trường học bắt đầu dạy nhiều trẻ em lập trình hơn là dạy chúng tập viết.

Đoạn trích trên được viết vào tháng 8 năm 2005. Lúc đó tôi đã tranh luận rằng Wikipedia đã có ý nghĩa nhiều hơn đối với những người sử dụng internet trung bình hơn là Linux tại thời điểm đó. Giờ đây thì điều đó không còn phải bàn cãi.

Các kỹ năng lập trình kỹ thuật thì chắc chắn là quan trọng. Nhưng các kỹ năng viết và truyền thông nói chung thì quan trọng hơn rất, rất nhiều. Thậm chí nếu bạn chỉ đơn thuần là một lập trình viên khiêm tốn.

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

2 comments on “Liệu kỹ năng viết có quan trọng hơn lập trình?

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 Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s