《极客与团队》一HRT实战
本節(jié)書(shū)摘來(lái)異步社區(qū)《極客與團(tuán)隊(duì)》一書(shū)中的第1章,作者: 【美】Brian W. Fitzpatrick , Ben Collins-Sussman 譯者: 徐旭銘 責(zé)編: 陳冀康, 更多章節(jié)內(nèi)容可以訪(fǎng)問(wèn)云棲社區(qū)“異步社區(qū)”公眾號(hào)查看。
HRT實(shí)戰(zhàn)
極客與團(tuán)隊(duì)
說(shuō)了那么多謙虛、尊敬、信任的東西,聽(tīng)起來(lái)都像是紙上談兵。既然這樣,我們現(xiàn)在來(lái)看看它們和現(xiàn)實(shí)是怎么聯(lián)系起來(lái)的。既然我們追求的是實(shí)際可操作的建議,所以下面會(huì)給出一系列特定的場(chǎng)景實(shí)例。其中很多看起來(lái)似乎都是顯而易見(jiàn)的,可一旦開(kāi)始仔細(xì)思考,你就會(huì)發(fā)現(xiàn)自己(和同僚們)犯錯(cuò)的頻率有多高了。
放下自負(fù)
好吧,說(shuō)得更直白一點(diǎn),就是讓某些缺乏謙遜的人收斂一點(diǎn)兒。沒(méi)人喜歡和總是以自我為中心的人合作。哪怕你真的是會(huì)議室里最聰明的那個(gè),你也沒(méi)必要到處?kù)乓@?#xff0c;你是不是總是覺(jué)得自己對(duì)于每個(gè)話(huà)題都要搶先發(fā)表意見(jiàn),或是要作總結(jié)性發(fā)言?你是不是覺(jué)得自己需要在一項(xiàng)議案或是討論中對(duì)每個(gè)細(xì)節(jié)發(fā)表評(píng)論?或是你總是要知道誰(shuí)在干什么?
注意,“表現(xiàn)得謙遜一點(diǎn)”和人見(jiàn)人踩的懦弱完全不是一回事:自信并沒(méi)有錯(cuò)。只是不要過(guò)了頭,非要弄得自己好像無(wú)所不知一樣。其實(shí)更好的思路是想辦法促成“集體”榮譽(yù)感。不要去擔(dān)心你的個(gè)人形象是不是高大,而應(yīng)努力去營(yíng)造一種團(tuán)隊(duì)和集體榮譽(yù)感。Apache軟件基金會(huì)在圍繞軟件項(xiàng)目經(jīng)營(yíng)社區(qū)上已經(jīng)有很長(zhǎng)的歷史了。這些社區(qū)對(duì)自己都有很強(qiáng)的認(rèn)同感,根本不歡迎對(duì)那些只關(guān)心自己往上爬的人。
自負(fù)這個(gè)東西有很多種解釋,就看你怎么理解,但很多時(shí)候它都會(huì)妨礙你的工作,讓你進(jìn)步緩慢。這里從海明的演講里再摘取一段小故事來(lái)證明我們的觀(guān)點(diǎn):
“約翰·圖基幾乎總是不修邊幅的模樣。每次他參加重要會(huì)議的時(shí)候,對(duì)方總是要好一會(huì)兒才反應(yīng)過(guò)來(lái)原來(lái)這是位大人物,應(yīng)該認(rèn)真聽(tīng)他說(shuō)。有好長(zhǎng)一段時(shí)間約翰都要面對(duì)這種麻煩。這實(shí)在是太浪費(fèi)時(shí)間了!我不是說(shuō)你應(yīng)該屈服,我說(shuō)的是,‘作出妥協(xié)的樣子能給你帶來(lái)很多好處’。如果非要由著自己的性子來(lái),‘我就是我行我素的人’,那么你就在整個(gè)職業(yè)生涯里不斷地付出一些不大但是很討厭的代價(jià)。日積月累就會(huì)變成原本沒(méi)必要的大麻煩。……通過(guò)使用系統(tǒng)并研究如何讓系統(tǒng)幫你做事,你就學(xué)會(huì)了調(diào)整系統(tǒng),讓它按照你的意愿工作。不然的話(huà),你就得終其一生去和這種潛規(guī)則作斗爭(zhēng)。”
學(xué)會(huì)批評(píng)和接受批評(píng)
喬是一名程序員,他最近找到了一份新工作。在上了一星期的班以后,他開(kāi)始深入地學(xué)習(xí)了解團(tuán)隊(duì)的代碼。出于責(zé)任心,他開(kāi)始以溫和的方式對(duì)同事的代碼提出疑問(wèn)。他通過(guò)E-mail的方式發(fā)出代碼審查,禮貌地詢(xún)問(wèn)設(shè)計(jì)初衷或是指出邏輯上可以改進(jìn)的地方。兩個(gè)星期后他被叫到了主管辦公室。“出什么事了?”喬問(wèn)道,“我是不是什么地方做錯(cuò)了?”主管看起來(lái)不太高興:“喬,最近有很多人投訴你,說(shuō)你對(duì)同事太苛刻了,把他們說(shuō)得左也不是右也不是。大家都很不爽,你最好低調(diào)一點(diǎn)。”喬因此大受打擊。若是在一個(gè)完全以HRT為基礎(chǔ)的環(huán)境里,喬的代碼審查應(yīng)該是可以被接受的,同事們也會(huì)認(rèn)同這種做法。但是在這個(gè)例子里,喬就應(yīng)該對(duì)團(tuán)隊(duì)里彌漫的不安全感多加小心,在引入代碼審查的時(shí)候應(yīng)該更謹(jǐn)慎一點(diǎn)。
在職業(yè)程序員這個(gè)行當(dāng)里,人身攻擊是相當(dāng)罕見(jiàn)的——批評(píng)通常都是為了產(chǎn)品好。其中的訣竅就是要確保你(和你周?chē)娜?#xff09;認(rèn)識(shí)到對(duì)某人的創(chuàng)造性工作提出建設(shè)性批評(píng)和人身攻擊之間的區(qū)別。后者是毫無(wú)意義的——這種攻擊不但顯得小氣,而且?guī)缀醪豢赡苡惺裁唇ㄔO(shè)性。而前者通常都是有益的,對(duì)改進(jìn)具備指導(dǎo)性。最重要的是,它蘊(yùn)含著對(duì)對(duì)方的尊重:只有真正關(guān)心對(duì)方的人才會(huì)提出建設(shè)性意見(jiàn),希望對(duì)方在自身或是工作上有所進(jìn)步。所以學(xué)著尊重對(duì)方,禮貌地給出建設(shè)性批評(píng)吧。如果你真的尊重一個(gè)人,那你就會(huì)自發(fā)地選擇有技巧有幫助的措辭——這種技巧需要很多練習(xí)才能學(xué)會(huì)。
作為談話(huà)的另一方,你也應(yīng)該學(xué)會(huì)接受批評(píng)。這不是說(shuō)你在技術(shù)上要謙虛,而是說(shuō)你要信任對(duì)方,相信他是從心底為你好(當(dāng)然還有你的項(xiàng)目),完全沒(méi)有把你當(dāng)傻瓜的念頭。編程和所有技能一樣,都需要熟能生巧。如果你的同事提出的做法比你現(xiàn)在的好,你會(huì)把它當(dāng)成是對(duì)你的性格或是人生價(jià)值觀(guān)的攻擊嗎?我們真心希望你不會(huì)。同樣,你的自尊和你的代碼不應(yīng)該有什么聯(lián)系。換句話(huà)說(shuō),你和你寫(xiě)的代碼是兩回事。你應(yīng)該不斷地告誡自己,你和你寫(xiě)的代碼是兩回事。不但你自己要相信這個(gè)觀(guān)點(diǎn),還要讓你的同事也認(rèn)同它。
舉個(gè)例子,假如你有一個(gè)比較敏感的同事,那么下面這樣的話(huà)是萬(wàn)萬(wàn)不能說(shuō)的:“老兄,你完全把這個(gè)方法的控制流程給弄錯(cuò)啦。你應(yīng)該和大家一樣用標(biāo)準(zhǔn)的xyzzy代碼模式才對(duì)。”這段話(huà)全是反模式的東西:首先你告訴他,他“錯(cuò)了”(好像這個(gè)世界非黑即白一樣),然后要求他作出修改,最后還指責(zé)他寫(xiě)的東西和所有人都不一樣(讓他覺(jué)得自己很傻)。可以預(yù)見(jiàn),這樣會(huì)讓對(duì)方變得很抵觸,得到的回應(yīng)也肯定是沒(méi)有什么理智的成分。
好一點(diǎn)的版本可以是這樣:“嗨~我有點(diǎn)看不懂這段代碼的控制流程。要是用xyzzy代碼模式的話(huà)會(huì)不會(huì)更清楚一點(diǎn)?維護(hù)起來(lái)也方便?”注意這里,你謙虛地把問(wèn)題歸到自己頭上,而不是他。他沒(méi)有錯(cuò),只是你理解代碼有困難而已。另外提出的建議也只是提供了一種方法讓可憐的你能理解代碼,或許還能在項(xiàng)目長(zhǎng)期維護(hù)上有所助益。你也沒(méi)有提出任何要求——你的同事完全可以謝絕這個(gè)建議。討論的范圍被限定在代碼上,沒(méi)有涉及任何人的價(jià)值觀(guān)或是編程技術(shù)。
快速失敗;學(xué)習(xí);迭代
商業(yè)界里有一個(gè)著名的(也是說(shuō)爛了的)段子,說(shuō)是曾經(jīng)有一個(gè)經(jīng)理因?yàn)榉赶麓箦e(cuò)損失了上千萬(wàn)美金。第二天他非常沮喪地回到辦公室開(kāi)始整理桌子,這時(shí)他接到了預(yù)料之中的通知,“CEO想要見(jiàn)你”,于是他步履沉重地走進(jìn)CEO的辦公室,默默地遞上一張紙。
“這是什么?”CEO問(wèn)道。
“我的辭呈,”這位高管答道,“你叫我來(lái)就是要炒我魷魚(yú)的吧。”
“炒魷魚(yú)?”CEO一臉狐疑地答道,“我為什么要炒你魷魚(yú)?我剛剛才花了一千萬(wàn)來(lái)培訓(xùn)你!”1
當(dāng)然,這個(gè)段子很極端,但是故事里的CEO心里明白,就算炒魷魚(yú)也不能挽回這一千萬(wàn)的損失,而且還要損失一名很有價(jià)值的高管,因?yàn)樗院罂隙ú粫?huì)再犯這種錯(cuò)誤了。
我們倆都在Google工作,而我們最喜歡的Google的格言之一就是“失敗是可以接受的”。廣泛的認(rèn)識(shí)是如果沒(méi)有經(jīng)歷過(guò)失敗的話(huà),就說(shuō)明你的創(chuàng)新還不夠,或者你承擔(dān)的風(fēng)險(xiǎn)還太小。失敗是更上一層樓的絕佳機(jī)會(huì)。事實(shí)上,托馬斯·愛(ài)迪生曾經(jīng)說(shuō)過(guò):“即便我找到了一萬(wàn)種行不通的辦法,也不代表我失敗了。我并不會(huì)因此而泄氣,因?yàn)槊看卧囧e(cuò)都是在前進(jìn)。”
Google通常都采用這樣一種(我們之前討論過(guò)的)理念,“不要等到完美的時(shí)候再出來(lái)”:只要產(chǎn)品大致可用,就立刻把它按照原樣公開(kāi)給大眾。這就是Google Labs的使命。這種辦法使得成功和失敗的地方得以立即顯現(xiàn)出來(lái),這樣編程團(tuán)隊(duì)就可以盡快從中學(xué)習(xí),迭代,然后發(fā)布新版本。它的缺點(diǎn)是Google常常會(huì)被揶揄說(shuō)他家的產(chǎn)品總是在“beta”階段,比如Gmail就“測(cè)試”了四年多。而它的優(yōu)點(diǎn)在于可以迅速做出調(diào)整以適應(yīng)變化,在很短的時(shí)間內(nèi)就能做出驚艷的產(chǎn)品。所有的這一切都要求謙虛的特質(zhì)——把不完美的軟件展示給用戶(hù)是可以接受的,另外還需要一些信任,即用戶(hù)真的會(huì)認(rèn)同你的努力,并且期望迅速看到改進(jìn)。
從錯(cuò)誤中學(xué)習(xí)的訣竅是要記住自己摔倒的地方,按商業(yè)用語(yǔ)來(lái)說(shuō)就是“事后檢討”。但是要特別小心,千萬(wàn)不能把事后檢討的文件變成一堆無(wú)用的道歉和借口——這不是它的目的。真正的事后檢討應(yīng)該包含有關(guān)“學(xué)到了什么”以及“怎么改正”等經(jīng)驗(yàn)教訓(xùn)的詳細(xì)注解。然后要保證把它放在一個(gè)隨手可及的地方,并且認(rèn)認(rèn)真真地按照上面所寫(xiě)來(lái)實(shí)施改進(jìn)。記住,正確地記錄錯(cuò)誤還能讓其他人(不管現(xiàn)在還是將來(lái))方便地了解事情的原委,以避免重復(fù)歷史。不要抹掉自己的足跡——像跑道一樣點(diǎn)亮它們,為后來(lái)人指路吧!
一份出色的事后檢討應(yīng)該包含以下內(nèi)容:
- 簡(jiǎn)要
- 事件的時(shí)間線(xiàn),從發(fā)現(xiàn)到調(diào)查,再到最終結(jié)果
- 事件發(fā)生的主因
- 影響和損失評(píng)估
- 立即修正問(wèn)題的步驟
- 防止事件再次發(fā)生的步驟
- 得到的教訓(xùn)
為學(xué)習(xí)預(yù)留時(shí)間
辛蒂曾經(jīng)是超級(jí)巨星——在她的領(lǐng)域里她絕對(duì)是大師級(jí)的程序員。被提升為技術(shù)指導(dǎo)后,責(zé)任隨之變大,而她也接受了這個(gè)挑戰(zhàn)。很快她就能領(lǐng)導(dǎo)周?chē)拿總€(gè)人并指導(dǎo)他們工作了。她出席各種大會(huì)并就自己的領(lǐng)域作演講,不久之后她已經(jīng)能掌管好幾個(gè)團(tuán)隊(duì)了,她也非常享受“專(zhuān)家”這個(gè)頭銜。但是她卻開(kāi)始厭倦這種生活了,不知不覺(jué)地她不再學(xué)習(xí)新東西,成為所有人之中最聰明、經(jīng)驗(yàn)最豐富的專(zhuān)家的這種新鮮感開(kāi)始褪去。盡管表面上光鮮亮麗,但是總好像缺了點(diǎn)什么似的。直到有一天她終于意識(shí)到自己的領(lǐng)域不再尖端,人們開(kāi)始轉(zhuǎn)向其他更有興趣的課題。她到底出了什么問(wèn)題?
我們來(lái)分析一下:成為人群中最睿智的人的確很讓人高興,而且能夠指導(dǎo)別人絕對(duì)可以帶來(lái)了不起的成就感。但是問(wèn)題在于一旦攀至頂峰,人們往往就會(huì)停止學(xué)習(xí)了。而當(dāng)一個(gè)人不再學(xué)習(xí)的時(shí)候,她就會(huì)開(kāi)始覺(jué)得厭倦,一不小心還會(huì)變得落伍。雖然當(dāng)領(lǐng)導(dǎo)很過(guò)癮,但是只要能放下一點(diǎn)驕傲,你就能開(kāi)闊眼界,接觸新鮮事物。這說(shuō)穿了其實(shí)還是謙遜的問(wèn)題和是不是愿意像指導(dǎo)別人一樣接受別人的指導(dǎo)。偶爾應(yīng)該跳出自己的舒適區(qū),在更大的舞臺(tái)上接受各種挑戰(zhàn)。這樣你才能長(zhǎng)久地保持愉快的心情。
學(xué)習(xí)保持耐心
傅攀勃在多年前寫(xiě)過(guò)一個(gè)把CSV倉(cāng)庫(kù)轉(zhuǎn)到Subversion(以及后來(lái)的Git)上去的工具,由于RCS和CSV的行為異常古怪,他不斷地發(fā)現(xiàn)各種詭異的bug,比如CVS會(huì)默默地吃掉明明是非法的RCS文件。而他的老朋友和同事卡爾對(duì)CVS和RCS都非常了解,他們決定一起來(lái)修復(fù)這些bug。
可是就在他們開(kāi)始結(jié)對(duì)編程的時(shí)候發(fā)生了一個(gè)問(wèn)題:傅攀勃喜歡自底向上的工作方式,他會(huì)深入項(xiàng)目,通過(guò)快速?lài)L試各種情況來(lái)梳理細(xì)節(jié)。而卡爾卻是喜歡自頂向下工作方式的工程師,他會(huì)先搭好框架,構(gòu)建好調(diào)用棧里每個(gè)方法的實(shí)現(xiàn)后才會(huì)考慮bug的問(wèn)題。這就引發(fā)了兩人之間巨大的沖突和分歧,有時(shí)甚至?xí)a(chǎn)生激烈的爭(zhēng)執(zhí)。傅攀勃和卡爾盡了極大的努力和專(zhuān)注,還恪守了HRT的原則才得以完成這項(xiàng)任務(wù)。HRT最終不但拯救了項(xiàng)目,也保住了他們之間的友誼。
對(duì)影響保持開(kāi)放的態(tài)度
你越是容易受影響,你就越能影響別人;你越是示弱,你就越強(qiáng)壯。這兩句話(huà)看起來(lái)有點(diǎn)自相矛盾。但是每個(gè)人都碰到過(guò)某個(gè)同事,固執(zhí)到叫人惱火。無(wú)論怎么試圖說(shuō)服他都沒(méi)用,越勸越不聽(tīng)。最后怎么樣?就我們的經(jīng)驗(yàn)來(lái)講,大家最后就會(huì)自然而然地把他當(dāng)成障礙物“繞道而行”,再也不會(huì)有人聽(tīng)取他們的觀(guān)點(diǎn)或反駁。沒(méi)人希望這種事情發(fā)生在自己身上吧?所以請(qǐng)記住這一點(diǎn):接受意見(jiàn)改變自己沒(méi)什么大不了的。不要隨意挑起爭(zhēng)斗。不要忘了,要?jiǎng)e人聽(tīng)你說(shuō)話(huà),首先是要學(xué)會(huì)當(dāng)一個(gè)聽(tīng)眾。注意在被影響的時(shí)候,如果你要聽(tīng)取意見(jiàn),一定要在你下定決心或是確定宣布你已經(jīng)做好決定之前——要是你的主意老是改來(lái)改去的,別人會(huì)覺(jué)得你這個(gè)人沒(méi)什么立場(chǎng)。
說(shuō)到示弱,初看之下也有點(diǎn)奇怪。如果一個(gè)人承認(rèn)自己對(duì)某個(gè)東西一無(wú)所知,不知道要怎么解決問(wèn)題,那他還能得到多少團(tuán)隊(duì)的信任么?示弱就是暴露弱點(diǎn),這不是在摧毀自己的自信嗎?
其實(shí)不是。承認(rèn)自己犯錯(cuò)或是無(wú)知從長(zhǎng)遠(yuǎn)來(lái)講其實(shí)能提升你的形象。事實(shí)上它蘊(yùn)含了HRT的全部方面:它對(duì)外表示了“謙虛”,這是有責(zé)任心、負(fù)責(zé)的態(tài)度,這也是表示“信任”別人意見(jiàn)的態(tài)度,同時(shí)作為回報(bào),別人也會(huì)因?yàn)槟愕恼\(chéng)實(shí)和堅(jiān)強(qiáng)而“尊重”你。所以有時(shí)候最好的答案就是:“我不知道。”
想想那些政客吧。這幫人之所以討厭是因?yàn)闊o(wú)論他們錯(cuò)得多離譜,或是對(duì)件事物表現(xiàn)得有多無(wú)知,他們也從來(lái)不會(huì)承認(rèn),所以很多人都覺(jué)得政客的話(huà)是不可信的。這種現(xiàn)象主要是因?yàn)檎徒?jīng)常暴露在對(duì)手的攻擊下。但是寫(xiě)軟件的時(shí)候就用不著總是抱著防備的心態(tài)了——你的同事是合作者,不是競(jìng)爭(zhēng)者。
總結(jié)
以上是生活随笔為你收集整理的《极客与团队》一HRT实战的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 火星探险
- 下一篇: 计算机中的文档地址怎么填写,电脑中我的文