編程不需要天賦和激情 今日靈圖
43 2017-04-19
以往從來沒有一種技能被神化到這樣的高度:
你不僅得有天賦,還得具備激情,才能成為一名優(yōu)秀的程序員。
好像那些寫代碼的人是早就決定干這一行似的,“當他們還是孩子的時候,他們就打算將來去寫代碼”。如果你缺少這兩個因素之一,那么你要么是一個騙子,要么不會走得太遠,不論是哪種,其實都是因為你不適合編程的緣故。這種根深蒂固的成見不僅是完全錯誤的,而且還是有害的——但是許多成功的程序員都贊同這個觀點。
JacobKaplan-Moss(Django的創(chuàng)建者)
在這篇描述中,JacobKaplan-Moss指出:
神化“天才程序員”是極其危險的。一方面,它設置了極高的準入門檻,嚇跑了許多想成為程序員的人。另一方面,它也困擾著那些已經(jīng)成為程序員的人,因為這意味著,如果你沒有編程“天分”,那么基本上,你將一事無成。導致的結果是,作為一個程序員,你所有的時間都用在了學習編程和工作上,從而對生活質量產(chǎn)生極大的影響……(略)…….我們需要擺脫這種態(tài)度。編程只是一堆可以學到的技能,它不需要太多的天分,而且成為一個平庸的程序并不可恥。
在他的Twitter個人資料中,他形容自己為“不是一個真正的程序員”,以表明他對這種誤解的深惡痛絕。
JacobThornton(Bootstrap的創(chuàng)建者)
JacobThornton之前是Twitter的一名程序員,現(xiàn)在就職于Medium,并且是Bootstrap的創(chuàng)建者——Bootstrap在Github上收獲了超過8萬個星。他在以下對“編程神話”的采訪回應中給出了另一個反例:
JacobThornton討厭計算機
他說,“我討厭計算機,”面容一本正經(jīng),完全沒有開玩笑?!拔冶緛泶蛩阍贜ewSchool中學習社會學?!?/p>
接著他描述了他的第一份工作:
“我被雇用去做一份我甚至有點不合格的工作。每天,我都可能會被炒魷魚。我辛辛苦苦地工作,努力學習更高級的Javascript語言,因為我不知道代碼中發(fā)生了什么事情?!?/p>
“我坐在那里,思維放空,就是這樣,我居然搞定了。我不會被解雇了,哦也?!?/p>
“我生命中最真實的時刻是當這家初創(chuàng)企業(yè)的整個團隊聚集在我身邊,要求一個XHR請求的時候。我從來沒有做過,我只知道那是什么。因此我開始敲鍵盤和刷新瀏覽器,但什么都沒有發(fā)生。我試了幾次。我開始慌了,我擔心他們會知道我是個騙子,我是濫竽充數(shù)的。突然我意識到,我已經(jīng)忘了添加‘.send()’了——我添加并刷新之后,頁面出現(xiàn)了,然后團隊成員紛紛贊揚說‘哦,真酷/。然后他們回到了各自的辦公桌。
這個故事聽上去感覺和“天才程序員”如何執(zhí)行工作的描述無關。那么,堅持走編程這條道路的動機來自于哪里呢?Jacob說:
“我的動機很現(xiàn)實,并且當我搞不明白或某些東西在特定瀏覽器中看上去很糟糕的時候,我的那些搞前端開發(fā)的朋友會十分明確地告訴我。這真的很好。于是我開始想要編碼,以及和我的朋友一起工作?!?/p>
在他的Twitter個人資料中,他形容自己是一個“計算機loser”。他最火的Twitter帖子中他把自己描述為“公司中最糟糕的工程師,但卻是第三酷的”。這種態(tài)度和我們對刻板的程序員的看法完全相反。
RasmusLerdorf(PHP的創(chuàng)建者)
RasmusLerdorf的言論經(jīng)常引發(fā)爭議:
*其實我真心討厭編程,但我熱愛解決問題。
*有些人的確是真的喜歡編程。但我不理解為什么他們會喜歡編程。
*我不是一個真正的程序員。我會把東西扔到一塊兒,直到它能工作,然后就繼續(xù)前進。真正的程序員會說“是的,雖然它可以工作,但你泄漏了內(nèi)存。我們應該解決這個內(nèi)存泄漏的問題”。而我會每隔10個請求就重新啟動Apache。
從他的話中,我們很難看出他對計算機的激情。像JacobKaplan-Moss和JacobThornton,他們對神化編程嗤之以鼻,所以,RasmusLerdorf或許也會稱呼自己為偽程序員。
DavidHeinemeierHansson(Rails的創(chuàng)建者)
當被BigThink采訪時,DHH提到:
這其實挺有意思的;當我習慣于使用PHP或Java開發(fā)的時候,我總是在找別的可替代的東西。我一直在尋找另一種編程語言,另一種……不一樣的東西,在某種程度上能夠讓我覺得正在使用的語言不那么無聊的東西。
我是絕對不相信我會成為一個程序員的,當我用PHP和Java工作的時候。
他的自我介紹,看起來和“計算機天才”毫不相干。而且最后,他愛上的并非計算機本身,而是Ruby——這種語言的優(yōu)雅。如果Ruby沒有被發(fā)明,那么DHH可能現(xiàn)在正在做完全不同的事情。
從上面這些事例中,我們證明了有無數(shù)文章都對老一套的程序員神話持反對意見。下面是幾個程序員最喜歡的笑話:摘自《關于軟件開發(fā)者的59條令人捧腹但真實的編程語錄》
*Oneman’scrappysoftwareisanotherman’sfulltimejob.(JessicaGaston)
一個人寫的爛軟件將會給另一個人帶來一份全職工作。
*Anyfoolcanwritecodethataputercanunderstand.Goodprogrammerswritecodethathumanscanunderstand.
傻瓜寫計算機能理解的代碼。優(yōu)秀的程序員寫人類能讀懂的代碼。
*Softwareandcathedralsaremuchthesame—firstwebuildthem,thenwepray.(SamRedwine)
軟件和教堂非常相似——首先,我們建造它們,然后我們祈禱。(SamRedwine)
如果程序員的確都有這樣多的天賦和激情,那么為什么這些笑話在程序員之中會如此受歡迎?
我在一篇Medium文章中發(fā)現(xiàn)了一些很有趣的語錄,讓我產(chǎn)生了共鳴:
*總有人告訴你,你這樣做是錯的
*總有人告訴你,你不是一個真正的程序員
*擔心“極客聲譽(geekcred)”相當于慢性自殺
這篇文章無疑挑戰(zhàn)了我們對編程的傳統(tǒng)看法——成為程序員需要天分和激情。但是我只希望對那些開始編程之路的初學者,正在懷疑他們是否適合是否合格的程序員說:多嘗試一些不同的學習方式,不要擔心什么資格,不要輕信那些毫無根據(jù)的故事,也不要改變你學習編程的心態(tài)。不要放棄,除非你在嘗試多種不同方法之后真的依舊一頭霧水。編程不需要天賦,也不需要激情!
掃一掃
獲取更多福利
獵學網(wǎng)企業(yè)微信
獵學網(wǎng)訂閱號
獵學網(wǎng)服務號