這并不是想象的那么容易,
如何辨別優(yōu)秀的程序員
。工作經(jīng)歷并不能說明什么問題,因為優(yōu)秀的程序員并非總是有“正式”的工作經(jīng)驗來說明他們有多優(yōu)秀。事實上工作經(jīng)歷往往會誤導(dǎo)。我覺得自己是一個非常優(yōu)秀的程序員。同時,我也花費了大量的時間在商業(yè)圈,找技術(shù)人員做項目,面試別人等等。正是如此,我覺得自己有足夠的經(jīng)驗去識別一個優(yōu)秀的程序員,我會在下文中分享,希望能夠幫助那些 “商業(yè)人士”更好地找到人才。那些有可能成為優(yōu)秀程序員但還沒有摸到門道的,也可以閱讀這篇文章,從而發(fā)現(xiàn)自己需要改進的地方。
在Paul Graham的這篇“18個錯誤導(dǎo)致創(chuàng)業(yè)失敗”文章里提到:
在90年代,導(dǎo)致絕大多數(shù)創(chuàng)業(yè)失敗的是那些劣質(zhì)的程序員,很多這樣的公司是幾個商人共同創(chuàng)立的,他們有聰明的想法,然后讓程序員來實現(xiàn)這些想法。但事實上要困難地多——因為那些企業(yè)家他們無法分辨一個程序員是否優(yōu)秀。他們甚至都沒有機會見到那些頂極的程序員。
事實上,那些商人選擇自己認為優(yōu)秀的程序員(比如簡歷上提到自己曾是微軟的工程師),但事實上不是。然后會發(fā)現(xiàn)創(chuàng)業(yè)之路就像二次大戰(zhàn)一樣艱難。
如果你不是程序員,如何來挑選優(yōu)秀的程序員呢?我覺得沒有最佳答案。我想說你最好找一個優(yōu)秀的程序員來幫你篩選。但你如何找到這個人?
這點上,我不太同意Graham。我覺得優(yōu)秀的程序員有很多特質(zhì)。即使一個商人也能識別。我下面來一一列舉。
#1 激情
在我與別人合作的經(jīng)歷中,遇到過很多技術(shù)員:他們寫程序,因為他們覺得這是份不錯的工作。業(yè)余時間從來不會去編程。當(dāng)他們知道我家里有一個局域網(wǎng)和3臺電腦時,顯得很震驚。他們只是在工作,不會主動學(xué)習(xí)新事物,除非工作中需要,或者為了找份工作。當(dāng)一天的工作結(jié)束時就再也不想談?wù)撍。有些人覺得工作之余談工作不適合社交。但如果你想結(jié)識一個優(yōu)秀的程序員,體現(xiàn)出自己的激情是很重要的。
#2 自學(xué)
時過境遷,編程語言也在不斷進步和完善,新的技術(shù)會出現(xiàn),新的標準也會到來。當(dāng)然不是說,所有優(yōu)秀的程序員都對那些事物有濃厚的興趣,但有很多程序員他們從來不會主動學(xué)習(xí)新事物,除非迫不得已,因為他們不喜歡學(xué)習(xí)新東西。這些人往往是在大學(xué)時學(xué)的計算機專業(yè),然后渴望畢業(yè)后找到份好工作。
如果你打算雇傭某個程序員,只要提到“我能掌握那個,只要把我送到培訓(xùn)中心一個星期”。不要雇傭那樣的人。優(yōu)秀的程序員不需要培訓(xùn)中心。事實上,優(yōu)秀的程序員會提到你從未聽過的信技術(shù),然后向你解釋為什么必須用它,即使他都不知道如何使用。
#3 聰慧
有些商人覺得缺乏情商就是不夠聰慧。事實上聰慧包括很多因素,情商只是其中之一。優(yōu)秀的程序員不是不會說話,事實上,優(yōu)秀的程序員通常是你認識的人中最聰明的,
管理資料
《如何辨別優(yōu)秀的程序員》(http://www.msguai.com)。他們中的很多人有很好的社交能力。我參加過幾次 London Ruby User聚會,除了少數(shù)幾個特例,大多數(shù)人都很聰明,善談,興趣廣泛等等。但你不會在公眾場合看到他們談?wù),然后會?ldquo;這是怎樣的一幫geek啊”。不要認為那些話不多的人就是好的程序員。他們不是,如果在完全放松的環(huán)境下都不能很好地交流,他們不是優(yōu)秀程序員的概率會很大。
#4 隱藏技能
這跟激情有關(guān),也是優(yōu)秀程序員的一個特征。
我在9歲時就開始編程,那時還不是在PC上,后來遷移到了PC,學(xué)了Pascal。當(dāng)我14歲時,用C和Assembler寫了一個raycasting引擎。花費了大量的時間與顯卡打交道,終于可以看到很酷的圖形效果。在這之前,我只是個二流的程序員,沒有信心做任何復(fù)雜的事情。當(dāng)我完成它時,我收獲了自信。我知道只要我想,再難的事情我都能搞定。
這會在我的簡歷上出現(xiàn)嗎?不會
我深信大多數(shù)優(yōu)秀的程序員都有類似的冰山不會出現(xiàn)在簡歷上。他們覺得這不是“合適的經(jīng)歷”。可以對那些潛在的優(yōu)秀程序員問一個這樣的問題“你能告訴我一個自己獨立完成的項目嗎?即使是不完整的,在業(yè)余時間開發(fā)的,沒有出現(xiàn)在簡歷上?”如果他們不能,他們很可能不是優(yōu)秀的程序員。
#5 多種技能
這個很簡單,由于對新鮮事物的熱情和強烈的求知欲,那些22歲以上的程序員通常掌握好幾門語言。這不可避免,學(xué)習(xí)一個新技術(shù)是最有意思的事情之一。
#6 證書
這其實不是一個優(yōu)秀程序員的特征,很多有計算機相關(guān)證書,很多沒有。年齡也一樣,有些18歲就展露頭角,有些40歲才有所成就。我的經(jīng)歷告訴我,大多數(shù)平凡或者差的程序員大學(xué)時才開始編程,為了他們的計算機課程。而優(yōu)秀的程序員編程的歷史可以追溯到更遠。如果你的準程序員在大學(xué)前沒有接觸過變成,他所有的經(jīng)歷都是從第一份工作開始的,他很可能不是一個優(yōu)秀的程序員。
聲明
上面或者下面所說的特征不是必備的。你很可能會發(fā)現(xiàn) NB的程序員不符合這些特征。我的觀點是,你不太可能找到一個優(yōu)秀的程序員不符合這些特征中的任意一條。當(dāng)然,你也會發(fā)現(xiàn)差的程序員也符合這些特征中的某幾個。但我深信,一個程序員,這些特征符合地越多,那么他是優(yōu)秀程序員的概率就越大,作為一個商人,你可以信賴這些人。
總結(jié)
以下幾個特征能夠幫助你找到優(yōu)秀的程序員
對技術(shù)充滿熱情
編程是生活的一部分
會在你的耳邊談?wù)摷夹g(shù)相關(guān)的話題,如果你有興趣的話
主動學(xué)習(xí)新技術(shù)
對自己不能認同的技術(shù),感到不適應(yīng),無法全身心投入
聰明,對很多話題都感興趣
在大學(xué)之前就開始接觸編程了
有隱藏的冰山,自己完成的大項目
對許多不相關(guān)的技術(shù)有了解
--EOF--