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