最好的程序員比最差的程序員好28倍。
—— Robert L.Glass
優(yōu)秀的開發(fā)者確實(shí)不多見,他們的生產(chǎn)力是普通開發(fā)者的3部,是平庸開發(fā)者的10倍(來自《人月神話》)。這個(gè)世界上的TOP100的開發(fā)者不僅能寫Solid的代碼,而且還具備很多優(yōu)秀的品質(zhì)。我于1000多個(gè)開發(fā)者合作后,總結(jié)了7個(gè)優(yōu)秀品質(zhì),使他們?cè)诔绦騿T中更顯卓越。
1、積極的態(tài)度
一個(gè)優(yōu)秀的程序員關(guān)心自己的產(chǎn)品。他們積極,愿意全力以赴地完成工作,每天都能帶來非常好的成就感。很重要的一點(diǎn)是不要消耗開發(fā)者,比如頻繁修改項(xiàng)目期限。有時(shí)不可避免,優(yōu)秀的程序員會(huì)盡可能加快產(chǎn)品的發(fā)布,他們?cè)诤鹾筒辉敢夥赖K項(xiàng)目的進(jìn)程。 具有積極態(tài)度的好方法是給他們做一個(gè)有趣的項(xiàng)目,讓他們有自主權(quán),贊美他們做好工作。
初創(chuàng)的互聯(lián)網(wǎng)公司可以發(fā)放股票期權(quán),給加班工作的員工,提供補(bǔ)償性的帶薪休假,或找到確保優(yōu)秀程序員其他的福利。
怎樣測(cè)試這些技能
面試的樣題,4次重要面試,GitHub的項(xiàng)目。
其它問題:
你怎樣處理沖突?(沖突處理或面向解決方案)
你認(rèn)為自己很幸運(yùn)嗎?(傲慢或謙虛)
你愿意怎么樣面試?(抱怨者或沒有后顧之憂)
在這些人里,你不愿意和誰合作?(關(guān)于老板)
2.有良好的溝通技巧
良好的溝通能力與良好的開發(fā)能力有關(guān)。一個(gè)優(yōu)秀的開發(fā)者能夠清晰地了解問題,并分解成不同的假設(shè)可能,以一致的方式提出解決方案。他們可以快速理解新概念,或者要求掌握更確切的問題,并不需要寫什么規(guī)范文檔。優(yōu)秀的開發(fā)者能夠適合多種語言,而且擅長(zhǎng)閱讀英文文檔。在技術(shù)世界中,英語是絕大多數(shù)文檔,以及開發(fā)人員互動(dòng)的通用語言。即使他們說的不夠流利,他們會(huì)使用翻譯工具或者利用翻譯。把知識(shí)放在第二位,并且能夠快速適應(yīng)。
如何測(cè)試這個(gè)技能
模擬一個(gè)Scrum會(huì)議,看他們?nèi)绾谓换サ摹?/span>
給他們一個(gè)問題/場(chǎng)景,看他們?nèi)绾螠贤ā?/span>
3,時(shí)間管理和任務(wù)管理
優(yōu)秀的開發(fā)者非常主動(dòng)、可靠。他們有極強(qiáng)的工作倫理,能夠準(zhǔn)時(shí)出席會(huì)議。一個(gè)非常非常重要的技能是能夠準(zhǔn)確衡量完成任務(wù)的時(shí)間表,能夠準(zhǔn)確傳達(dá)和交付成果。卓越的開發(fā)者會(huì)管理客戶,是領(lǐng)導(dǎo),而非管理者。
如何測(cè)試這個(gè)技能
這通常在碎片化的時(shí)間。測(cè)試這些素質(zhì)的好方法是一個(gè)短期項(xiàng)目,要求一個(gè)時(shí)限,每個(gè)人都要提供開發(fā)的反饋。通過這些會(huì)很快識(shí)別您所在團(tuán)隊(duì)人員的優(yōu)劣勢(shì),根據(jù)能力績(jī)效開發(fā)團(tuán)隊(duì)潛質(zhì)。如果有人沒有交付,也許需要你“做出艱難的決定”,讓他們脫穎而出,嘗試一些新東西。
4.快速學(xué)習(xí)能力
優(yōu)秀的開發(fā)人員通常有著驚人的自學(xué)能力。他們自己有能力學(xué)習(xí)新技術(shù),不受新技術(shù)的威脅。他們還有能力即時(shí)抽出不同的信息并即時(shí)處理信息。每個(gè)程序員都會(huì)遇到他不知道答案的情況。優(yōu)秀的程序員會(huì)找到不同的資源,與合適的人討論并找到解決方案。
任何人都可以擁有如何學(xué)習(xí)的能力。而卓越的開發(fā)者掌握了自我學(xué)習(xí)的訣竅。
如何測(cè)試這個(gè)技能
通過快速提問
案例訪談
古怪的問題
5.深度和較廣的技術(shù)經(jīng)驗(yàn)
優(yōu)秀的開發(fā)者會(huì)脫穎而出,成為專家,勝任很多工作。 當(dāng)你尋找到一個(gè)與自己產(chǎn)品相仿或使用相同技術(shù)的程序員,您的項(xiàng)目會(huì)更容易成功,因?yàn)樗麄円呀?jīng)掌握了正確的技術(shù)。 他們會(huì)嚴(yán)守編碼標(biāo)準(zhǔn),并且能夠?qū)懗鋈菀桌斫獾拇a,并在有必要時(shí)一起討論,并且可以很輕松的傳達(dá)給別人。
通過結(jié)合他們的認(rèn)知能力和多個(gè)行業(yè)的經(jīng)驗(yàn),能夠快速形成最佳解決方案。
有經(jīng)驗(yàn)的的開發(fā)者精通敏捷開發(fā),任務(wù)管理(如使用jira,Trello等),版本被控制(比如他懂得Git,代表他從舊的SVN上進(jìn)行了知識(shí)升級(jí))等軟件的最佳實(shí)踐。
另外,他能夠在不同的工作環(huán)境中切換,如本地開發(fā)環(huán)境與部署遠(yuǎn)端后的應(yīng)用環(huán)境。
如何測(cè)試這個(gè)技能
提問他以前工作的例子,展示他以前的產(chǎn)品,發(fā)送代碼樣例或優(yōu)秀功能的抓圖或演示。
也可以與他以前服務(wù)的老板或CTO討論,了解他的技能和其它軟素質(zhì)。
編程算法挑戰(zhàn):盡管這類的技能與實(shí)際開發(fā)有一些區(qū)別,但是開發(fā)者如果在短時(shí)間內(nèi)成功搞定一些困難的算法問題,那么,我們知道這位聰明的人對(duì)計(jì)算機(jī)科學(xué)技術(shù)掌握有深度。
Hackathons:黑客馬拉松。現(xiàn)在很多公司已經(jīng)從這里面招聘了。在這類活動(dòng)中,你會(huì)看到高素質(zhì)的程序員在幾小時(shí)內(nèi)構(gòu)建出軟件。這對(duì)于評(píng)估編程效率,創(chuàng)建高可用的軟件以及獨(dú)立作戰(zhàn)與團(tuán)隊(duì)合作的極好方法。
6.一個(gè)團(tuán)隊(duì)好玩家
優(yōu)秀的開發(fā)者的另一個(gè)上佳品質(zhì)是可以幫助其它開發(fā)者變得更好的能力。他們?cè)趧e人遇到困難時(shí)提供幫助,為他人講解新技能,并且提供文檔,不僅在公司中幫助隊(duì)友,還在技術(shù)社區(qū)中分享更深入的技術(shù)。
如何測(cè)試協(xié)作技術(shù)能力
7.高端用戶聚集
一個(gè)優(yōu)秀的程序員會(huì)考慮更全面的問題,卓越的程序員會(huì)把自己當(dāng)成小白,當(dāng)成使用軟件的最終用戶,努力在組織的能力為他人解決問題。
卓越的程序員知道自己做的功能是具備高價(jià)值的,當(dāng)產(chǎn)品為更多的人創(chuàng)造價(jià)值,他會(huì)得到更多的回饋。
如何測(cè)試技術(shù)領(lǐng)導(dǎo)力
其它考慮事項(xiàng)
當(dāng)專長(zhǎng)被高估:技術(shù)專業(yè)知識(shí)很重要,但也不是被招募的唯一因素。具有快速學(xué)習(xí)能力,積極的態(tài)度、領(lǐng)導(dǎo)力的人會(huì)更有創(chuàng)造性,更能對(duì)公司提供有大價(jià)值的解決方案。技術(shù)專長(zhǎng)常常伴隨著我們,我們能夠在眾多場(chǎng)景中,有正確的態(tài)度對(duì)待自己的專業(yè)。
成熟的公司會(huì)按一種模板化的職位描述,成為固定的標(biāo)準(zhǔn)后,變得牽強(qiáng)靈活。
恰恰地,在產(chǎn)品啟的方案中,解決問題的能力、學(xué)習(xí)能力等多面選手在小團(tuán)隊(duì)開發(fā)的工作顯得非常重要。
你是否能成為一個(gè)卓越的開發(fā)者?
強(qiáng)大并強(qiáng)壯的心靈。隨著在線課程的普及,我們不必去學(xué)校里也能成為一個(gè)優(yōu)秀的開發(fā)者。然而,很多卓越的程序員走進(jìn)了校園,專門學(xué)習(xí)計(jì)算機(jī)科學(xué)技術(shù),獲得學(xué)位。他們知道這有助于更好的理解計(jì)算機(jī)和系統(tǒng)架構(gòu),能夠從整體觀念理解計(jì)算機(jī)編程。
另外,與最新的技術(shù)同步,讓自己隨時(shí)煥然一新。大量的閱讀關(guān)于最新趨勢(shì)的文章與博客。在業(yè)余時(shí)間嘗試新工具,新玩具,跟隨技術(shù)社區(qū),積極參與技術(shù)會(huì)議,并通過寫作為社區(qū)分享增值。
如有問題請(qǐng)聯(lián)系我們,我們7*24小時(shí)竭誠(chéng)為您服務(wù)