程式設計師招聘的7大誤區

2014-11-24    分類:程式設計師人生、首頁精華1人評論發表於2014-11-24

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

你知道為什麼有些濫竽充數魚目混珠的傢伙仍然被僱傭嗎?要知道他們不擅長編譯,也寫不出高質量的程式碼。為此,我總結了在招聘程式設計師時常犯的7個錯誤。

  1. 關於注重工作年限。
  2. 相信應聘人員對自我技能的評價。
  3. 沒有要求應聘者現場寫程式碼。
  4. 為其他團隊招人的觀念。
  5. 不計較在簡歷中出現的拼寫錯誤。
  6. 只注重技術技能,不要求溝通技巧。
  7. 不願招聘更優秀的人。

下面我將一一予以說明。

1. 關於注重工作年限

工作年限其實很簡單,我們一看便知。很多人會認為工作時間越長他的經驗肯定越豐富,於是自然而然的,這漸漸成為了衡量技巧和能力的標尺。

但是不幸的是,這完全是個謬論,特別是在程式設計領域。要想成為一個偉大的程式設計師,最重要的是你得有這個潛力。有的人天生就是程式設計師,而有的人則不是。所以我們在招聘時,首要任務是看清楚這個人有沒有做程式設計師的天賦。如果沒有,那麼即使再多的工作經驗也無濟於事。他永遠也不可能成為一名偉大的程式設計師。

2. 相信應聘人員對自我技能的評價

在面試的時候,我幾乎每次都會問他們對自己不同領域技能的評價。知道他們的自我評價是其一,但是,我從不相信他們。因為有的人能力很強卻謙虛謹慎,而有的人才懂點皮毛就愛大吹大擂。

那麼如何才能區分他們的優劣呢?我會問一些關於他們所謂最強領域的問題,然後給他們做程式碼測試。通過讓他們展示自己最強的區域從而正確評價他們。

3. 沒有要求應聘者現場寫程式碼

程式碼測試應該是面試中一個非常重要的組成部分,但是很多人卻常常會忽略這一點。我想說的是,很多人說起程式碼來是一套一套的,一旦要他們寫程式碼,立馬就慫了。

程式碼測試不需要很難。那些不會程式設計的人即使是個非常簡單的測試也會原形畢露。在我近期的面試中,我使用了“兩任務法”。

第一個任務是資料訪問。給出一個小資料庫,裡面是人名和車牌表。還有一個從車牌表到人名錶的外來鍵,指出了每輛車的主人。然後我會讓應聘人員解釋一下,兩者之間的關係如何通過外來鍵來實現(這還需要在人名錶上建立一個主鍵)。接著我會要求他們製作一個簡單的結果集合。

車牌號 人名
ABC123 Anders Abel
LDB109 Anders Abel
CED456 Albin Sunnanbo

實現方式可以是LINQ也可以是SQL,隨他們挑選。無論是哪種方式,如果他是一名經驗豐富的開發人員,這應該是小菜一碟。

第二個任務是在我提供的形狀類(Shape)上寫一個的子類正方形(Square)。

public abstract class Shape
{
  public abstract float GetArea();
}

4. 為其他團隊招人的觀念

每次面試結束的時候,我都會問自己下面這個問題。

我會不會願意這個傢伙加入我的團隊,坐在我旁邊的辦公桌上和我一起工作?

如果回答是否定的,那就不要僱傭他,正如Joel Spolsky 在他的《面試手冊》中寫道,如果你覺得這是在為其他團隊招人:

千萬不要想著,“隨便吧,反正不是我的團隊。”因為如果你覺得這傢伙和你一起工作還不夠格,那就不要幻想他在其他團隊能表現出眾。

5. 不計較在簡歷中出現的拼寫錯誤

在面試之前我會先好好看看應聘人員的簡歷,看看結構如何,看看有沒有拼寫錯誤。

書面溝通技巧對於每個人程式設計師而言都是非常重要的。因為程式設計師在寫程式碼之外還得會寫文件,有時候還需要與客戶有郵件交流。如果在自己的簡歷中都含糊其辭表達不清,我又怎麼能相信以後在幹其他事情的時候他能夠做到表達清晰呢?

如果在簡歷中出現很多拼寫錯誤,那就說明這傢伙很懶,看到錯誤也懶得去改正(因為現在基本上所有的word軟體都會將拼寫錯誤標記出來)。如果應聘人員在求職的時候都這麼懶,江山易改本性難移,將來在工作的時候他仍然還是會這麼懶——看到bug也懶得去修復。

6. 只注重技術技能,不要求溝通技巧

有的人會認為口頭交際能力對於程式設計師而言並不重要——只要他們會寫程式碼那就ok了。

但是如果是在團隊環境中,這種想法就大錯特錯了。為了解決各種問題,團隊經常需要聚集在一起群策群力,一起想出好辦法來。這個時候清楚明白地表達自己的想法就非常重要了。

我經常會讓應聘人員講講以前做過的系統架構是怎麼樣。是什麼系統不重要,只要這位面試人員能夠真正理解並正確表達出來,那就ok。

7. 不願招聘更優秀的人

技術面試的主考官通常由資深的開發人員或架構師擔任。這類人員通常在公司中有一定的職位,而且常常是那種能解決難題的唯一人才。

這個時候如果應聘人員恰巧同樣出色甚至更為優秀,猜猜面試官會怎麼做?下面是兩種截然不同的反應。

  • 這傢伙這麼厲害,如果他進來,那我就不是最優秀的了。不行,這會動搖我的地位。
  • 這傢伙挺厲害的呢,哈哈,終於有人能挑戰我了,我們會組成一個更強大的團隊,我們也會相互成長。

第一種想法其實並不少見(不僅存在於程式設計師,很多職業都有)。但是如果大家在招人的時候都只挑選比自己差的,那整個團隊就會走下坡路,逐漸減弱公司的競爭力。

你敢不敢招進一個比你更優秀的人呢?

總結:招聘工作不簡單

招聘並不是一件簡單的事情。不但需要我們有這個自信敢於聘用有能力挑戰自己的人才,還需要從公司的角度做出一些難以取捨的決定。

因為你的“判決”將決定在接下來的幾年時間裡,你的每週40小時會和一個怎麼樣的人一起工作。

譯文連結:http://www.codeceo.com/article/7-programmer-recruiting-mistakes.html
英文原文:7 Programmer Recruiting Mistakes
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章