Việc lập trình chẳng cần tài năng hoặc thậm chí đam mê
Chưa bao giờ có một kỹ năng nào mà bị lầm tưởng nhiều đến mức như thế này: Bạn không chỉ cần có tài năng, mà bạn cũng cần phải có thêm đam mê mới có thể trở thành một lập trình viên giỏi. Nó cứ như thể nếu ai đó là lập trình viên thì họ đã có quyết định rằng, “họ sẽ làm ...
Chưa bao giờ có một kỹ năng nào mà bị lầm tưởng nhiều đến mức như thế này:
Bạn không chỉ cần có tài năng, mà bạn cũng cần phải có thêm đam mê mới có thể trở thành một lập trình viên giỏi.
Nó cứ như thể nếu ai đó là lập trình viên thì họ đã có quyết định rằng, “họ sẽ làm nghề viết code trong tương lai ngay từ khi còn là những đứa trẻ.” Nếu bạn thiếu hụt một trong những điều kiện này thì bạn chỉ là một kẻ mạo danh hoặc cũng chẳng thể tiến xa trong sự nghiệp được. Thực ra những định kiến sâu đậm như vậy không phải là hoàn toàn sai, sau đây chúng ta hãy cùng xem xét một số quan điểm được chia sẻ bởi nhiều lập trình viên thành công.
Jacob Kaplan-Moss (cha đẻ của Django)
Trong bài thuyết trình này, Jacob Kaplan-Moss đã nói rằng:
Lầm tưởng về “lập trình viên thiên tài” là cực kỳ nguy hiểm. Một mặt, nó tạo ra một điểm ngưỡng quá cao và tạo ra sự lo lắng cho nhiều người muốn trở thành lập trình viên. Mặt khác, nó cũng ám ảnh những người đã là lập trình viên, bởi vì nó có nghĩa rằng nếu bạn không “cao thủ” trong lập trình thì về cơ bản bạn rất tồi. Kết quả là, với tư cách là một lập trình viên, tất cả thời gian của bạn là dành vào việc học lập trình và làm việc thật nhiều, điều này có tác động rất lớn đến chất lượng cuộc sống của bạn… Chúng ta cần phải thoát khỏi quan điểm này. Lập trình chỉ là một tập các kỹ năng có thể học được, nó không đòi hỏi nhiều tài năng, và không có gì đáng xấu hổ khi là một lập trình viên bình thường cả.
Trên profile Twitter của mình, ông mô tả mình “không phải là một lập trình viên thực thụ”, điều đó đã cho thấy rằng ông có đủ tỉnh táo để phản đối những quan niệm sai lầm.
Jacob Thornton (cha đẻ của Bootstrap)
Jacob Thornton trước đây là lập trình viên cho Twitter và hiện tại là cho Medium, được biết đến là cha đẻ của Bootstrap, dự án đã đạt được hơn 80.000 star trên Github. Phần trả lời của ông trong một cuộc phỏng vấn là một ví dụ khác để chống lại lầm tưởng này:
Một trích đoạn trong bài viết Jacob Thornton Hates Computers:
khi ông ta nói, “Tôi ghét máy tính,” ông ấy không hoàn toàn nói đùa. “Tôi sẽ đi học môn xã hội học tại trường New School”.
Sau đó ông tiếp tục mô tả công việc đầu tiên của mình:
“Tôi đã kiếm được một công việc mà thậm chí mình đã không đủ trình độ cho nó. Mỗi ngày, tôi có thể bị sa thải bất cứ lúc nào. Tôi đã làm việc rất chăm chỉ, cố gắng tìm hiểu nhiều hơn về Javascript bởi vì tôi không biết điều gì sẽ xảy ra với mình.”
“Khoảnh khắc đáng nhớ nhất của cuộc đời tôi là khi toàn bộ team phát triển của startup này tập trung xung quanh tôi, hỏi về một request XHR. Tôi chưa bao giờ thực hiện nó, và chỉ hơi biết về nó. Vì vậy, tôi bắt đầu gõ vài dòng code rồi refresh trình duyệt và chẳng có chuyện gì xảy ra cả. Tôi đã làm như vậy một vài lần. Tôi bắt đầu lo sợ rằng họ sẽ nhận ra tôi là một kẻ lừa đảo. Sau đó, tôi nhận ra rằng mình đã quên thêm phương thức ‘.send()’ – Tôi đã thêm nó, rồi nhấn refresh và trang web đã xuất hiện, cả nhóm đều thốt lên, ‘Oh, tuyệt vời.’ Và sau đó tất cả họ trở lại bàn làm việc của mình.”
“Tôi ngồi đó trong vòng 15 phút, và suy nghĩ về nó. Vậy là tôi đã nhận được công việc này và sẽ không bị sa thải nữa”.
Câu chuyện này nghe có vẻ chẳng giống như cách thể hiện của một “lập trình viên thiên tài” trong công việc của họ. Vậy thì đâu là động lực để làm cho người ta tiến vào con đường này. Jacob trả lời rằng:
“Tôi có nhiều động lực về mặt xã hội, và những người bạn là front-end developer sẽ cho tôi biết trong những điều kiện không chắc chắn thì liệu những góc bo tròn trên trang web của tôi có bị vỡ hoặc một cái gì đó trông rất tệ trong một trình duyệt đặc thù nào đó. Điều đó thật tuyệt vời. Tôi thực sự chỉ muốn viết code và làm việc với những người bạn của mình.”
Trong profile Twitter của mình, ông đã mô tả mình là “kẻ thất bại trong lĩnh vực máy tính.” Post được upvoted nhiều nhất trên tài khoản Twitter của ông là post mà ông đã mô tả mình là “kỹ sư tồi nhất tại công ty, nhưng là kẻ thú vị thứ ba”. Đây là kiểu thái độ hoàn toàn trái ngược với những gì được mong đợi từ một lập trình viên hàng đầu.
Rasmus Lerdorf (cha đẻ của PHP)
Những nhận xét của Rasmus Lerdorf thường gây ra nhiều tranh cãi:
* Tôi thực sự ghét lập trình, nhưng tôi thích giải quyết những vấn đề.
* Có những người thực sự thích lập trình. Tôi cũng chẳng hiểu lý do tại sao họ lại thích lập trình.
* Tôi không phải là một lập trình viên thực thụ. Tôi kết hợp một số thứ lại với nhau cho đến khi giải pháp đó hoạt động và tôi chuyển sang việc khác. Những lập trình viên đích thực sẽ nói “Vâng, nó hoạt động nhưng bạn đang bị rò rỉ bộ nhớ ở khắp nơi. Có lẽ chúng ta nên khắc phục điều đó.” Tôi chỉ cần khởi động lại máy chủ Apache sau mỗi 10 request.
Từ những phát biểu của mình, thật khó để biết được ông đã dành ra bao nhiêu đam mê cho máy tính. Giống như Jacob Kaplan-Moss và Jacob Thornton, những người không cảm thấy cần phải làm rõ thêm về những lầm tưởng trong lập trình, ông có thể cũng cảm thấy tốt khi tự gọi bản thân mình là một lập trình viên bình thường.
David Heinemeier Hansson (cha đẻ của Rails)
Khi được phỏng vấn bởi Big Think, DHH đã đề cập rằng:
Có một điều thú vị là; khi tôi sử dụng PHP hoặc Java để phát triển ứng dụng, lúc đó tôi luôn cố 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 khác, hay… chỉ là một cái gì đó khác, một thứ gì đó giúp tôi quên đi sự tẻ nhạt trong các ngôn ngữ tôi đang sử dụng.
Tôi đã hoàn toàn không tin rằng mình sẽ là một lập trình viên khi tôi làm việc với PHP và Java.
Một lời giới thiệu bản thân có vẻ không giống như của một “thiên tài máy tính.” Sau cùng cái mà anh dành tình yêu không phải là bản thân chiếc máy tính, mà chính là sự tao nhã của Ruby, một ngôn ngữ lập trình. Nếu Ruby không được tạo ra, thì DHH có thể đã làm một cái gì đó hoàn toàn khác lúc này.
Từ những ví dụ ở trên, chúng tôi đã chứng minh rằng có vô số bài viết khác ngoài kia mà tất cả chúng đều bác bỏ những lầm tưởng về khuôn mẫu lập trình viên. Dưới đây là một vài câu nói đùa yêu thích của các lập trình viên, được trích trong bài viết: 59 câu nói vui nhưng phản ánh đúng về nghề nghiệp của các lập trình viên.
* Phần mềm như c*t do một người này viết ra là công việc toàn thời gian của một người khác. (Jessica Gaston)
* Bất kỳ thằng ngốc nào cũng có thể viết code để một máy tính có thể hiểu được. Các lập trình viên giỏi viết code để cho những người khác có thể hiểu được.
* Phần mềm và nhà thờ có rất nhiều điểm giống nhau – đầu tiên chúng ta xây dựng chúng, sau đó chúng ta cầu nguyện. (Sam Redwine)
Nếu tất cả các lập trình viên thực sự đều có nhiều tài năng và đam mê, thì tại sao những câu nói đùa này lại rất phổ biến trong cộng đồng lập trình viên?
Tôi tìm thấy một vài trích dẫn thú vị từ một bài viết trên Medium, nó cộng hưởng với kinh nghiệm của tôi trong việc học lập trình:
* Một ai đó sẽ luôn nói với bạn rằng bạn đang làm sai
* Một ai đó sẽ luôn nói với bạn rằng bạn không phải là một coder thực thụ.
* Những lo lắng về “văn hóa lập trình” sẽ từ từ giết chết bạn
Bài viết này không phải được viết ra để thách thức những định kiến của mọi người đối với nghề lập trình, những lầm tưởng vô lý của việc làm thế nào để trở thành một lập trình viên. Nếu có ai đó đang trên con đường học lập trình, nhưng bắt đầu nghi ngờ liệu họ có thích hợp, hay liệu họ có đủ trình độ hay không, thì tôi chỉ muốn nói với họ rằng: hãy thử nhiều cách khác nhau để học, đừng lo lắng về những lời nói bóng gió vô căn cứ về những điều kiện hoặc bất cứ điều gì. Thông thường vấn đề chỉ nằm ở cách bạn đang học, hoặc thái độ của bạn hướng theo việc học lập trình. Đừng bỏ cuộc, trừ khi bạn thực sự không hiểu một điều gì đó sau khi thử nhiều phương pháp khác nhau. Lập trình không cần có tài năng, và cũng chẳng đòi hỏi niềm đam mê!
Techtalk via Techmaster