編寫軟件和在流水線上簡單地組裝產品可不一樣。有些工作只需要幾天培訓和一些基本的工具就可以完成,如果有工人退出或離職(或者就是學不會),你只需要替換為另一個工人就可以了。在流水線環境里,員工通常只要機械性地完成簡單的任務即可,而不需要什么創造性思維或是解決問題的本領。但在軟件行業里,產品工程師則需要大量的創造性思維<sup>1</sup>,這就是說如果你想要出色的產品,那么就離不開出色的工程師。而且如果你希望這些出色的工程師能做出漂亮的產品(并且留住這些優秀人才的話),你就需要為他們建立起一種團隊文化,讓他們可以放心地分享創意,并且在決策過程中擁有發言權。
如果你想要優秀的工程師為自己的團隊工作,首要的就是雇傭出色的工程師!這聽起來有點奇怪,不過事實就是大多數優秀的工程師都喜歡加入那些擁有優秀工程師的團隊。我們認識的很多優秀工程師都傾向那些可以向業界巨人學習的團隊 <sup>2</sup> 。那么一開始的時候怎么才能吸引這樣的工程師呢?
對于初創人員來說,他們需要的不僅僅是為產品開發貢獻力量,更重要的是能參與到產品的決策中來,這通常就意味著某種程度的共識驅動管理。在自頂向下的管理模式中,首席工程師就是團隊主管,其他工程師則被雇為團隊成員。這是因為這些團隊成員的成本比較低,也比較容易指揮。但是你很難在這樣的團隊里找到優秀的工程師,畢竟,要是能在另一家公司里主導開發的話,她何苦屈尊在這里聽指揮呢?但是在共識驅動管理之下,整個團隊都能參與到決策中來。
很多人一聽到“基于共識決策的團隊”時,立刻就會想到一群嬉皮士圍著篝火唱著“Kumbaya”<sup>3</sup>,卻做不了任何決定或是完不成任何工作的畫面,但是這種固有印象其實更符合功能失調的團隊所具有的癥狀,而非基于共識決策的團隊。所謂的“共識”,是指每個人都對產品的成功抱有強烈的主人翁精神和責任感,同時團隊的領袖也真的愿意傾聽團隊的意見(即HRT中“尊重”的部分)。這表示有時候產品成功需要反復的討論和檢討,而有時候團隊又必須擱置爭議先行動起來再說。在后面這種情況下,團隊成員會決定把日常的決策工作托付給一位或者少數幾位領導 <sup>4</sup> 。為此,團隊作為一個整體必須在大方向上達成一致,不管你信不信,要做到這一點,關鍵就是要為它設立一個章程(本章后面會詳細討論)。
和團隊的決策過程同樣重要的是同事之間的相處方式,因為這是最具備自我選擇性的方面。如果你的團隊習慣驕傲自大,對同事大吼大叫的話,你能吸引(和挽留)的也只能是這種攻擊性極強、極端自我的人(事實上,我們認識的絕大多數女性對這種環境都非常厭惡)。如果你能建立起HRT的氛圍,同事之間能友善相處,提出的都是經過考量的建設性批評,那么你不但能吸引更多的員工,而且大部分精力都可以分配在編寫軟件上。培養強烈的團隊自豪感是好事 <sup>5</sup> 。若團隊被個人的自負蓋過,那就是災難的源泉。我們會在第四章里討論防止這種情況發生的辦法。
建設性批評是任何工程團隊成長發展的基石。接受批評是需要一定的自信心的,而我們覺得建設性批評是最容易接受的一種。另一方面,給出建設性批評要比直接批評嘲笑對方困難得多。而且我們也清楚,請別人批評指正是非常困難的事情,大多數人只會覺得你想聽的是贊許和褒揚罷了。如果你身邊有朋友和同事能在你需要的時候真正提出建設性批評,千萬不要疏遠他們,諍友難得。
如果你想要在工作上有所進步,或者改掉自身的壞毛病的話,這樣的朋友和同事可以幫助你認識到阻礙自己成為優秀工程師的缺點。除非自我意識和自我反省的能力異常突出,在沒有別人批評的情況下,你只會不斷重復同樣的錯誤——這就好像有人告訴你牙齒上有菜渣一樣。例如,在本書出版的過程中,我們請了十幾個人來幫忙審稿,告訴我們寫作上存在的問題,這些建設性批評大都非常詳細,是十分寶貴的意見。不管你是不是喜歡本書,如果我們忽略甚至不敢去請求這些珍貴的反饋的話,它只會比現在更糟。
攻擊性性格的人(通常)也能夠適應比較平和安靜的環境,但是比較內向的人卻很少能在激烈的環境里生存(或者開心地工作)——這樣的環境下,他們的聲音不但很容易被雜音蓋過,而且會逐漸影響他們參與的積極性 <sup>6</sup> 。如果你想找一個能讓大多數人高效工作的環境,那還不如自己去建立一個謙虛、尊重和信任的文化氛圍呢!
建立在尊重之上,氣氛隨和的團隊文化更容易受到性格激進的人的影響,其程度要大于隨和的人對于激進的團隊文化所產生的影響。因此隨和的團隊文化要特別小心這一點,不要被激進的新人牽著鼻子走,特別是要避免和這樣的人發生激烈的沖突。有時候,團隊的資深成員要挺身而出,正面迎擊這樣的新人,防止他們對團隊的隨和氛圍產生破壞。我們在第四章里還會更進一步討論對付這類“害群之馬”的辦法。
* * * * *
<sup>1</sup> 有的人認為只要雇傭一個超級架構師,再配幾個普通程序員就可以做出好產品了。我們承認這的確是可行的,但是和一群能激發你的靈感、挑戰你、教導你的優秀同事一起工作比起來,這種方式實在是太無聊、太無趣了。
<sup>2</sup> 優秀工程師還需要有優秀團隊負責人的領導,因為糟糕的領隊不但會在和優秀工程師打交道的時候顯得不自信,通常還是那種喜歡瞎指揮人的家伙。
<sup>3</sup> 譯注:指盲目樂觀。
<sup>4</sup> 在無法達成共識的情況下,有些團隊會將決定權交給負責人,而有些團隊則會采取投票的方式。采用什么方式并不重要,重要的是要事先決定好在意見不同時采用什么方式來解決它,并貫徹之。
<sup>5</sup> 也就是集體榮譽感。
<sup>6</sup> 參見蘇珊·凱恩在TED上的出色演講——“自省的力量”(http://www.youtube.com/ watch?v=c0KYU2j0TM4)和她的著作《安靜:自省的力量》。
- 內容提要
- 致謝
- 本書宗旨
- 對本書的贊譽
- 前言
- 第一章 天才程序員的傳說
- 幫我把代碼藏起來
- 天才的傳說
- 隱瞞是有害的
- 團隊才是王道
- 三支柱
- HRT實戰
- 下一步
- 第二章 培養出色的團隊文化
- 什么是文化
- 為什么要關心它
- 文化和人
- 優秀團隊文化中的溝通模式
- 高層面同步
- 每日進行的討論
- 使用bug跟蹤系統
- 溝通也是工程的一部分
- 說到底真正重要的還是代碼本身
- 第三章 大海航行靠船長
- 自然界沒有真空地帶
- @Deprecated Manager
- 主管才是新的經理
- 唯一要擔心的就是……好吧,所有的事情
- 仆人式領導
- 反模式
- 領袖的處事之道
- 人是植物
- 內部激勵和外部激勵
- 結語
- 第四章 對付害群之馬
- 什么是“害群”
- 保護團隊
- 發現威脅
- 第五章 操縱組織的藝術
- 優點、缺點和策略
- 理想的情況:團隊在公司里應該是怎么運作的
- 現實的情況:當環境成為成功路上的絆腳石
- 操縱你的組織
- B計劃:走為上
- 不要放棄
- 第六章 用戶也是人
- 管理大眾的印象
- 管理和用戶之間的關系
- 結語
- 附錄A 延伸閱讀
- 版權