也許你已經(jīng)知道了,我們正在招聘最優(yōu)秀的程序員。不錯,每個人都這樣說。但是我們的程序員能打敗你們的——任何時候。比如,米奇雖然只有5英尺高,但他是一個有相當(dāng)實力的擊劍手。維托爾德以前是一個6’3″的職業(yè)冰球選手。內(nèi)特喜歡以丟匕首為樂。當(dāng)然,他們都是很有水平的程序員。
發(fā)現(xiàn)這些人才,并不是你好好上班就能完成的事。事實上,我生活的一半時間都花在了上面,而麗莎差不多投入了她全部的時間。我們有一支招聘大軍,搜遍世界任何一個角落,沒有一份簡歷漏掉??偣菜闫饋恚覀冇写罅康暮啔v。很多我們根本不看,因為簡歷——說實話——完全沒有價值。相反,我們把所有的重點都放在了 幾個關(guān)鍵問題上,我們會問所有的應(yīng)聘者,每個問題的主旨都是要揭示一個關(guān)鍵信息:這是我們真的想要的人嗎?
你知道,經(jīng)驗是廉價的。只要有時間,你就能有經(jīng)驗。技術(shù)本領(lǐng)難求,但事實上只要你努力就能得到——很多人都能做到。但是態(tài)度就不一樣了。你要么有,要么沒有。我們要找的是對編程有熱情的人,他們離不開編程。他們大多是大學(xué)之前——有些是中學(xué)之前——就開始編程了,而且一開始就停不下來。他們開發(fā)各種程序,從匯編到j(luò)Query,從個人電腦到移動手機,從復(fù)雜的底層計算圖形到高端的社交網(wǎng)絡(luò)。他們各個領(lǐng)域無所不至。
無所不至,但是,不包括 .NET。
讓我來解釋一下——.NET是一個很不錯的語言。它很新潮,很獨特,各種花哨的東西應(yīng)有盡有。如果你要是開發(fā)Windows Mobile 7 應(yīng)用(統(tǒng)計數(shù)據(jù)顯示你應(yīng)該不是),它應(yīng)該是你的不二選擇。選擇 .NET 也是一種選擇,如果有誰要做這樣的選擇,我不會阻止,但要問一聲“為什么?”
不要誤解我的意思:.NET 在你的簡歷上并不意味著一個大紅叉。但在電話篩選中的確會引起我的疑問,其中的理由讓我們用個開心的比喻來解釋:
用 .NET 進行編程就像是在麥當(dāng)勞做烹飪。那里有全套神奇的設(shè)備能夠自動的造出所有的東西。只有你按一下正確的按鈕,跟著提示燈的指示,你就可以批量的制造出完美無缺的1.6盎司的漢堡,比地球上的任何其他人都要快。
然而,如果你想做出一個1.7盎司的漢堡,很抱歉,你做不到。很簡單,沒有這樣的按鈕。餡餅是預(yù)先做成了那樣的尺寸。它們做出來之后就被冷凍,所有你無法把它們?nèi)嗟揭黄鹱龀善渌叽?,解凍機和烹飪機是一體的,你沒有辦法在它們之間進行攔截。麥當(dāng)勞的廚房產(chǎn)出的食品精確的和麥當(dāng)勞的菜單保持一致的—— 這種模式使你的大腦不需要任何的思考??墒?,它不能偏離菜單,對烹飪機器的任何你妄想的壓擠變形都會導(dǎo)致它停止工作,而被送回返廠維修。
然而,我們要找的是另外一種人。一種能夠用削尖的樹棍在野外篝火上燒烤松鼠的人——那是在深山老林里為了生存而捕捉并剝了皮的松鼠。我們不需要快餐店廚師長,我們要的是由野狼帶入文明社會的《蠅王(Lord of the Flies)》,在堆滿銅錢底壺和精選香料的法國廚房里喂養(yǎng)大的人。我們要的人不僅僅能做漢堡,他要能夠從無到有做出任何東西。
你也看見了,微軟是特意這么做的(而且非常成功)。.NET要跟其它所有東西都表現(xiàn)出盡可能的不同,讓程序員們遠離細(xì)節(jié),這樣就導(dǎo)致他們完全徹底的依賴微軟神奇的編程工具套件,讓這些工具替他們思考。微軟早在舞臺上只有他一個演員時就這樣做,明確的使這些東西要么很難移植到非Windows平臺,要么看起來很難實現(xiàn),以此來保持他的壟斷地位。
這種做法——或者這種對立的思維——導(dǎo)致了無數(shù)的分歧。小的方面,比如在文件路徑中使用反斜杠,而不是像其它經(jīng)典系統(tǒng)中使用正斜杠,或在 DirectX中使用左旋坐標(biāo)系統(tǒng),而不是使用自從計算機誕生以來就采用的右旋坐標(biāo)系統(tǒng)。大的方面,比如通過無數(shù)的分層把網(wǎng)絡(luò)架構(gòu)搞的晦澀難解,使人們很難想象出字節(jié)在網(wǎng)絡(luò)中如何傳輸?shù)?。還有成百上千這樣的事情:他們的開發(fā)工具在你沒有寫任何代碼前就先生成了一大堆復(fù)雜的文件,笨重的服務(wù)器上本來對于任何人只需要敲幾下鍵盤的操作卻非要啟動一個遠程的GUI終端,那是一個對開源許可協(xié)議過敏的編程文化。這樣的事情舉不勝舉。
這些并不會讓你成為一個“差程序員”。如果你只想盡快的做出一個1.6盎司的漢堡,把余生奉獻到無盡的系列菜單上,那所有的這些特立獨行對你來說不會有任何影響。但是,每天你在那種廚房里的日子并不是真正的廚房生活,學(xué)不到如何做真正的食物,寫不出真正的代碼。
更糟糕的是,在微軟廚房里學(xué)一天的東西需要兩天去忘記,我是說,一旦你心安理得的走上了.NET的事業(yè)道路,你很難再走回頭路。因為你被深深的桎梏到了這些工具和技術(shù)里,而這些工具和技術(shù)跟 .NET 之外的東西毫不相干,這樣一來,對于一個創(chuàng)業(yè)公司來說,你實際上沒有什么價值,你的這些年就如南柯一夢。
那么,這篇文章是要告訴你什么?兩個事情:
如果你想著在一家創(chuàng)業(yè)公司工作,別用.NET。它會讓你不受歡迎。
如果你創(chuàng)辦了一個公司,想招聘真正的人才,留心那些簡歷上有 .NET 的人,問他們?yōu)槭裁匆獙懮纤?/P>
這些聽起來很刺耳,但卻是事實
更多信息請查看IT技術(shù)專欄