程序員招聘的7大誤區(qū)
你知道為什么有些濫竽充數(shù)魚目混珠的家伙仍然被雇傭嗎?要知道他們不擅長編譯,也寫不出高質(zhì)量的代碼。為此,我總結(jié)了在招聘程序員時常犯的7個錯誤。
- 關(guān)于注重工作年限。
- 相信應(yīng)聘人員對自我技能的評價。
- 沒有要求應(yīng)聘者現(xiàn)場寫代碼。
- 為其他團隊招人的觀念。
- 不計較在簡歷中出現(xiàn)的拼寫錯誤。
- 只注重技術(shù)技能,不要求溝通技巧。
- 不愿招聘更優(yōu)秀的人。
下面我將一一予以說明。
1. 關(guān)于注重工作年限
工作年限其實很簡單,我們一看便知。很多人會認為工作時間越長他的經(jīng)驗肯定越豐富,于是自然而然的,這漸漸成為了衡量技巧和能力的標尺。
但是不幸的是,這完全是個謬論,特別是在編程領(lǐng)域。要想成為一個偉大的程序員,最重要的是你得有這個潛力。有的人天生就是程序員,而有的人則不是。所以我們在招聘時,首要任務(wù)是看清楚這個人有沒有做程序員的天賦。如果沒有,那么即使再多的工作經(jīng)驗也無濟于事。他永遠也不可能成為一名偉大的程序員。
2. 相信應(yīng)聘人員對自我技能的評價
在面試的時候,我?guī)缀趺看味紩査麄儗ψ约翰煌I(lǐng)域技能的評價。知道他們的自我評價是其一,但是,我從不相信他們。因為有的人能力很強卻謙虛謹慎,而有的人才懂點皮毛就愛大吹大擂。
那么如何才能區(qū)分他們的優(yōu)劣呢?我會問一些關(guān)于他們所謂最強領(lǐng)域的問題,然后給他們做代碼測試。通過讓他們展示自己最強的區(qū)域從而正確評價他們。
3. 沒有要求應(yīng)聘者現(xiàn)場寫代碼
代碼測試應(yīng)該是面試中一個非常重要的組成部分,但是很多人卻常常會忽略這一點。我想說的是,很多人說起代碼來是一套一套的,一旦要他們寫代碼,立馬就慫了。
代碼測試不需要很難。那些不會編程的人即使是個非常簡單的測試也會原形畢露。在我近期的面試中,我使用了“兩任務(wù)法”。
第一個任務(wù)是數(shù)據(jù)訪問。給出一個小數(shù)據(jù)庫,里面是人名和車牌表。還有一個從車牌表到人名表的外鍵,指出了每輛車的主人。然后我會讓應(yīng)聘人員解釋一下,兩者之間的關(guān)系如何通過外鍵來實現(xiàn)(這還需要在人名表上建立一個主鍵)。接著我會要求他們制作一個簡單的結(jié)果集合。
車牌號 | 人名 |
ABC123 | Anders Abel |
LDB109 | Anders Abel |
CED456 | Albin Sunnanbo |
實現(xiàn)方式可以是LINQ也可以是SQL,隨他們挑選。無論是哪種方式,如果他是一名經(jīng)驗豐富的開發(fā)人員,這應(yīng)該是小菜一碟。
第二個任務(wù)是在我提供的形狀類(Shape)上寫一個的子類正方形(Square)。
- public abstract class Shape
- {
- public abstract float GetArea();
- }
4. 為其他團隊招人的觀念
每次面試結(jié)束的時候,我都會問自己下面這個問題。
我會不會愿意這個家伙加入我的團隊,坐在我旁邊的辦公桌上和我一起工作?
如果回答是否定的,那就不要雇傭他,正如Joel Spolsky 在他的《面試手冊》中寫道,如果你覺得這是在為其他團隊招人:
千萬不要想著,“隨便吧,反正不是我的團隊。”因為如果你覺得這家伙和你一起工作還不夠格,那就不要幻想他在其他團隊能表現(xiàn)出眾。
5. 不計較在簡歷中出現(xiàn)的拼寫錯誤
在面試之前我會先好好看看應(yīng)聘人員的簡歷,看看結(jié)構(gòu)如何,看看有沒有拼寫錯誤。
書面溝通技巧對于每個人程序員而言都是非常重要的。因為程序員在寫代碼之外還得會寫文檔,有時候還需要與客戶有郵件交流。如果在自己的簡歷中都含糊其辭表達不清,我又怎么能相信以后在干其他事情的時候他能夠做到表達清晰呢?
如果在簡歷中出現(xiàn)很多拼寫錯誤,那就說明這家伙很懶,看到錯誤也懶得去改正(因為現(xiàn)在基本上所有的word軟件都會將拼寫錯誤標記出來)。如果應(yīng)聘人員在求職的時候都這么懶,江山易改本性難移,將來在工作的時候他仍然還是會這么懶——看到bug也懶得去修復。
6. 只注重技術(shù)技能,不要求溝通技巧
有的人會認為口頭交際能力對于程序員而言并不重要——只要他們會寫代碼那就ok了。
但是如果是在團隊環(huán)境中,這種想法就大錯特錯了。為了解決各種問題,團隊經(jīng)常需要聚集在一起群策群力,一起想出好辦法來。這個時候清楚明白地表達自己的想法就非常重要了。
我經(jīng)常會讓應(yīng)聘人員講講以前做過的系統(tǒng)架構(gòu)是怎么樣。是什么系統(tǒng)不重要,只要這位面試人員能夠真正理解并正確表達出來,那就ok。
7. 不愿招聘更優(yōu)秀的人
技術(shù)面試的主考官通常由資深的開發(fā)人員或架構(gòu)師擔任。這類人員通常在公司中有一定的職位,而且常常是那種能解決難題的唯一人才。
這個時候如果應(yīng)聘人員恰巧同樣出色甚至更為優(yōu)秀,猜猜面試官會怎么做?下面是兩種截然不同的反應(yīng)。
- 這家伙這么厲害,如果他進來,那我就不是最優(yōu)秀的了。不行,這會動搖我的地位。
- 這家伙挺厲害的呢,哈哈,終于有人能挑戰(zhàn)我了,我們會組成一個更強大的團隊,我們也會相互成長。
第一種想法其實并不少見(不僅存在于程序員,很多職業(yè)都有)。但是如果大家在招人的時候都只挑選比自己差的,那整個團隊就會走下坡路,逐漸減弱公司的競爭力。
你敢不敢招進一個比你更優(yōu)秀的人呢?
總結(jié):招聘工作不簡單
招聘并不是一件簡單的事情。不但需要我們有這個自信敢于聘用有能力挑戰(zhàn)自己的人才,還需要從公司的角度做出一些難以取舍的決定。
因為你的“判決”將決定在接下來的幾年時間里,你的每周40小時會和一個怎么樣的人一起工作。
英文原文:7 Programmer Recruiting Mistakes
翻譯作者:碼農(nóng)網(wǎng) – 小峰