程式設計不需要天賦和激情

2016-06-20    分類:推薦閱讀、程式設計師人生、首頁精華1人評論發表於2016-06-20

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

以往從來沒有一種技能被神化到這樣的高度:

你不僅得有天賦,還得具備激情,才能成為一名優秀的程式設計師

好像那些寫程式碼的人是早就決定幹這一行似的,“當他們還是孩子的時候,他們就打算將來去寫程式碼”。如果你缺少這兩個因素之一,那麼你要麼是一個騙子,要麼不會走得太遠,不論是哪種,其實都是因為你不適合程式設計的緣故。這種根深蒂固的成見不僅是完全錯誤的,而且還是有害的——但是許多成功的程式設計師都贊同這個觀點。

Jacob Kaplan-Moss (Django的建立者)

在這篇描述中,Jacob Kaplan-Moss指出:

神化“天才程式設計師”是極其危險的。一方面,它設定了極高的准入門檻,嚇跑了許多想成為程式設計師的人。另一方面,它也困擾著那些已經成為程式設計師的人,因為這意味著,如果你沒有程式設計“天分”,那麼基本上,你將一事無成。導致的結果是,作為一個程式設計師,你所有的時間都用在了學習程式設計和工作上,從而對生活質量產生極大的影響……(略)…….我們需要擺脫這種態度。程式設計只是一堆可以學到的技能,它不需要太多的天分,而且成為一個平庸的程式並不可恥。

在他的Twitter個人資料中,他形容自己為“不是一個真正的程式設計師”,以表明他對這種誤解的深惡痛絕。

Jacob Thornton(Bootstrap的建立者)

Jacob Thornton之前是Twitter的一名程式設計師,現在就職於Medium,並且是Bootstrap的建立者——Bootstrap在Github上收穫了超過8萬個星。他在以下對“程式設計神話”的採訪回應中給出了另一個反例:

Jacob Thornton討厭計算機

他說,“我討厭計算機,”面容一本正經,完全沒有開玩笑。 “我本來打算在New School中學習社會學。”

接著他描述了他的第一份工作:

“我被僱用去做一份我甚至有點不合格的工作。每天,我都可能會被炒魷魚。我辛辛苦苦地工作,努力學習更高階的Javascript語言,因為我不知道程式碼中發生了什麼事情。”
“我坐在那裡,思維放空,就是這樣,我居然搞定了。我不會被解僱了,哦也。”
“我生命中最真實的時刻是當這家初創企業的整個團隊聚集在我身邊,要求一個XHR請求的時候。我從來沒有做過,我只知道那是什麼。因此我開始敲鍵盤和重新整理瀏覽器,但什麼都沒有發生。我試了幾次。我開始慌了,我擔心他們會知道我是個騙子,我是濫竽充數的。突然我意識到,我已經忘了新增‘.send()’了——我新增並重新整理之後,頁面出現了,然後團隊成員紛紛讚揚說‘哦,真酷!’。然後他們回到了各自的辦公桌。

這個故事聽上去感覺和“天才程式設計師”如何執行工作的描述無關。那麼,堅持走程式設計這條道路的動機來自於哪裡呢?Jacob說:

“我的動機很現實,並且當我搞不明白或某些東西在特定瀏覽器中看上去很糟糕的時候,我的那些搞前端開發的朋友會十分明確地告訴我。這真的很好。於是我開始想要編碼,以及和我的朋友一起工作。”

在他的Twitter個人資料中,他形容自己是一個“計算機loser”。他最火的Twitter帖子中他把自己描述為“公司中最糟糕的工程師,但卻是第三酷的”。這種態度和我們對刻板的程式設計師的看法完全相反。

Rasmus Lerdorf(PHP的建立者)

Rasmus Lerdorf的言論經常引發爭議:

*其實我真心討厭程式設計,但我熱愛解決問題。

*有些人的確是真的喜歡程式設計。但我不理解為什麼他們會喜歡程式設計。

*我不是一個真正的程式設計師。我會把東西扔到一塊兒,直到它能工作,然後就繼續前進。真正的程式設計師會說“是的,雖然它可以工作,但你洩漏了記憶體。我們應該解決這個記憶體洩漏的問題”。而我會每隔10個請求就重新啟動Apache。

從他的話中,我們很難看出他對計算機的激情。像Jacob Kaplan-Moss和Jacob Thornton,他們對神化程式設計嗤之以鼻,所以,Rasmus Lerdorf或許也會稱呼自己為偽程式設計師。

David Heinemeier Hansson(Rails的建立者)

當被Big Think採訪時,DHH提到:

這其實挺有意思的;當我習慣於使用PHP或Java開發的時候,我總是在找別的可替代的東西。我一直在尋找另一種程式語言,另一種……不一樣的東西,在某種程度上能夠讓我覺得正在使用的語言不那麼無聊的東西。
我是絕對不相信我會成為一個程式設計師的,當我用PHP和Java工作的時候。

他的自我介紹,看起來和“計算機天才”毫不相干。而且最後,他愛上的並非計算機本身,而是Ruby——這種語言的優雅。如果Ruby沒有被發明,那麼DHH可能現在正在做完全不同的事情。

從上面這些事例中,我們證明了有無數文章都對老一套的程式設計師神話持反對意見。下面是幾個程式設計師最喜歡的笑話:摘自《關於軟體開發者的59條令人捧腹但真實的程式設計語錄

*One man’s crappy software is another man’s full time job.(Jessica Gaston)
一個人寫的爛軟體將會給另一個人帶來一份全職工作。

*Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
傻瓜寫計算機能理解的程式碼。優秀的程式設計師寫人類能讀懂的程式碼。

*Software and cathedrals are much the same — first we build them, then we pray.(Sam Redwine)
軟體和教堂非常相似——首先,我們建造它們,然後我們祈禱。(Sam Redwine)

如果程式設計師的確都有這樣多的天賦和激情,那麼為什麼這些笑話在程式設計師之中會如此受歡迎?

我在一篇Medium文章中發現了一些很有趣的語錄,讓我產生了共鳴:

*總有人告訴你,你這樣做是錯的

*總有人告訴你,你不是一個真正的程式設計師

*擔心“極客聲譽(geek cred)”相當於慢性自殺

這篇文章無疑挑戰了我們對程式設計的傳統看法——成為程式設計師需要天分和激情。但是我只希望對那些開始程式設計之路的初學者,正在懷疑他們是否適合是否合格的程式設計師說:多嘗試一些不同的學習方式,不要擔心什麼資格,不要輕信那些毫無根據的故事,也不要改變你學習程式設計的心態。不要放棄,除非你在嘗試多種不同方法之後真的依舊一頭霧水。程式設計不需要天賦,也不需要激情!

譯文連結:http://www.codeceo.com/article/programming-not-need-talent-passion.html
英文原文:Programming Doesn’t Require Talent or Even Passion
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章