我最近寫了一篇文章介紹如何招聘全職員工。而本文主要關注如何招聘外包開發人員。這兩者確實有很多相似的方式方法,但區別在于外包人員參與度相對比較低而且不會一直呆在團隊里。
首先說一點背景故事。我曾經用我的方法招聘近10個在海外遠程工作的外包人員。盡管不是萬無一失,但我認為這是我使用過的方法中最省時并且投資回報率(ROI)最高的。過去幾年里我在自己的業務中常常使用外包人員,這一個招聘流程也可以說是從我的經驗里產生的副產品。有時候這套方法效果很好,有時候很糟甚至是一塌糊涂。經過了很多次的優化,我下面闡述的方法能夠穩定的篩選出最優秀的外包開發。希望這套方法也能為你帶來同樣的效果。
流程
一共是四個步驟。如果去掉發布職位這一步實際上只有三步。整個流程的目標是節省時間和開銷,同時盡最大可能去發現最優秀的候選人。需要注意的是這個流程可能需要花費$50到$250,取決于你要招聘的人。你需要發布職位,審核候選人,選取最好的X個(通常最少選10個)。在此基礎上你聘用他們完成一個簡單的編程任務。等他們完成后(前提是他們能完成)你就可以審核代碼并最終決定誰的實現更好,然后你就可以決定招聘的人選。下面就是所有步驟:
招聘優秀外包開發人員四部法:
招聘網站上發布職位需求
預評估:雇用候選人(最少10個)一小時
編程挑戰
留下最佳候選人
第一步: 招聘網站上發布職位需求
目標: 發布有吸引力的職位
登陸招聘網站發布職位。確保標題能準確描述你需要做的事情。不要寫類似“JavaScript高手”或“Rails大?!敝惖摹Q成“高級Rails開發”或“Wordpress開發”可能更好些。職位描述應該具體描述你的需求。不要寥寥幾筆簡單了事,例如:“代碼優雅,按時交付”。你需要告訴應聘者你需要他們做什么。如果是升級現有代碼,那你需要告訴對方可能會面對哪些東西。如果你是做業務的不懂代碼,那你需要描述產品的功能以及你為什么需要做這個。不要在這一塊花太多時間。差不多10到15分鐘夠了。
招聘網站都有一些模板式的選項,針對這些選項我喜歡采用下面的設置:
技能需求:
顧名可以思義,如果你是Rails網站,可以寫”Ruby on Rails”,有可能還要寫”HTML”和”JavaScript”等。
如果是其他技術,就填上具體的技術
支付方式:
如果是沒有具體結束時間的項目就采用按小時付費
如果工作范圍能確定就按固定金額支付,比如安裝WordPress并配置像X一樣的主題
預計工作量
這個每個人的評估不一樣,通常我勾選”兼職”
期望的經驗值
總是選中級或高級。選擇新手會讓你最終花兩倍的價格來換掉
公開程度
所有人可見(除非我要指定招某一個人)
其他偏好:
兼職類型:無
最少評價星級:無
這里選無偏好的原因是大量的高手從來沒有在這網站上完成過項目。還有的人只做了一個項目,結果還得了一個差評,但原因不是開發的錯,而是產品管理沒做好。所以我們不要濾掉這一批人。
已工作時間:無
再次說明一下,很多高手是剛加入網站的
地點:
這一項要注意。我個人是不關心對方在哪里。但這得取決于你。我一邊選擇無偏好。但如果你想各個地方的人都試一下那你就選對應的地點
英語級別: 5或更高
這一項是應該有要求的。好多人自稱英語是4/5但你跟他們發郵件,IM或Skype/Google Hangout溝通時你會發現實際上只有2或3。能夠有效溝通是成功的關鍵,缺少這一項猶如逆水行舟。
其他用于篩選的問題
我個人會留空,因為程序員就是技術型的,編程這塊要么知道要么不知道。
接下來發布職位。
等上大約48小時進入第二步。這期間應該有人來申請職位。
第二步 初步審核 – 雇傭最優人選(最少10個)
目標: 選取可能適合職位的最優候選人進入下一步
可能你會收到25到5份職位申請,他們可能來自世界各地。你要做的第一步就是過濾名單,下面就是行動方案:
砍掉英語(或者其他你選擇的語言)很爛不能閱讀的。這是很明顯的排除信號,如果現在都不能交流,你怎么能期待以后能交流。
去掉沒能力完成工作的。比如,你正在招聘Rails開發,但是應聘者沒有在技能里列出Rails。你需要招聘能力最強的。
去掉不符號職位描述的。 比如你需要招人開發一款游戲,那么web開發人員可能就不是很適合。
去掉超過預算的。一般來說
要價高一點的是比要價低的活兒好一點,但沒這必要。不然就是在浪費雙方的時間。
經過48到72小時后,你的候選名單上應該包含最少10個候選人。
現在就需要你掏點銀子了。如果申請人的平均薪水是5美元到25美元每小時,那你可能需要花50到250美元才能找到合適的人選。你需要把這10個人全部聘用,我是認真滴。但是你聘用他們的時候你得通知他們你只是需要他們完成一個簡單的任務,時間不超過1小時。然后你把編程任務(第三步)的鏈接發給他們。這一小時是要支付報酬的。這是給候選人信心表明不是要讓他們白干。如果你想找外包/自由職業者/合同工白給你干活,那你立馬失去所有的優秀開發人員。如果你支付他們整個一小時的報酬,他們會更認真。
這時候會發生一件有意思的事。平均有50%的候選人沒能完成這一步。我猜想其原因就是他們根本不知道如何完成。這也正是第三步的目標:把能做事的人篩選出來。
第三步: 編程任務
目標: 確認候選人有能力通過代碼解決問題。對候選人的代碼進行審查。
這一步和“如何招聘程序員”的第三步很像,但也有一些改動。雖然很相似但也存在關鍵的流程差異,所以讀了之前一篇文章的同學還請繼續耐心閱讀。
過程中候選人會用我指定的語言解決實際問題。對于高手來說編程任務應該不超過1小時就能完成。我也只支付了1小時時間,他們可以愛用多久就用多久的時間,反正我只付一小時。目標很簡單:判斷候選人行還是不行。
編程測試是很好的調節閥。不是說問題有多難(恰恰相反,問題很簡單),而是因為你可以了解對方的代碼質量,同時也能找到以下問題的答案:
候選人的溝通能力
候選人是否知道服從指示?
候選人知道如何使用git和GitHub嗎(后面會細說)
候選人知道最佳代碼實踐嗎?
候選人知道如何寫代碼嗎?
候選人能通過測試嗎?
我一般告訴候選人截止時間是24小時。題目放在一個在線的GitHub/BitBucket的一個Git庫里面,所有候選人共享一個代碼庫。這意味著候選人可以看到別人答案。但這沒關系,如果有人作弊也很容易發現。如果三個人的repo看起來一樣,那很可能最先提交的人才是真的寫出代碼的人。沒有人在一次測試中寫出一模一樣的代碼。
repo里包含題目所需的所有信息。候選人只需要按照指示操作,并在完成后發我一封郵件就行了。
你可以fork這些例子并保存。如果你訪問過這些網站中的任何一個你就會發現這里面的每一個例子都要求候選人經歷一系列步驟。如果候選人不清楚干什么,他們可以跟我確認或者直接在Goolge上找答案。候選人完成后需要提交一個pull 請求給我,然后我可以進行評審。
這種方式可以說是神來之筆,因為它能全方面了解候選人。比如候選人是否能按時寫出代碼完成工作。同時也能讓我審查代碼來判斷到底是好還是壞。基于我的經驗,平均5%的候選人不能完成任務,因為他們不知道如何解決問題。這也是我讓他們在家面試的原因。從第一步到第三步都可以遠程進行。這為公司節約了時間。在這完成了任務的40%的人中,只有20%的人做對了,并且到這個時候基本上只剩下一兩個候選人看起來不錯。如果你有更多的選擇當然更好。
有的網站要求候選人安裝監控軟件,它會定期進行截屏讓你檢查。所有者讓我不僅可以看到他們的進度,也能讓我部分評估他們解決問題的過程。
對于這種方式有一個很正常的顧慮:萬一他們作弊怎么辦?如果他們叫朋友或者其他人當槍手怎么辦?是有這種可能,但我認為現實中也存在這個問題。有時候程序員不知道如何解決問題就會尋求幫助。他們通過QQ向朋友求助,或者是在網上搜或者是找一些滿足要求的開源項目來修改。這就是程序員的作風,管你是在家還是在公司誰關心。如果對方真是在欺騙,我想很快我也能發現。就算是對方被招進來了,團隊也能很快發現問題。這時候你就需要需要決定是否要留下這個人了。
如果候選人沒能完成測試,這就直接是紅牌了。當然出的問題也應該足夠簡單讓有經驗的程序員能在一個小時內完成。如果不能完成,要么是題目太難了要么是候選人不合適。如果你用的是我上面提到的鏈接(或者類似的),那就不存在這個問題。對于那些沒通過測試的,我建議放棄后面的面試直接換下一個人。
對于那些正確解決問題的人,我一般會審查他們的代碼,如果沒問題我回把他們加入潛在雇員清單。
如果你不會寫代碼又想參照本流程那我強烈建議你找一個會編程的朋友,或者是同事來幫你。支付他們2個小時的報酬讓他們給你的候選人進行評價。向他們解釋你要進行的流程并告訴他們擔任的角色:代碼評審。如果你采用這種方式,你需要他們按照“行/還行/不行”這三個等級對代碼進行審查。“不行”的意思就是不行、不能聘用?!斑€行”就是說可以,不是最好的但可以用?!靶小北硎究梢?,聘用這個人,活干得不錯。我把那些“還行”的人也包含進來了是因為有時候代碼看著可以但不完美,這也不是大問題。有時候你希望產品能盡快出來并不要求完美,只要能用就行。這些”還行“的人就適合干這種事,因為有時候你在測試市場反應或其他方面,你希望越快完成越好。然而能招到”很行“的人總是好事。
如果沒人能完成編程任務,那就再發布職位。有時候要找到合適的人得發布好幾次職位信息。這是要花點錢,但花在前面比后面一直花錢要好。
第四步: 留下最優秀的
目標: 招聘合適的人選
通過上面的流程你已經找到了合適的人選,現在就要準備聘用了。一般到這一步可能剩下2到3人。
如果只招聘一個人,那就留下最好的,并告訴其他人你已經招了其他人,但會和他們保持聯系,團隊擴充的時候需要他們。這正是做人留一線,日后好見面。說不定以后還需要他們。如果你要招兩個人,那就留排名前兩個。道理你懂的。如果人不夠,那就再發布職位。
總結
招聘外包人員也是蠻有挑戰的。但如果你采用上面的流程,你會始終鎖定優秀的外包開發人員并過濾掉濫竽充數的人。我希望這些流程能幫到你。
我很想把創造這些流程的功勞歸功于自己,但做人要厚道。編程挑戰的實踐受啟發于一家名叫Integrum的公司。
-
程序員
+關注
關注
4文章
951瀏覽量
29799
發布評論請先 登錄
相關推薦
評論