黑客準(zhǔn)則對(duì)開(kāi)發(fā)者有利還是有弊?
原創(chuàng)【51CTO.com快譯】程序員在項(xiàng)目進(jìn)程、開(kāi)發(fā)方式和最佳實(shí)踐上強(qiáng)調(diào)獨(dú)立性和創(chuàng)新精神,這對(duì)他們來(lái)說(shuō)是不利的。
我為自己是一名黑客而自豪,我所掌握的編程技術(shù)主要靠自學(xué)成才。早在上世紀(jì)80年代,我先從初步掌握Basic開(kāi)始,再逐漸學(xué)習(xí)Pascal 、計(jì)算機(jī)語(yǔ)言、C語(yǔ)言甚至還有類(lèi)似Forth那樣的obscure語(yǔ)言等。對(duì)我而言,編程的樂(lè)趣就在于不斷的探索和試驗(yàn),而計(jì)算機(jī)就是一個(gè)能夠以我的意志自由修改的世界,由此獲得的知識(shí)便是對(duì)自己的獎(jiǎng)勵(lì)。
我們這一代人都是靠自學(xué),但今天要想進(jìn)入編程領(lǐng)域則變的更加便利,新手可以先從學(xué)習(xí)HTML和JavaScript上路,然后是PHP 、或者為電子表格寫(xiě)Visual Basic宏代碼,最終升級(jí)到全面的應(yīng)用開(kāi)發(fā)。入門(mén)工具有很多,如微軟的 Small Basic ,在歷史上從未出現(xiàn)過(guò)如此高質(zhì)量的供學(xué)生學(xué)習(xí)用的應(yīng)用源代碼。計(jì)算業(yè)已經(jīng)發(fā)展壯大,但黑客精神依然存活得很好。
但是,我不得不質(zhì)疑:這真的是件好事嗎?如果每個(gè)美國(guó)小學(xué)生掌握的電腦知識(shí)比他們的父母還要豐富,為什么印度IT外包供應(yīng)商HTC的CEO Vineet Nayar聲稱(chēng),大多數(shù)美國(guó)大學(xué)畢業(yè)生“達(dá)不到應(yīng)聘標(biāo)準(zhǔn)” ?美國(guó)人在技術(shù)上真的落后嗎?亦或是,在黑客理念的熏陶下培養(yǎng)出來(lái)的程序員無(wú)法適應(yīng)現(xiàn)今的工作?
美國(guó)人是如何落入黑客情網(wǎng)的
總的來(lái)說(shuō), PC革命史上的創(chuàng)始人都是黑客, Steve Jobs和Steve Wozniak共同創(chuàng)建蘋(píng)果時(shí),大學(xué)還都未畢業(yè);而比爾蓋茨直到2007年才畢業(yè)。
顯而易見(jiàn),這些類(lèi)似的事例主導(dǎo)了美國(guó)公眾的意識(shí)。美國(guó)人熱衷于從貧窮到富裕、從渺小但富有勇氣的門(mén)外漢成長(zhǎng)為行業(yè)精英的故事。而早期個(gè)人電腦時(shí)代的故事就像是濃縮版的美國(guó)夢(mèng)。
難怪有段時(shí)間,計(jì)算機(jī)編程在美國(guó)公眾的意識(shí)里就相當(dāng)于黑客。如果你連續(xù)幾天都對(duì)著電腦,做一些常人無(wú)法理解的事情,可能你命中注定要干一番大事業(yè),也許會(huì)成為下一個(gè)比爾蓋茨!不論你在做什么,10年之后我們有可能會(huì)在報(bào)紙上看到你。你的媽媽可能會(huì)為你擔(dān)心,但她也會(huì)為你感到驕傲——即使開(kāi)始她并不理解你所做的事情。
當(dāng)然,這十分可笑,真正的行業(yè)精英鳳毛麟角,并不是每個(gè)程序員都會(huì)聞名于世——事實(shí)上這很困難。但一些程序員用一些伎倆非法牟利,把對(duì)計(jì)算機(jī)的熱愛(ài)轉(zhuǎn)化成無(wú)窮的財(cái)富,這更加愚蠢——也存在風(fēng)險(xiǎn),因?yàn)樗研乃加缅e(cuò)了地方。
美國(guó)程序員錯(cuò)在哪里?
HTC 的Nayar認(rèn)為,他碰到的美國(guó)大學(xué)畢業(yè)生都一味追求高薪,而在印度、中國(guó)、巴西和南非這些國(guó)家的學(xué)生并沒(méi)有這種期望——他們更容易投入學(xué)習(xí)“枯燥”的細(xì)節(jié)開(kāi)發(fā)過(guò)程、六西格瑪和ITIL等專(zhuān)業(yè)法則,并廣泛了解系列開(kāi)發(fā)工具——美國(guó)畢業(yè)生的簡(jiǎn)歷中往往看不到這些。
換句話(huà)說(shuō),美國(guó)的大學(xué)畢業(yè)生希望被當(dāng)成“牛人”,并得到同等待遇,而發(fā)展中國(guó)家的畢業(yè)生則更傾向于團(tuán)隊(duì)工作。兩者都著重于成功,但在不同的期限,成功的定義也各不相同。
問(wèn)題變的更加深刻了。美國(guó)式黑客不但不是合格的團(tuán)隊(duì)成員,也不是合格的程序員,鑒于以上原因,新的畢業(yè)生不被看好。 “牛仔程序員”可能精通技術(shù),但他們的代碼不能長(zhǎng)期維護(hù),他們也不太可能遵守組織發(fā)展進(jìn)程和編碼標(biāo)準(zhǔn)。導(dǎo)致的結(jié)果是,質(zhì)量——包括測(cè)試、調(diào)試、代碼審查和重構(gòu)——很可能受到影響。
美國(guó)的軟件開(kāi)發(fā)管理人員常常抱怨印度的程序員太木,和美國(guó)程序員相比,他們?nèi)狈χ庇X(jué)和創(chuàng)業(yè)特點(diǎn)。但Nayar卻說(shuō),美國(guó)的程序員已經(jīng)在錯(cuò)誤的道路上越走越遠(yuǎn)。難道在20世紀(jì)80年代我們過(guò)于崇尚黑客理念了,以至于培養(yǎng)出的程序員無(wú)法適應(yīng)現(xiàn)在的商業(yè)環(huán)境?
教育改革時(shí)機(jī)已到?
部分原因可能是程序員都接受過(guò)美國(guó)大學(xué)的教育。如果要開(kāi)發(fā)軟件,你必須取得計(jì)算機(jī)科學(xué)學(xué)位。但獲得高等計(jì)算機(jī)科學(xué)學(xué)位的人會(huì)告訴你,計(jì)算機(jī)科學(xué)通常被認(rèn)為屬于數(shù)學(xué)分支。而這種更高的水平,與實(shí)踐要求卻相差甚遠(yuǎn),要想在商業(yè)環(huán)境獲得成功,程序員需要接受實(shí)踐培訓(xùn)。
也許需要針對(duì)這樣的學(xué)生——相比探索計(jì)算機(jī)理論來(lái)說(shuō),對(duì)計(jì)算機(jī)工業(yè)更有興趣——設(shè)立一種新的計(jì)算機(jī)工程學(xué)士學(xué)位,來(lái)彌補(bǔ)計(jì)算機(jī)科學(xué)體系。程序員的頭銜往往是“軟件工程師”和“軟件設(shè)計(jì)師” ,但他們受到的培訓(xùn)與真正的工程師和設(shè)計(jì)師所必須具備的條件還相差甚遠(yuǎn)。 (在一些國(guó)家, “工程師”和“設(shè)計(jì)師” 的頭銜甚至受法律保護(hù),電腦程序員不允許使用。)一個(gè)真正的軟件工程師不僅要在軟件開(kāi)發(fā)要點(diǎn)上,還要在進(jìn)程、方法、經(jīng)營(yíng)戰(zhàn)略和有效溝通上接受強(qiáng)化訓(xùn)練——Nayar認(rèn)為現(xiàn)在的學(xué)生在這些方面比較欠缺。
千萬(wàn)別誤解我的意思,我一直為自己是一個(gè)黑客感到自豪,我認(rèn)為,具有黑客精神的青年學(xué)生在計(jì)算機(jī)專(zhuān)業(yè)上總是更加優(yōu)秀。但是,黑客行為準(zhǔn)則在今天的經(jīng)濟(jì)體制下并不適用。和上世紀(jì)80年代釣大魚(yú)的故事一樣,“計(jì)算機(jī)技術(shù)出色就意味著一夜成名”的時(shí)代已經(jīng)過(guò)去,我們應(yīng)該教育年輕的黑客們,使他們對(duì)黑客準(zhǔn)則的熱情降溫。簡(jiǎn)言之,是時(shí)候讓軟件開(kāi)發(fā)成熟起來(lái)了。黑客準(zhǔn)則是好的,但良好的團(tuán)隊(duì)精神和協(xié)作能力才是明天成功的關(guān)鍵。我們的教育系統(tǒng)只有在這些領(lǐng)域提供良好的基礎(chǔ),年輕一代的開(kāi)發(fā)員才會(huì)茁壯成長(zhǎng)起來(lái)。
【編輯推薦】