Làm ơn đừng học lập trình

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

Lời bàn của Vinacode:

Lần trước mình thấy Mark Zuckerberg (ông chủ Facebook) có đặt mục tiêu học tiếng Trung; nhưng rõ ràng đó cũng là một lý do chính đáng vì anh ta có cô bạn gái gốc Hoa 🙂 Nhưng lần này ông thị trưởng thành phố New York đặt mục tiêu học lập trình thì cũng thấy ngồ ngộ. (Bạn thử tưởng tượng một ông thị trưởng của một thành phố trung tâm tài chính của cả thế giới là New York, 72 tuổi, người giàu thứ 12 nước Mỹ với khối tài sản 19,5 tỷ đô-la ngồi học lập trình mà xem 🙂 ) Dưới đây là ý kiến của Jeff Atwood (sáng lập ra trang web hỏi đáp nổi tiếng StackOverflow) về việc này. Mặc dù bài viết này từ năm 2012, nhưng mình xin dịch lại, hy vọng sẽ mang lại cho bạn vài góc nhìn thú vị. Chúc bạn tuần mới nhiều niềm vui và làm việc hiệu quả!

“Tất cả mọi người đều nên học lập trình” là câu nói của ngài thị trưởng thành phố New York, Hoa Kỳ (Mike Bloomberg) trên trang twitter của ông, khi ông đặt mục tiêu học lập trình trong năm 2012.

Hành động của đại gia này được xem là nhằm mục đích chiếm được cảm tình của cộng đồng công nghệ tại thành phố New York và những lá phiếu bầu của họ; nhưng nếu như ngài thị trưởng của thành phố New York thực sự cần viết những dòng JavaScript để giải quyết những công việc của ông ta, thì chắn chắn có điều gì đó vô cùng tồi tệ đang xảy ra trong hệ thống chính trị của thành phố New York. Thậm chí nếu ngài Bloomberg có “học lập trình” thật thì tôi mong rằng mọi thứ cũng sẽ chỉ nên kết thúc kiểu như thế này:

10 PRINT “TÔI LÀ ÔNG THỊ TRƯỞNG”
20 GOTO 10
Thị trưởng thành phố New York là Bloomberg học lập trình.Kế hoạch trong năm mới của tôi là học lập trình với trang web Codecademy, hãy tham gia cùng tôi!


May mắn thay, điều kỳ quặc này có lẽ sẽ không xảy ra, bởi vì một lý do chính đáng đó là: hy vọng rằng ngài thị trưởng của thành phố New York sẽ dùng khoảng thời gian của ông để làm những việc mà những người dân thành phố đang đóng thuế để trả lương cho ông ta. Theo như trang web của văn phòng thị trưởng, thì điều này có nghĩa là ông ta sẽ làm việc trên hệ thống giáo dục, cải thiện chất lượng dịch vụ giao thông công cộng, và quản lý ngân sách thành phố trong năm 2013 và … rất nhiều công việc khác!

Đối với những người đang tranh cãi rằng liệu lập trình có phải là một kỹ năng căn bản mà chúng ta nên dạy lũ trẻ của mình, cùng với các kỹ năng thiết yếu khác như đọc, viết và tính toán số học hay không, thì tôi xin hỏi bạn một câu rằng: bạn có thể giải thích dùm tôi xem liệu ngài thị trưởng Michael Bloomberg có làm tốt hơn công việc hàng ngày của ông ta trong việc điều hành hoạt động của thành phố lớn nhất nước Mỹ, nếu bỗng dưng ông ta thức dậy vào một buổi sáng đẹp trời và trở thành một tay lập trình Java xuất sắc? Điều dễ nhận thấy đối với tôi đó là việc thành thạo những kỹ năng như đọc, viết và chí ít là một số kiến thức toán ở mức trung học là nền tảng để làm việc trong công việc của một chính trị gia, hay bất kỳ một công việc nào khác. Nhưng việc hiểu khái niệm về biến, hàm, con trỏ và đệ quy thì có ích lợi gì không? Tôi không thể nhận thấy giá trị của nó!

Như bạn biết đấy, tôi rất yêu quý công việc lập trình. Tôi cũng tin rằng lập trình là rất quan trọng … nhưng chỉ quan trọng trong đúng ngữ cảnh, và chỉ phù hợp với một số ít người. Ngoài nó ra còn có rất nhiều những kỹ năng khác. Tôi sẽ không bao giờ thuyết phục bất kỳ ai nên học lập trình hay là học sửa ổng nước cả. Đó là điều khá khôi hài, phải không bạn?

Một số người nổi tiếng đang khuyên các bạn trẻ nên học kỹ năng sửa ống nước.Một số người nổi tiếng đang khuyên các bạn trẻ nên học kỹ năng sửa ống nước.

Phong trào “tất cả mọi người đều nên học lập trình” không những chỉ sai lầm trong việc xem kỹ năng lập trình quan trọng ngang bằng với các kỹ năng thiết yếu của cuộc sống như đọc, viết và tính toán. Nó còn là sai lầm trong nhiều phương diện khác nữa:

– Cứ cho rằng càng có nhiều người làm nghề lập trình trên thế giới này là một điều đáng mong muốn. Nhưng trong 30 năm làm nghề lập trình viên của mình, tôi nhận thấy điều này … không có ích lợi gì. Bạn có nên học code không? Không, tôi không thể nhận thấy được lợi ích gì vì điều đó. Bạn nên học cách để viết ít code nhất có thể.

– Cứ cho rằng lập trình là mục tiêu của bạn. Các lập trình viên phần mềm có xu hướng nghiện lập trình, những người này luôn nghĩ công việc của họ là viết code. Nhưng thực ra điều đó không đúng. Công việc của chúng ta là giải quyết vấn đề. Đừng tán dương việc tạo ra những dòng code, hãy hoan nghênh việc tạo ra các giải pháp. Chúng ta có rất nhiều lập trình viên mà chỉ chăm chăm viết ra những dòng code đã có rồi.

– Nên tìm kiếm những giải pháp khi gặp phải vấn đề. Trước khi bạn đổ xô vào học lập trình, hãy nhận ra rằng vấn đề thực sự của bạn là gì. Thậm chí liệu bạn có đang gặp phải một vấn đề nào đó cần giải quyết hay không? Bạn có thể giải thích nó cho những người khác theo cách mà họ có thể hiểu được không? Bạn đã nghiên cứu vấn đề đó và tìm kiếm những giải pháp có thể cho nó một cách sâu sắc hay chưa? Việc lập trình có giải quyết được vấn đề đó hay không? Bạn có chắc chắn điều đó không?

– Cứ cho là việc này sẽ bổ sung thêm một số lập trình viên ngây thơ, chưa có kinh nghiệm và thậm chí họ còn không biết mình có yêu thích công việc lập trình hay không nữa. Tôi nghĩ rằng có một điều hoàn toàn đúng là một lập trình viên tồi có thể tạo ra hai công việc mới trong một năm. Hầu hết những người này tự xưng là lập trình viên mà thậm chí không hề biết lập trình, vì thế hãy thứ lỗi cho những nghi ngờ của tôi về phong trào “mọi người đều có thể học code”.

– Tôi muốn nhấn mạnh rằng, có một ranh giới mong manh giữa học lập trình và có thể kiếm được một công việc lập trình được trả lương tốt. Nếu chỉ vì thấy một số lập trình viên mới vào nghề mà đã kiếm được công việc có mức lương trung bình $79,000 đô-la/năm (xấp xỉ 1,6 tỷ VNĐ) sau khi chỉ tham gia khoảng 2,5 tháng huấn luyện! Hoặc nghĩ rằng bạn có thể thể tự học ngôn ngữ Perl trong 24 giờ, thì đó là một điều sai lầm. Rõ ràng bằng cấp và chứng chỉ chẳng thể hiện được kinh nghiệm của bạn, bạn vẫn phải luyện tập lập trình 10,000 ngàn giờ giống như tất cả chúng tôi.

Cứ cho rằng tôi có thể ủng hộ việc học một chút về lập trình chỉ để bạn có thể biết được lập trình là cái gì, và khi nào thì lập trình là cách tiếp cận đúng đắn để giải quyết một vấn đề mà bạn gặp phải. Nhưng tôi cũng có thể nhận ra những vấn đề về đường ống nước khi tôi nhìn thấy chúng mà chẳng cần phải tham gia bất kỳ một khóa huấn luyện đặc biệt nào cả. Đối với mọi người nói chung (và cả các nhà lãnh đạo nữa) thì điều ích lợi nhất là nên hiểu một cách cơ bản về cách làm việc của máy tính và Internet. Việc có khả năng sử dụng thành thạo Internet đang dần trở thành một kỹ năng cơ bản của cuộc sống, và hầu hết chúng ta nên quan tâm về điều đó trước tiên, trước khi tất cả chúng ta cắm cổ nhảy vào học lập trình.

Làm ơn đừng ủng hộ việc học lập trình chỉ vì mục đích học cho biết lập trình là như thế nào. Hoặc tệ hơn là bởi vì ngành này có mức lương hậu hĩnh. Thay vì đó, tôi xin gợi ý rằng chúng ta nên dành thời gian của mình vào việc học làm thế nào để…

  • Nghiên cứu tìm hiểu xem mọi thứ xung quanh chúng ta hoạt động như thế nào ở mức cơ bản nhất.
  • Giao tiếp một cách hiệu quả với những người khác.

Những kỹ năng này thì còn có giá trị hơn nhiều là việc lập trình đơn thuần và sẽ giúp ích cho bạn rất nhiều trong nhiều mặt của cuộc sống.

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

Thông tin thêm về ngài thị trưởng thành phố New York:

Michael Rubens Bloomberg (sinh 14 tháng 2, 1942) là đương kim thị trưởng Thành phố New York. Với khối tài sản 19,5 tỉ đô la Mỹ vào 2011, ông là người giàu thứ 12 ở Hoa Kỳ. Ông sáng lập và sở hữu 88% Bloomberg L.P., một công ty truyền thông về tin tức tài chính và dịch vụ thông tin. Bạn có thể xem thêm thông tin tại Wikipedia.

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

3 comments on “Làm ơn đừng học 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