[收藏]
英文原文:
how to hire a programmer
招聘程式設計師,永遠沒有萬能的方法。在這裡,我只希望分享一些多年來的我個人的招聘經驗。
對此,你是不是很驚訝呀?但確實有一些自稱為程式設計師的人幾乎不會程式設計。直到今天,仍會有一些招聘者告訴我,他們總會遇到一些應聘者無法通過最基本的程式設計測試。
看開發者在網際網路上的個人資料
任何名副其實的開發者應該有乙份關於他們工作經歷的簡歷。它不必十全十美,我只關注應聘者在網際網路上因幫助他人而留下來的點點痕跡。向我展示你在stack overflow上的相關資料,憑此我可以了解你專注於哪些方面的技術資訊,同時解決了哪些技術問題;給我乙個你曾參與的開源**庫的鏈結;給我你的專業部落格位址?tumblr?twitter?或其他一些我不曾聽過的名字?不錯,我可以好好看看。向我展示你曾設計的應用,你曾工作過的**,及你在其中擔任怎樣的角色。
僱傭適合企業文化的人
正如github,我發現很好地融入企業文化比整天埋頭苦工更容易獲得成功。
我們會在面試過程中和應聘者談論哲學,我們十分重視這個過程。我們希望來github工作的員工了解他們將要進入的這個企業,確認他們能很好地適應公司的環境。這個過程包括一塊吃飯,一起談論企業文化、哲學、我們曾經犯過的錯誤、未來的規劃等話題。
早些時候,我們招聘只注重應聘者的技能,而對於他是否適應企業文化,是否懂哲學並不太關注。很自然,這些招聘並沒收到很好的效果。所以現在我們不僅注重應聘者的技能,是否能融入我們也是我們考察的重要部分。
據我所知,不是所有的業務領域都有相應的技術圈子,但如果有,招聘者一定要盡可能地從技術圈子中招人。因為該圈子中的技術人員會自然而然地對你企業所做的事感興趣,也會很容易融入到與他們意願一致的企業中。這些應聘者較好適應企業文化的可能性是異常高的。這也正是招聘者樂於見到的。
與應聘者**溝通 內容需結構清晰
上面提到的事你都完成了,現在是時候給應聘者打個**了。記住這個**不是用來聊天的,而是為了篩選應聘者。所以通話的內容是關於技術話題的,而且結構層次要清晰。如果內容不太合適,你和應聘者都會被帶離此次通話的目的。內容應該覆蓋技術基礎,總結下來有下面幾點:
● 快速程式設計。如:程式設計實現從int陣列中找出最大的int型資料;
● 一些基本的設計。
● 指令碼語言和正規表示式。如:請從該目錄中提取包含**號碼的文字檔案列表,並以特定格式輸出。
● 資料結構,如,你什麼時候會採用雜湊表 ,而不是陣列?
● 位元和位元組,如:程式設計師為什麼問說出「oct(31) == dec(25)」類似這樣的笑話。
該舉措的目的,是為了到下一流程後,可以節約應聘者和招聘者更多的時間。你一定要堅持自己的立場,如果發現該應聘者多點不符後,盡早放棄該面試過程。
請應聘者參與實際專案
應聘者順利通過了上文提到的四關,是時候進行面對面的面試了嗎?現在還不是時候。
我曾見過一些應聘者,他們也順利通過了上文提到的層層考驗,但最終在實際工作中,並不能很好地完成實際任務。
如果你想確定無疑地判斷他是否是乙個優秀的應聘者,那就給他乙個實際的專案做。我說的不是一般的、抽象的程式設計任務,而是你們公司現在正在進行的某產品的乙個實際開發模組——你本計畫交給公司實際員工做的任務。
選擇乙個測試專案,在理想的情況下可以在幾天,也可能最多在乙個星期或兩個星期內完成。應聘者可以在公司裡完成,也可以遠端工作。我知道不是每個企業都能把他們的專案切分成一些這樣的小專案,分給應聘者在公司外完成——但可以盡力嘗試讓應聘者在公司內完成。我個人認為,如果你無法為優秀的應聘者分配這樣乙個微專案,很可能說明你為現在員工分配的任務存在不合理性。
如果應聘者出色地完成了所分配的測試專案。恭喜你,你找到了乙個高素質的應聘者,他已被證明可以出色完成各項工作。到現在為止,我所見過的通過該項考驗的所有應聘者都能在實際工作中很好的完成任務。準確地說,也不是百分之百保證,但我把該項測試看得很重要,因為在應聘者還未被僱傭前,你可以近距離地**他在實際專案中的表現。如果測試專案沒成功,就把在該專案上所付出的代價看作一筆「退出費」,這相比請公司的4或5個人來進行一場昂貴的面試過程便宜多了。最壞的情況是,把該專案用於下乙個優秀的應聘者。
是時候與應聘者見面了
最後,你應該選乙個時間與面試者見上一面了。這是必然的,但通過之前所進行的一系列測試,你應該95%地確認這個應聘者就是很好的僱傭物件後再與他見面。
我並非面試專家,但我不喜歡問一些很難的問題,適度就好。
關於如何面試開發者,我有自己的一套理論:給面試者15分鐘的時間,請他陳述所擅長的領域。相比與傳統的面試方式,我認為這可以取得更好的效果,因為你可以很快地探明下面的問題:
● 這個人喜歡做什麼樣的工作?
● 他是否擅長在小組中交流?
● 他能否很好地解決他所擅長領域中的問題?
● 你的團隊是否願意和他一塊工作?
每個開發者都應該知道一件事,即如何推銷自己、**以及專案。
任何事都無法絕對保證
請正確看待上文所列舉的招聘流程。它們有時很成功,有時也會失敗。根據你自己的特殊情況,調整這些建議,貼合你的想法,忽略某些步驟(雖然我強烈建議你最好不要省,即便是跳過第一步)。即便在最理想的環境下,招聘人才也是一件很難的事情。乙個工作機會的獲得會受很多因素的影響,往往不受人的控制。正如人們說的,人本來就很複雜。
如果把工作看作一種關係,每週需花40多個小時相處的關係,那麼公司和招聘者都應該有一種信念,努力找到適合自己的對方。我們的目的不只是找到乙個工作,或僱傭乙個人,而是為了生活樂趣,為了創造一種友愛的關係。
企業如何招聘到高質量的程式設計師?
如何招聘到優秀的程式設計師?似乎是乙個老生常談的問題,但同時也引起企業和個人的持續關注,csdn也曾就這一主題,發布了很多文章,如 如何面試程式設計師?高效的面試方式 結對程式設計 如何有效地招聘技術人員 都得到了的熱情討論。近日著名部落格coding horror博主 stack overflow...
企業如何招聘到高質量的程式設計師?
如何招聘到優秀的程式設計師?似乎是乙個老生常談的問題,但同時也引起企業和個人的持續關注,csdn也曾就這一主題,發布了很多文章,如 如何面試程式設計師?高效的面試方式 結對程式設計 如何有效地招聘技術人員 都得到了的熱情討論。近日著名部落格coding horror博主 stack overflow...
企業如何招聘到高質量的程式設計師?
如何招聘到優秀的程式設計師?似乎是乙個老生常談的問題,但同時也引起企業和個人的持續關注,csdn也曾就這一主題,發布了很多文章,如 如何面試程式設計師?高效的面試方式 結對程式設計 如何有效地招聘技術人員 都得到了的熱情討論。近日著名部落格coding horror博主 stack overflow...