Lập trình: không cần thông minh hay đam mê

Spread the love

Có thể nói lập trình là một nghề mà hay được người ta thần thành hóa lên như thế này:

“Bạn cần phải thông minh và đam mê để có thể trở thành một lập trình viên giỏi”

hay

“Bạn cần phải có ý nghĩ về việc theo đuổi nghề này từ nhỏ. Nếu thiếu điều đó, bạn sẽ không thể thành công được”.

Đó là những định kiến hoàn toàn sai lầm theo quan điểm của nhiều lập trình viên thành công.

Jacob Kaplan-Moss (sáng lập Django)

Trong bài thuyết trình của mình, anh đã chia sẻ:

Việc thần thánh hóa lập trình viên thiên tài (genius) rất nguy hiểm. Nó đặt ra ngưỡng đầu vào rất cao, khiến cho nhiều người đáng lẽ trở thành lập trình viên nản chí và bỏ qua cơ hội. Mặt khác, nó ám ảnh những người đang lập trình vì cơ bản, nếu bạn không là thiên tài thì bạn là đồ bỏ đi. Hệ quả là, khi là một lập trình viên, bạn phải dành phần lớn thời gian của mình để học thêm nữa và làm việc…, điều đó ảnh hưởng đến chất lượng cuộc sống. Chúng ta cần phải từ bỏ tư tưởng đó. Lập trình chỉ là một khối các kĩ năng cần phải học, nó không yêu cầu quá nhiều sự thông minh và cũng chẳng có gì phải xấu hổ khi là một lập trình viên tầm thường.

Trên trang cá nhân Twitter của mình, anh tự nhận mình “không phải lập trình viên thực thụ” vì anh ấy không có đủ các kĩ năng như cách hiểu sai lầm trên.

Jacob Thornton (người tạo ra Bootstrap)

Jacob Thornton là người viết Bootstrap (sản phẩm đạt được 80.000 sao trên Github), đã từng làm cho Twitter và hiện đang làm tại Medium. Trả lời của anh trong một cuộc phỏng vấn đưa ra một phản ví dụ về việc thần thánh hóa này.

Khi anh ấy nói là “tôi ghét máy tính”, anh ấy hoàn toàn nghiêm túc, “tôi đã định học xã hội học tại trường New School”.

Anh ấy mô tả công việc đầu tiên của mình:

“Tôi có được công việc mà không liên quan gì đến bằng cấp và có thể bị đuổi việc bất cứ lúc nào. Tôi làm việc rất chăm chỉ và học thêm Javascript vì không biết ngày mai sẽ như thế nào”.

Và một lần bị soi khi code:

“Tôi nhớ nhất khi mà cả team startup vây quanh tôi, yêu cầu lập trình XHR request. Tôi chưa bao giờ làm và chỉ biết sơ sơ. Tôi bắt đầu viết code và tải lại trình duyệt, có vẻ không được. Tôi thử một vài lần không được. Tôi thấy lo lắng, họ sẽ nhận ra tôi thật ra rất kém cỏi. Sau đó, tôi nhận ra là tôi thiếu “.send()” và chạy lại. Và lần này, tôi đã thành công, trang web xuất hiện. Cả team ồ lên khen ngợi và trở về lại chỗ ngồi của mình.”

“Tôi ngồi đó 15 phút suy nghĩ. À, ra là vậy. Mình cũng có thể làm được. Mình sẽ không bị đuổi việc”

Nghe những lời chia sẻ này, hẳn các bạn sẽ chẳng nghĩ đó là một lập trình viên thiên tài. Anh ấy còn chẳng biết viết Javascript như thế nào lúc ban đầu. Vậy cái gì đã dẫn anh ấy đi đến thành công, anh ấy trả lời:

“Tôi được mọi người khích lệ nhiều. Những người bạn lập trình front-end đã giúp đỡ tôi nhiều khi code của tôi có vấn đề. Điều đó thật tuyệt. Tôi muốn lập trình và làm việc với những người bạn như vậy”.

Trên trang Twitter, anh chàng này cũng tự nhận mình là một “lập trình viên thua cuộc” (“computer loser”). Quan điểm đối với nghề lập trình này đối ngược với quan điểm kinh điển về lập trình ở trên.

Rasmus Lerdorf (người tạo ra PHP)

 Còn đây là những chia sẻ của Rasmus:

Tôi thực ra ghét lập trình, nhưng tôi thích giải quyết vấn đề.

Tôi cũng không hiểu tại sao có những người thích lập trình.

Tôi không phải là lập trình viên. Tôi cứ làm cho đến khi nó chạy là tôi lại chuyển sang cái khác. Còn mấy anh lập trình viên sẽ nói “Nó chạy rồi đấy nhưng mà còn bị rò rỉ bộ nhớ. Chúng ta phải sửa lỗi đã”. Tôi sẽ chỉ khởi động lại Apache sau mỗi 10 request.

Từ những gì anh chia sẻ, khó mà nói anh ấy có đam mê với máy tính không. Cũng giống như Jacob Kaplan-Moss và Jacob Thornton – những người không có nhu cầu làm công việc của mình trở nên khó hiểu – Ramus tự nhận mình chỉ có vẻ là lập trình viên thôi.

David Heinemeier Hansson (người tạo ra Rails)

Đây là một số nội dung lời nói của David trong bài phỏng vấn của Big Think:

“Tôi nhận thấy lúc tôi lập trình PHP hay Java, tôi luôn tìm kiếm một cái gì đó khác. Tôi luôn tìm kiếm một ngôn ngữ lập trình mới hoặc cái gì đó, chỉ để khỏi cảm thấy nhàm chán với ngôn ngữ mình đang dùng.

Tôi cũng không nghĩ mình sẽ trở thành một lập trình viên khi tôi dùng PHP hay Java”.

Nghe có vẻ cũng không giống suy nghĩ của một lập trình viên thiên tài nhỉ? Cuối cùng thì anh ấy lại thích không phải là máy tính mà là sự “thanh lịch” của Ruby, một ngôn ngữ lập trình. Nếu Ruby không được tạo ra, David có thể đã làm một cái gì đó khác.

Kết luận

Từ những chia sẻ trên, có thể thấy có rất nhiều quan điểm bác bỏ sự kì bí của việc lập trình. Lo lắng về việc có là một thiên tài lập trình hay không thậm chí có thể kéo bạn chậm lại và “giết chết” bạn.

Đối với những người đang học lập trình, lo lắng mình có đủ năng lực không, thì tôi sẽ khuyên là: hãy thử một vài cách học khác xem sao. Thường các vấn đề sẽ nằm ở cách bạn học, thái độ của bạn đối với việc học. Đừng từ bỏ trừ khi bạn đã thử rất nhiều cách. Lập trình không cần thông minh và cũng không cần đam mê.

Nguồn: Medium

Leave a Reply