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