如果你自己不是一位程序員,該如何雇用程序員呢?你需要注意一下幾點(diǎn): 1. 他們有多堅持己見(jiàn)(固執)呢?詢(xún)問(wèn)他們有趣的編程主題(如Ruby或Python?)。從他們回答的語(yǔ)調和推理中,可以得到很多信息。在我們最近一期節目中 ,杰夫說(shuō):“當人們對事情有強烈的見(jiàn)解,當他們可以大篇幅地談?wù)撘恍┦虑闀r(shí),這就是一個(gè)很好的跡象表明他們對這件事很有熱情! 2.他們?yōu)殚_(kāi)源項目做了多少貢獻? 看看他們的貢獻。雖然你可能不是一個(gè)程序員,你仍可以知道他們是否寫(xiě)過(guò)一些代碼。而事實(shí)上,一個(gè)人有所貢獻,是一個(gè)良好的開(kāi)端!笆聦(shí)上,一直在貢獻意味著(zhù)他們正在使用這種工具,”Jamis說(shuō)!斑@就好比抓癢,就像他們接觸到一些他們認為應該加以改進(jìn)的程序,或接觸到一個(gè)錯誤并且自己修復了那個(gè)錯誤。參與程度對程序員是一個(gè)很好的鑒別標準! 3. 他們有多享受編程? 他們不需要在自由時(shí)間的分分秒秒都去敲代碼,但是你確實(shí)想看到一定程度的熱情。Jamis說(shuō),“與其說(shuō)在業(yè)余時(shí)間編碼本身是最重要的事情,不如說(shuō)它展示了你熱情的態(tài)度和有自己的見(jiàn)解! 4. 他們真的掌控工作? (Do they actually ship?) 了解他們如何管理自己的工作。軟件通常出小錯誤——了解他們如何避免這種情況。了解他們什么時(shí)候按時(shí)地完成了項目,并詢(xún)問(wèn)為什么這個(gè)項目是成功的;驈难舆t項目中吸取了什么經(jīng)驗教訓!翱刂栖浖\行的能力是關(guān)鍵的,”據杰瑞米說(shuō)!八麄兪侨绾喂芾韺(shí)際需要的任務(wù)并在一定的時(shí)間內完成,這是很重要的! 5. 他們掌握了什么? 皮克斯(Pixar)公司的蘭迪·納爾遜認為,能夠掌控任何一件事意味著(zhù)也能夠掌控其他事。所以尋找那些掌控著(zhù)一些事的人。候選人是一個(gè)優(yōu)秀的廚師嗎?或山地車(chē)選手?還是其他什么人物?”這是一個(gè)跡象表明他們也可以做您項目的主導者!澳鞘且环N即使其他登山者幾乎馬上就要到達山頂,仍感覺(jué)我將要先到達山頂的感覺(jué),”尼爾森說(shuō)!叭绻粋(gè)人在來(lái)到你工作場(chǎng)所之前都沒(méi)有涉足,那么他成為工作的主導者的可能性也是很小的! 6. 他們的溝通能力如何? 你對編程了解的越少,你越需要依靠一個(gè)人去解釋程序進(jìn)度。這就是無(wú)論什么職位都要聘請大作家的原因,這是個(gè)好主意。例如,這兒有杰夫解釋的在計劃方案內Basecamp API人員更新到其他項目的例子: 我只是對Basecamp 和Companies APIs的人員進(jìn)行更新調整。 我們現在允許客戶(hù)和公司員工去接觸通過(guò)項目認識的人和公司。在此調整之前,公司員工和客戶(hù)只能看到對方使用的特定的項目ID。沒(méi)有辦法讓他們看到在項目過(guò)程中參與的所有人(例如,同事)。 例如,如果API用戶(hù)發(fā)出的請求,一個(gè)是鮑勃,另一個(gè)是吉爾,那么/ people.xml文件將返回給鮑勃和吉爾。如果請求的用戶(hù)是管理員, 那么帳戶(hù)中的所有的人都能收到。 這同樣適用于公司管理。 如果一個(gè)程序員既能夠編碼,又能講非程序員能聽(tīng)懂的的話(huà),那么很多事情是不太可能出問(wèn)題的。(編注:上面這6點(diǎn),是招聘官需要知道的注意事項。關(guān)于在聘用程序員或開(kāi)發(fā)人員的時(shí)候,需要問(wèn)哪些問(wèn)題,可以參見(jiàn)《如何面試程序員?》這篇文章。) 試用 (Test drive ) 如果可以,擯棄“全要或無(wú)用”的決策模式。雇用一個(gè)全職員工是一個(gè)很大很困難的決定。為小項目聘請員工,讓他們在空閑時(shí)間完成這些項目,這種方式更容易為雙方所接受!禛etting Real》 中的“淺嘗輒止” 一文中談到: 在雇傭任何人之前,先給他們一個(gè)小項目來(lái)考慮。我們就會(huì )了解他們對待這個(gè)項目是如何溝通,工作的,等等。當他們設計或者編寫(xiě)的時(shí)候,就會(huì )給你帶來(lái)很多發(fā)現。你會(huì )相當快的學(xué)習,無(wú)論氛圍是否恰當。 可以用日程安排來(lái)堅持這種方式,即使只需要20或40小時(shí),也比什么都沒(méi)有要好。適合或者不適合,都會(huì )顯現出來(lái)。如果沒(méi)有,那就是雙方想要先測試工作而隱藏了自己的問(wèn)題與風(fēng)險。 仔細考慮一下,你能提供什么,并且如何才能讓你的職位盡可能的吸引人,這也是個(gè)不錯的主意。壺里的蜜越多,才會(huì )有越多的蜜蜂飛進(jìn)去。(恩,不管怎樣,可以肯定這不像一個(gè)東西放在那一樣)在《Great Hackers / 偉大的黑客》中保羅點(diǎn)格雷厄姆提供了一份列表,關(guān)于如果吸引最優(yōu)秀的程序員:優(yōu)秀的開(kāi)發(fā)工具、開(kāi)源軟件、帶門(mén)的房間、一個(gè)感興趣的問(wèn)題和聰明的同事。如果你有其中的任何一項或者全部,確保讓潛在的雇員能夠了解到。 自己動(dòng)手? 所有這些都會(huì )有所幫助,但是很顯然,雇傭程序員最好的方法是你自己能至少了解一點(diǎn)編程。雇傭一份你從來(lái)沒(méi)有做過(guò)的工作,真的是件很困難的事。因此,要在雇傭了那些人之后管理他們,格雷厄姆在他的《偉大的黑客》一書(shū)中有過(guò)如下討論: 我看過(guò)關(guān)于如何管理程序員的一些文章。事實(shí)上有兩種:一個(gè)是如果你是程序員,你該做什么,另一個(gè)是,如果你不是程序員,你該做什么。而第二種可以總結為兩個(gè)字:放棄。 問(wèn)題不在于日常管理。實(shí)際上,真正優(yōu)秀的黑客(hacker)是自我管理的。問(wèn)題是,如果你不是黑客(hacker),你就不會(huì )知道誰(shuí)才是真正優(yōu)秀的黑客(hacker)。 確定自己是否能在招聘員工之前了解一些編程技術(shù)。事實(shí)上,杰森在與DHH合作之前就已經(jīng)開(kāi)始學(xué)習PHP了。同樣的,在我們當中有人學(xué)會(huì )如何配置服務(wù)器之前,37signals不會(huì )雇傭系統管理員。如此做來(lái),你就會(huì )對尋找應聘者以及你想解決的問(wèn)題有更深入的理解。 至于你在這過(guò)程中犯的錯誤,要記住,這就是“真正的”程序員的工作方式!斑\行迭代感覺(jué)就像永遠反復的錯誤校正”杰瑞米解釋到!斑@聽(tīng)起來(lái)很令人泄氣,但這卻是允許的。該死,甚至測試驅動(dòng)開(kāi)發(fā)也是反復的錯誤校正。所以,建議你應該先從自己做起! |