編者按:本文來自微信公眾號“InfoQ”(ID:infoqchina),作者周明耀;36氪經(jīng)授權(quán)發(fā)布。 在上一篇文章中,我們主要介紹了團(tuán)隊領(lǐng)導(dǎo)者品質(zhì)、帶領(lǐng)團(tuán)隊心得以及個人職業(yè)發(fā)展想法。在這篇文章中,我們會重點介紹如何從零開始構(gòu)建一支技術(shù)團(tuán)隊,以及如何做好團(tuán)隊和人員的管理、溝通工作??纯?,別人家的技術(shù)leader是怎么做的。寫在前面原本只是想小范圍分享一些自己積累的工作經(jīng)驗,InfoQ小編發(fā)到了微信公眾號,并將我的原題《我所理解的技術(shù)管理-如何帶領(lǐng)一支軟件開發(fā)團(tuán)隊(一)》改為了《程序員,這是你想要的技術(shù)leader嗎?》,如此誘人的標(biāo)題。剛才看了一下點擊量,已經(jīng)有將近5萬的閱讀量,這還不包括其他媒體轉(zhuǎn)發(fā)的,讓我有點不能淡定了,倒不是壓力,我這樣的工作性質(zhì)已經(jīng)習(xí)慣了壓力,只是擔(dān)心自己的認(rèn)知有局限性。 本文我分享的是“如何進(jìn)行團(tuán)隊建設(shè)、人員管理和溝通工作”,分為管理基礎(chǔ)、組建團(tuán)隊、管理團(tuán)隊、影響團(tuán)隊因素、其他方面知識等幾部分。 管理基礎(chǔ)管理人員是與人打交道,其任務(wù)是使員工能夠協(xié)同工作、揚長避短。——Peter Drucker 程序員經(jīng)驗對比我這里簡單做了一個表格,舉例說明對于某一個崗位不同能力的程序員對比: 團(tuán)隊成員品質(zhì)做事專注 假期我?guī)畠喝ド倌陮m畫畫了,在一個白色的存錢罐上面涂上顏色,這需要充分保持自己的注意力。女兒不是那種注意力很集中的人,事實上,我覺得沒有誰是天生就注意力很集中的,孩子的認(rèn)知、行為方式來自家庭的影響。我對女兒反復(fù)說,“無論別人在你周圍談?wù)撌裁丛掝},或者他們發(fā)出什么聲音,都和你無關(guān),你現(xiàn)在要做的是專注于畫畫?!?,同樣的故事發(fā)生在《妙手仁心》這部電視劇里,急診室的主任在有人行兇的情況下,保持高水準(zhǔn)的急救,也是專注工作的充分體現(xiàn)。 技術(shù)工程師,做事專注力是必需能力,是你成為技術(shù)專家的前提要素。 樂于挑戰(zhàn) 當(dāng)你加入一家新公司時,要挑一個比較棘手的難題(其他人盡量回避的)來加以解決。這樣可以使你快速積累經(jīng)驗,并贏得成為一名卓有成效的開發(fā)者和影響者所必需的信譽(yù)和尊重。 永不氣餒 我在職業(yè)生涯中投籃失敗9000余次。輸?shù)袅?00場比賽。有26場比賽,我被委以投出致勝球的重任,卻沒能命中。我不斷地遭遇失敗,而這恰恰是我取得成功的原因。—— Michael Jordan 軟件開發(fā)領(lǐng)域,每次失敗之后善于總結(jié),確保下次不再犯同樣的錯誤,比膽小怕事要強(qiáng)太多。 承認(rèn)錯誤 如果你知道大家正在找的問題的根源出在你的程序上面,那么主動站出來,簡要地解釋一下存在什么問題,出現(xiàn)問題的原因,以及你能提出的解決對策。在商業(yè)領(lǐng)域,出現(xiàn)這種大規(guī)模討論的原因,往往是由于主導(dǎo)者在情況變得糟糕時得不到直接的答復(fù)。如果能夠及時向他們提供信息,說明問題出在哪里、正在采取哪些措施以最大限度地降低問題再度發(fā)生的可能性,他們就能對問題的影響作出準(zhǔn)確的評估了。 如果哪一個領(lǐng)導(dǎo)因為你主動承認(rèn)錯誤,一股腦把責(zé)任全部推給你,那你也應(yīng)該離開他了,讓這次事件看清楚這個人的內(nèi)心,挺好的。 組建團(tuán)隊招聘人員一流人才招聘一流人才,二流人才招聘三流人才。 —— Steve Jobs了解崗位需求在招聘之前,我需要明確知道自己需要怎么樣的程序員,需要關(guān)注自己所提供的的崗位,是需要經(jīng)驗,還是需要技術(shù)鉆研的熱情??纯催@兩類,你需要哪類。
or :
上面提到的這些特質(zhì),它們互相并不是排斥的。但第一種類型的程序員可能是經(jīng)驗豐富的老手,后面那種類型的更可能是充滿熱情的新手,關(guān)鍵看你的崗位、行業(yè)需要怎么樣的人。 編寫職位描述當(dāng)我了解清楚自己的實際需求后,我需要針對職位進(jìn)行描述,這樣無論通過獵頭、獵聘網(wǎng)、Boss直通、51Job等等方式,都可以讓讀者查看是否該崗位符合他的實際情況。職位描述如下所示,一般包含以下三部分內(nèi)容:
人員分類“獨狼”和“農(nóng)民”我把普通程序員分類為“獨狼”和“農(nóng)民”這兩類,“獨狼”更多喜歡一個人完成工作,也就是說,當(dāng)問題出現(xiàn)時,他們的第一反應(yīng)是去獨自解決問題。他們常常跳過規(guī)劃,最終得到一次性的解決方案。 從團(tuán)隊角度來看,我更加希望軟件開發(fā)像種地一樣。農(nóng)民會有條不紊地了解地形、研究土地的化學(xué)組成成分、種植、澆水、除草,最終收獲糧食??煽?、可擴(kuò)展、可維護(hù)的軟件都是這樣有條不紊地開發(fā)出來的,這其實是日積月累的能力。 許多“獨狼”都是優(yōu)秀的程序員,但是你需要對他們進(jìn)行“貼身”管理。他們有著當(dāng)主角和引起團(tuán)隊內(nèi)部糾紛的傾向和能力,需要做的是盡量多地關(guān)注他們的工作,了解他們具體的工作內(nèi)容,如果出現(xiàn)問題要馬上采取措施糾正,否則最終情況可能會失控。 只能當(dāng)“獨狼”的程序員不會在任何一家企業(yè)待太久。要么是你對他們總是自顧自地向前沖感到厭煩而辭退他們,要么是他們對長期受限制感到厭煩而主動辭職。 “英雄” 這一類人指的是承擔(dān)需要極大努力才能完成的任務(wù),并最終取得成功的人。在付出這些非常人所能承受的努力方面,“英雄”和“獨狼”有點相似,但“英雄”更能夠在團(tuán)隊工作和開發(fā)過程獲得成功。此外,“英雄”大多是團(tuán)隊內(nèi)部培養(yǎng)出來的,不是從外面雇傭過來的,很多時候他們會在企業(yè)中崛起為超級明星。管理“英雄”具有一定的挑戰(zhàn)。如果你總是希望他們付出超人的努力,時間長了后會發(fā)現(xiàn)使用過度,造成和你之間的矛盾。 此外,作為技術(shù)團(tuán)隊管理者,你也需要有一定的技術(shù)功底,能夠讓“英雄”覺得可以從你這里學(xué)到什么,這樣才能合作更為愉快。最后,需要對“英雄”的薪資、福利有所傾向,并且多和他們溝通,讓他們自己選擇技術(shù)方向,并把他們放入關(guān)鍵項目里。 內(nèi)向的人 內(nèi)向的人表現(xiàn)為非常沉默、內(nèi)斂,幾乎感覺不到他們的存在。他們可以把工作完成得很出色,但是對團(tuán)隊執(zhí)行力或者在會議上幾乎沒有什么貢獻(xiàn)。他們在一對一的時候能進(jìn)行交流,但退回到人群里以后幾乎消失了。 在會議上讓他們發(fā)言時,當(dāng)他們分享自己的意見或見解時,要給予正面的支持,這樣可以逐漸幫助他們建立自信,讓他們感覺到自己對于團(tuán)隊是有貢獻(xiàn)的。找機(jī)會跟他們交談,當(dāng)面認(rèn)可他們的貢獻(xiàn)。與他們的交流要單獨進(jìn)行,通過一些小事情與他們建立特殊的聯(lián)系,例如分享工作經(jīng)驗、交流管孩子心得。總之,想方設(shè)法建立更緊密的聯(lián)系。 帶有明顯負(fù)能量的人 盡量避免團(tuán)隊里存在具有很強(qiáng)負(fù)能量的人,他們會通過挑撥離間和散布不滿情緒來毒害整個開發(fā)團(tuán)隊,并且對組織造成嚴(yán)重的破壞。如果沒有他們,那些負(fù)面情緒可能永遠(yuǎn)不會出現(xiàn)。比如“團(tuán)隊管理者根本不關(guān)心大家”,帶有負(fù)能量的人會進(jìn)一步夸大事實,把一些細(xì)枝末節(jié)的事情說成是管理層故意針對程序員的行為??蜌恻c說,這樣的言論是公然藐視真理和道德的。發(fā)現(xiàn)這類人,盡快溝通或處理吧。 各類奇葩 不管是一心想當(dāng)“老大”,不擇手段壓制同伴的奇葩,還是對人很粗魯?shù)钠孑?,或是到處借錢的奇葩,對于各類奇葩,早點讓他們走,無論他們的水平有多高,都不要猶豫,也不要期望自己能夠改變什么,他們的性格是受了家庭或者個人經(jīng)歷嚴(yán)重影響的。讓這些人盡快遠(yuǎn)離團(tuán)隊,這樣整個團(tuán)隊都會輕松很多。 新員工入職 做好新員工入職工作非常重要。這是一個向新員工表達(dá)你對他們非??粗兀愕膱F(tuán)隊管理與運行狀況也十分良好的機(jī)會。 在大多數(shù)公司里,團(tuán)隊管理者一般都要負(fù)責(zé)為新員工尋找工位。我需要考慮團(tuán)隊現(xiàn)有的人員配置,找到與新員工個性適配的老員工,另外還要考慮到新員工的代碼職責(zé),以及團(tuán)隊領(lǐng)導(dǎo)、技術(shù)領(lǐng)導(dǎo)和架構(gòu)師的座位。 我的習(xí)慣做法是帶著新員工逐一認(rèn)識團(tuán)隊成員,自己帶著他去食堂吃午飯,并指定新員工的導(dǎo)師(技術(shù)上的),然后和他聊聊最近一個月打算給他安排的工作等等。 管理團(tuán)隊 管理的最終目標(biāo)是:“不要讓你的下屬陷入困境,不要讓你的同事陷入困境,尤其是在任何情況下,都不要讓你的上級陷入困境”。 技術(shù)尊重要了解程序員,你首先需要深入理解他們使用的工具、流程,以及程序設(shè)計的藝術(shù)。你理解得越深入,在和下屬程序員進(jìn)行技術(shù)對話時,參與能力就越強(qiáng),越容易獲得他們的尊重。微軟的一個程序架構(gòu)師這樣評價比爾.蓋茨:“蓋茨最喜歡和他的程序員一起將程序分析到比特、字節(jié)層面。在技術(shù)戰(zhàn)斗中他可以非常輕易地守住自己的陣地,他之所以可以獲得程序員的尊重,因為他可以輕易地戰(zhàn)勝他們”。 成功地管理程序員最重要、最關(guān)鍵的因素,是得到你管理的下屬的技術(shù)尊重。如果沒有技術(shù)尊重,那么你的每一個具體想法,都可能會遇到主動或者被動的阻礙。正是由于這個原因,那些在職業(yè)生涯的某個時期沒有做過程序員的團(tuán)隊管理者,才會覺得有效地管理程序員是極其困難的事情。 強(qiáng)化現(xiàn)有的團(tuán)隊假設(shè)現(xiàn)有團(tuán)隊全部由普通程序員(能夠完成交代的工作,但是沒有主動創(chuàng)造能力)組成的。我們需要做的是招聘1-2位杰出的程序員,這一步要耐心,明確候選人是否是真正的杰出程序員,因為只有招聘到正確的人才能讓工作高效,如果招到的員工很差,那么你就沒有時間去處理其他的工作了(總是有各種問題不停地困擾著你)。 系統(tǒng)程序員/架構(gòu)師容易在團(tuán)隊里顯得有點格格不入,這是因為他們很多都是“獨狼”,他們可能脾氣很差,也可能技術(shù)上很有個人主義。這也是個人成就差別最大的群體。和這類人不同,杰出的程序員能夠以一種優(yōu)雅而簡潔易懂的設(shè)計來架構(gòu)大型的復(fù)雜系統(tǒng),這些優(yōu)秀的系統(tǒng)往往能讓所有其他程序員的工作都更加輕松,因此,單人就能帶來巨大的杠桿效應(yīng)。我的理解是需要讓系統(tǒng)程序員/架構(gòu)師深入到開發(fā)工作,不要讓他們只設(shè)計、不編碼,應(yīng)該把他們引導(dǎo)為杰出程序員,否則他們最終可能成為團(tuán)隊的雞肋。 團(tuán)隊組成杰出的程序員需要一群稱職的程序員來配合,依賴這些程序員來完成日常的開發(fā)工作,實現(xiàn)設(shè)計好的系統(tǒng)和產(chǎn)品。和橄欖球類似,一個杰出的橄欖球隊中必須要有那些負(fù)責(zé)阻攔和搶斷的隊員,而一個杰出的開發(fā)團(tuán)隊則主要由那些稱職的程序員組成。這讓我想起了電影《沖鋒陷陣》的最后一幕,四分衛(wèi)拿著球向?qū)Ψ疥嚨貨_去,周圍一群隊友阻攔對手球員,能力弱的以自己的身軀直接和對方一對一拼掉,能力強(qiáng)的干掉一個又一個對手,直到四分衛(wèi)沖過對方底線。這部電影我看了很多遍,也是我?guī)ьI(lǐng)團(tuán)隊的精神指導(dǎo),每次看到這一幕,我都依然會非常激動。 比較合適的團(tuán)隊成員組成:1-2名“英雄”+大多數(shù)“農(nóng)民”+極少量“獨狼”。 進(jìn)度管理我有一塊小白板(不是那種很大的),我把它放在自己的面前。每天早上我都要寫上今天需要參加的會議、自己要做的事情,此外,每天上午半天時間我會和每一個項目(產(chǎn)品開發(fā)、預(yù)研、調(diào)研,都可以)的團(tuán)隊成員過一遍當(dāng)前進(jìn)展。大家坐下來,好好談?wù)勔呀?jīng)實現(xiàn)的設(shè)計或代碼,對疑惑、問題進(jìn)行討論。 因為這種方式可以確保自己不僅僅依賴于狀態(tài)報告、項目時間表,這種方式也可以讓你能夠接觸到說真話的員工,他們會告訴你哪些地方做的不夠好,并且會主動請求團(tuán)隊管理者幫助,而不需要團(tuán)隊管理者來催促他們。最高效的團(tuán)隊管理者往往都是坦率的,也往往對下屬有足夠的時間,能讓員工找到他們說出自己的想法,他們會認(rèn)真傾聽。 引導(dǎo)工作團(tuán)隊管理者工作中的一個重要部分是引導(dǎo)事情走向正確的方向,并確保團(tuán)隊成員之間以及團(tuán)隊之間有正確的溝通。對于一個團(tuán)隊管理者來說,要想最大化地利用自己的時間和技能,就要引導(dǎo)程序員自己做出正確的決定,而不應(yīng)該自己就把決定做了。這樣做,可以幫助下屬員工培養(yǎng)技術(shù)、積累經(jīng)驗、建立自信,還能獲得那些具體執(zhí)行決定的員工的認(rèn)同。 如果你發(fā)現(xiàn)自己經(jīng)常需要討論非常具體的命令如何執(zhí)行,那說明你沒能很好利用你的管理技能,或者沒能賦予下屬員工足夠的權(quán)利。作為團(tuán)隊管理者,你必須指出大方向,然后做好充分的檢查,以確保員工做出正確的決定和實現(xiàn)。及早檢查下屬員工做出的重要決定,否則當(dāng)你想中途接入并修正時,員工可能已經(jīng)做了很多無用的工作。這也是為什么我在“進(jìn)度管理”一欄中強(qiáng)化自己的每天進(jìn)度跟蹤、討論的重要性。 保護(hù)成員做過項目的團(tuán)隊管理者一般都有這樣的經(jīng)歷,團(tuán)隊成員正在專心處理現(xiàn)場問題,莫名其妙被人投訴,投訴可能來自市場部門,也可能來自技術(shù)支持,或者兄弟研發(fā)部門,都有可能。也容易出現(xiàn)團(tuán)隊成員每天被大量無用的會議煩擾,不去的話就要被投訴,這類情況在大公司司空見慣。 我們要學(xué)會保護(hù)團(tuán)隊成員,讓他們免受組織中每日泛濫不絕的各種問題、爭議和“機(jī)會”的干擾。在大一些的公司內(nèi)部,官僚主義政治會通過各種文書工作來忽略或者緩沖每天的各種請求和問題。小一些的公司里,面對挑戰(zhàn)的是各種銷售驅(qū)動的機(jī)會、客戶驅(qū)動的爭議問題,以及管理驅(qū)動的想法,你作為團(tuán)隊領(lǐng)導(dǎo)者,可能是他們最后或者唯一的防線。 另外一種你必須提供的保護(hù)是,保護(hù)你的員工免受開發(fā)之外的同事或者部門的攻擊。這些攻擊或者抨擊往往并沒有充足的信息或事實根據(jù),有些抨擊是出于好心的,有些則是惡意的,甚至可能包括個人攻擊。我的建議是對這種情況保持警惕,處理之前先充分了解情況,如果確實存在無根據(jù)的抨擊情況,事發(fā)當(dāng)時或事后私下溝通,告訴那個發(fā)出抨擊的人,指出他的行為是不恰當(dāng)?shù)模屇銦o法容忍,讓他知道事情的嚴(yán)重性,而不是一味指責(zé)自己的員工做得不夠好。 有一個情況我想特別說明,公司內(nèi)部非重要部門組織的會議,盡量不要放在周五的晚上、休息日進(jìn)行,看起來很有效率,其實是在過度使用研發(fā)資源,過度消費程序員對公司的滿意度。周五晚上、休息日可以干擾研發(fā)人員的事情是:
評估和改進(jìn)績效作為團(tuán)隊管理者最重要的職責(zé)之一,是評估員工的工作績效,并持續(xù)改進(jìn)他們的績效。每日反饋、季度/年度績效審查,以及每月或者每季度目標(biāo)等都是很好的鞏固,可以幫助你完成績效的評估和改進(jìn)工作。 比較直接的方式是為每一個人設(shè)定工作目標(biāo)并規(guī)定完成的時間。接著定期審查這些目標(biāo)的進(jìn)度和實現(xiàn)方式,季度目標(biāo)的時間太長了,最好是每周、雙周比較實際。 我比較喜歡的方式是,采用郵件形式列出每個人今年的總目標(biāo),以及每周的細(xì)分目標(biāo),如下所示: 這樣的郵件需要每周更新一次,保持時效性,也給團(tuán)隊管理者以約束,你必須和團(tuán)隊緊密地在一起,為員工設(shè)立清晰的目標(biāo),這樣可以產(chǎn)生明確的績效評估方法,而你在向上司或者公司其他人溝通匯報時就可以更加清晰。 裁員表現(xiàn)很差的人給團(tuán)隊拖后腿的方式很多。他們占用了預(yù)算的一部分,但是卻無法交付出有效的成果。其他人如果看到他們差勁的表現(xiàn),也會消極得失去動力或者失去對你的尊重。表現(xiàn)差的人可能會影響項目的進(jìn)度,從而對項目中的每個人都產(chǎn)生不利影響。他們也會占用會議中的大量時間。因此不論如何,這種情況必須盡快解決。 雖然很難開口,但通常,終止合同對你和員工都是件好事。很多表現(xiàn)很差的員工都知道自己很差。很少有人會看不到現(xiàn)實情況,還幻想自己表現(xiàn)很出色。他們每天上班和睡覺都背負(fù)這這個沉重的負(fù)擔(dān)。對大多數(shù)人來說,負(fù)擔(dān)會沉重到難以忍受。所以,當(dāng)你最終直面他們,并開始終止合同的流程時,員工通常會感到一種放下包袱的輕松。很多人會選擇離開,也有一些人會選擇嘗試績效改進(jìn),如果選擇后一條路,你一定要定期與這個員工會面,審查績效情況并討論結(jié)果。 被動溝通如果一名團(tuán)隊成員在你不太方便的時間來找你聊天,一定要先把手上的工作放下,專心跟他交流。他可能想鼓起勇氣告訴你一件大事。聊天的內(nèi)容可能很簡單,比如缺少完成任務(wù)所需要的相關(guān)資料或者技能,也可能很重大,比如即將離婚、家人病重或者其他對他個人有很重大打擊的事情,這些時間對你的工作時間表都有重大影響。如果你的團(tuán)隊成員知道自己受到了最高優(yōu)先級待遇,那么在事情將變得很糟糕的時候,他們來找你交流的可能性就更大了。 影響團(tuán)隊因素 薪資管理我對這一點有一個基本的方法論,概括為“對工作努力的人,要給予薪資方面的傾向,即便你是億萬富翁,該多給你的獎金一分都不能少,如果家庭經(jīng)濟(jì)有困難,那還要更多給予傾向。對于不努力的人,無論你多么困難,天平絕對不會向你傾斜”。公平、公正,是做事、做人的基本原則。 上升通道團(tuán)隊里的每一個人都有自己的未來規(guī)劃,你需要多溝通,了解清楚他們對于未來的設(shè)想,比如想走技術(shù)管理、純管理、技術(shù)專家,或者想跳出研發(fā)體系,盡量為他們指出發(fā)展方向,讓每個人能夠清楚在這里可以走向未來,這樣你的團(tuán)隊才會穩(wěn)定。 工作時間如果你可以做主,建議最好針對程序員采用彈性工作制。多數(shù)企業(yè)中的多數(shù)雇員屬于白天型的人,與他們不同,多數(shù)程序員屬于夜晚型的人。他們一般到了晚上才開始很有精神,對于開發(fā)工作更加專注,所以如果有可能,盡量多地給他們彈性,不要太過于限制工作的時間、地點。當(dāng)然,很多開發(fā)工作是需要及時溝通的,所以每天必須有大于4個小時的時間能夠讓大家聚在一起,這樣才能夠完成需求、設(shè)計等評審,才能對具體的系統(tǒng)架構(gòu)、代碼問題進(jìn)行討論,此外,畢竟產(chǎn)品、市場、職能部門的工作人員不是彈性工作制,也要體諒他們。 大規(guī)模變革沒有什么比建立新秩序更困難、更無望成功、更危險的了。因為舊秩序的受益者都是改革者的反對者,只有那些可能從新秩序受益的人才會勉強(qiáng)支持改革?!?Niccolo Machiavelli 你一定要慎重執(zhí)行大規(guī)模變革,無論是組織架構(gòu),還是人員任命,因為所有的改變,都會在人的內(nèi)心引起權(quán)力欲望、恐懼,多做核心人物的思想溝通工作,不要由閉門小團(tuán)體會議決定所有的改變方案,這樣會讓核心技術(shù)人員感覺到被邊緣化、被決定命運。 其他事項理解程序員程序員是一種有趣的工作,而大多數(shù)程序員都很享受工作,這樣就不難理解了,為什么難以管理他們?如果有人付錢讓你開心地玩,你還會愿意受制于人嗎?受人管制就會減少工作中的樂趣! 從許多方面看,程序員之間的差異非常大,只有很了解程序設(shè)計的人才能完全理解這一點,事實上,程序員之間的差異主要來自個人內(nèi)在因素,而不是外在屬性。大多數(shù)公司的高層管理者對所有的程序員一視同仁,這種看法是片面的。微軟公司的Bill Gates、Adobe公司的John Warnock、FaceBook公司的Mark Zuckerberg都沒有犯這樣的錯誤,因為他們本質(zhì)上也都是程序員。這也是我覺得某些大型軟件企業(yè)需要變革的原因,在科技界,你最好不要讓非技術(shù)出身的人擔(dān)任CEO。 因為程序員都是些無拘無束的人,常見的激勵方法往往沒什么用。除了進(jìn)行必要的技術(shù)監(jiān)督并把開發(fā)實踐和過程落實到位之外,善于利用程序員的自我意識和改變世界的欲望也很關(guān)鍵。這就需要一類既能理解程序員的工作方式,又能理解工作本身的技術(shù)管理者,他們不僅能有效地激勵程序員超常發(fā)揮,而且能按時交付結(jié)果。 左腦型VS右腦型右腦理論與左腦理論源于Roger W.Sperry的具體研究工作,根據(jù)他的研究表明,大腦的左半球和右半球具有針對不同任務(wù)的專門功能。左腦通常專用于分析任務(wù)和語言表達(dá)任務(wù)。左腦的表達(dá)能力比右腦強(qiáng)得多,而右腦主要用于空間感知任務(wù)、音樂等。 如果你是一名程序員,你很可能屬于“左腦型”,這意味著語言、邏輯和分析使用得更多,也更客觀。其實稱為“左腦為主型”更恰當(dāng),因為我只有一個大腦,兩個半球始終是同時工作的。因此,你既可以是“左腦型”的人,又可以具有非語言交流、直覺、想象力較多且更主觀等強(qiáng)烈的“右腦型”傾向,這些傾向通常更多地與音樂家、作家、藝術(shù)家等創(chuàng)新型人才相關(guān)聯(lián)。 對于一名優(yōu)秀的程序員來說,強(qiáng)大的左腦分析能力是必不可少的,不過,與右腦相關(guān)的活動往往也同樣重要,這是因為程序設(shè)計是一門很有創(chuàng)意的藝術(shù)。事實上,一些最頂尖的程序員同時也是藝術(shù)家。 杰出的程序員杰出的程序員是如何產(chǎn)生的呢?僅僅具備程序設(shè)計方面的天賦是遠(yuǎn)遠(yuǎn)不夠的。實際上,天賦反而對杰出程序員的技能有副作用。杰出的程序員是大師級的人物,做事有條不紊、遵守紀(jì)律,能夠憑借直覺把代碼和程序組織好,能夠約束自己總是在編寫代碼之前進(jìn)行設(shè)計,能夠在最少的時間內(nèi)編寫出清晰、簡潔、實用、高質(zhì)量的代碼并獲得預(yù)期的結(jié)果。換言之,杰出的程序員是大師級的工匠。 如果程序員的學(xué)習(xí)、工作動力主要來源于項目管理時間表、管理層的壓力,或者金錢,那么它不會成為一名杰出的程序員。對大多數(shù)杰出的程序員來說,動力實際上來源于更高的追求,例如對改變世界,做出人們實際使用的程序或產(chǎn)品。杰出的程序員希望并且需要為具有世界影響的項目工作,他們希望能夠感受到自己的工作是有意義的,哪怕只在某個很小的方面有意義也行。杰出的程序員偏愛能夠滿足他們更高理想或要求的公司和項目,他們非常在意自己所做的事情,常常為了想要的結(jié)果而超負(fù)荷工作,而不會在某種壓力下自愿做低技術(shù)含量的重復(fù)勞動。 美國科羅拉多大學(xué)早在1993年就做過一個關(guān)于軟件工程師的研究,報告顯示:“和普通工程師相比,那些出類拔萃的工程師往往更能照顧全局,更喜歡實際心動,更易受使命感推動,更能展示和表達(dá)出一種堅定的信念,在管理中更容易發(fā)揮主動的作用,更能幫助其他工程師”。 世界上杰出的程序員不多,不可能讓每個項目團(tuán)隊都擁有杰出的程序員。而且多數(shù)團(tuán)隊也只能容忍隊伍中有一兩名杰出的程序員。大多數(shù)的程序都需要靠普通程序員完成,他們通常是稱職的、專業(yè)的、能干的,但是可能會把程序設(shè)計看作為一種工作,而不是追求。 階段總結(jié)管理程序員不是一項簡單的任務(wù),即便你當(dāng)過程序員也不例外。本文我介紹了管理的基礎(chǔ)知識,包括對崗位、經(jīng)驗、人員品質(zhì)的要求,然后介紹了如何組建和管理團(tuán)隊,最后對一些影響程序員思維的知識進(jìn)行了介紹。下一篇文章我會介紹如何進(jìn)行項目管理,這是團(tuán)隊領(lǐng)導(dǎo)者的另一項基本任務(wù)。 作者介紹:周明耀,2004年畢業(yè)于浙江大學(xué),工學(xué)碩士,國外投資銀行12年工作經(jīng)驗,4年分布式系統(tǒng),物聯(lián)網(wǎng)工作經(jīng)驗,10年技術(shù)團(tuán)隊管理經(jīng)驗。IBM開發(fā)者論壇專家作者,Infoq專欄作者,九三學(xué)社社員。著有《大話java性能優(yōu)化》,即將出版著作《深入理解JVM和G1 GC》,已提交分布式計算領(lǐng)域發(fā)明專利超過15項。微信號michael_tec。 拓展閱讀:程序員,這是你想要的技術(shù)leader嗎? |
|