“人際關係才是最難的”Bill Coughran(前Google工程部資深副總裁)
“工程問題都很簡單。人際關係才是最難的。”
—Bill Coughran,前Google工程部資深副總裁
本文節選自《極客與團隊》一書的前言。
生活中總是充滿了離奇的轉折,就好像我們倆從沒想過會合作寫一本軟體工程的書一樣。
和大多數電腦狂一樣,大學畢業後我們發現自己的興趣和熱情(折騰電腦)居然也是不錯的謀生手段。而和那個時代的大多數黑客一樣,我們的整個20世紀90年代中期都是在幹這些事情,用別人剩下的零件攢機,拿著一大疊軟盤安裝預覽版的Linux,然後學著操縱UNIX機器。我們都是系統管理員出身,然後在網際網路泡沫剛起來的時候跑到小公司裡去當程式設計師。泡沫破裂後,我們開始為那些倖存的矽谷企業(比如Apple)工作,後來又跳槽去了一家創業公司(CollabNet),全心設計開發了一款開源版本控制軟體Subversion。
然而2000年到2005年期間,一些意想不到的事情發生了。儘管我們創造了Subversion,但是我們每天的任務卻漸漸發生了變化。我們不再只是天天坐在那裡寫程式碼,而是開始領導一個開源專案了。這意味著我們要整天掛在聊天室和一堆程式設計師志願者打交道,關注他們都在做些什麼。這還意味著要幾乎完全通過郵件列表來協調各種新特性。我們逐漸發現一個專案成功的關鍵不僅僅是寫出漂亮的程式碼:所有人向著同一個目標一起合作也是同樣重要的。
2005年的時候我們一起建立了Google芝加哥分部,以程式設計師的身份繼續著我們的職業生涯。這時我們已經完全融入開源世界了——不僅僅是Subversion,還有Apache軟體基金會(ASF)。我們把Subversion移植到Google的BigTable架構上,並以Google Code為名釋出了一項開源專案託管的服務(類似於SourceForge)。我們開始參加(後來開始做演講)各種開發者大會,例如OSCON、ApacheCon、PyCon,還有Google I/O。我們發現同時為企業和開源專案工作的經歷讓我們無意之間瞭解到了軟體工程團隊運作的奧祕。一開始我們做的演講都是輕鬆幽默的,大多是批判無用的開發流程(“Subversion最差實踐”),後來則開始轉向探討如何保護團隊不受害群之馬的影響(“開源專案如何應付害群之馬”)。越來越多的聽眾聚集到我們的演講會場,我們稱之為程式設計師的“集體療法”。每個人都對我們談論的問題有著切膚之痛,都想要對大家抱怨一下。
於是,六年來我們做了一大堆反響熱烈的和軟體開發過程中人際關係有關的演講。最後奧萊利公司的編輯瑪麗•特萊斯勒建議我們乾脆把這些演講寫成一本新書。接下來發生的事情就略過不表了。
想要編寫出色的軟體?這本書就是為你寫的
本書的讀者
本書是專門寫給那些想要更上一層樓以及編寫出色軟體的程式設計師看的。CEO、心理學家、管理層\計算機理論學家,還有焊電路板的技師等都不算是我們的目標讀者(雖然這些朋友或許也能讀得津津有味)。在此我們假設本書的讀者具備以下兩個重要條件。
- 你需要和團隊裡的其他程式設計師合作。無論是為公司企業工作,或是某個開源專案或是學校作業的一員都可以。
- 你喜歡軟體工程,並且覺得它應該是一件很有成就感、很好玩的事情。如果你只是應付工作混口飯吃的話,那估計你對實現自我價值和獲得職業滿足感不會有什麼興趣。
在討論程式設計師怎麼才能“通力合作”的時候,我們總結出了一些表面上看起來和程式設計師這份工作風馬牛不相及的經驗和準則。我們會在各章裡談到怎麼才能更好地領導一支團隊和企業,怎麼才能和使用者建立起良性的關係等話題。乍看起來這些章好像是專門寫給所謂的“管人的人”或者說“產品經理”看的,但我們可以保證,你的職業生涯到了某個階段的時候一定會有意無意地擔當起這樣的角色。所以先放下疑慮,繼續往下讀吧!這本書裡講到的東西是每個軟體工程師最終都會碰到的。
警告:本書不是技術手冊
首先我們需要澄清一些事情。好學的程式設計師通常都喜歡去讀一些能將某些個特定問題用純數學的形式展現出來的書籍,而通常這樣的問題都存在完美的流程化的答案。
本書並不屬於這種型別。
本書主要關注的是軟體開發中有關人的那個方面,而人是很複雜的。正如在我們自己的演講中說到的那樣,“人基本上就是由一大堆間歇性bug組成的”。這裡論及的問題和答案都是很凌亂的,很難用完美邏輯來解釋。本書讀起來像是論文集,而事實上它的確也就是一本論文集。每一章我們都會討論一系列相關的問題(通常是用案例故事的方式),然後針對整個主題再探討各種應對方案。你可能需要反覆閱讀很多頁,努力把它們聯絡起來,甚至思考數日才能融會貫通!
我們在此還要作一些宣告。正如我們在演講裡開過的玩笑,“這裡的觀點完全是基於我們自己的經驗得出的,完全屬於我們自己。要是你不同意我們的觀點,完全可以去自己做演講啊”。和我們的現場演講一樣,只要和本書主題相關,任何討論都是值得鼓勵的。我們歡迎各種反饋、修正、新觀點,以及反駁:你可以在http://www.benandfitz.com上找到我們。本書的所有內容都來自我們的親身經歷和無數錯誤中得到的教訓。
你還應該注意,我們在例子中提到的都是化名,以保護無辜(或者犯錯)的當事人。
本書的內容都是課本里學不到的
我們認識的軟體工程師絕大多數都花了4~10年的時間在學校裡學習電腦科學和軟體工程。截至本書出版為止,我們不知道有任何一門課程 是真正教你怎麼在團隊和公司裡與人合作交流的。好吧,大多數學生都會在學校裡被要求參與某個專案,但是教一個人怎麼好好地和另一個人協作與把他直接丟到一個迫使他協作的環境裡完全是兩碼事。絕大多數學生最後都不怎麼喜歡這種經驗。
小結
所謂成功的程式設計師不僅僅是追逐最新的語言或是編寫最快的程式碼。職業程式設計師幾乎都是要參與團隊合作的,而且事實上團隊直接影響個人生產力和幸福感的程度超出很多人的想象。
本書的目標很簡單:編寫軟體是集體專案,而且我們認為人的因素對結果的影響不亞於技術因素。大多數人雖然在程式設計技術上耕耘數載,但是在人際關係上卻從來沒有下過功夫,而學習與人合作也是成功路上不可或缺的重要環節。只要你能在軟體工程的“軟技能”上下點功夫,就能達到事半功倍的效果。
作者介紹
Brian W. Fitzpatrick 現在是Google資料解放陣線和透明度工程兩個團隊的負責人,之前他還領導過Google的專案託管團隊以及電子商務夥伴團隊。他幫忙建立了Google芝加哥分部,並且為Google在開放資料上提出了很多想法和建議。
Ben Collins-Sussman 是Subversion的初創成員之一,領導過Google的專案託管團隊,現在是Google電子商務夥伴團隊的負責人。他幫忙建立了Google芝加哥分部,並將Subversion移植到Google的BigTable平臺上。
“這個領域早就需要這樣一本書了。現在終於有了。”
——彼得·諾維格,Google研發主管
“人際關係在工作中的重要性不亞於科學技術,但很多工程師都不太願意投入
太多精力去了解如何與人合作。如果你想要更有效地進行創新,那絕不能
錯過此書。”
——狄恩·卡門,DEKA研發公司創始人
“精彩至極,直指人心!哪怕你不認為自己是極客,它提供的建議也值得一
讀。”
——文頓·瑟夫,Google首席網際網路專家
相關文章
- Google 副總裁謝樂爾:網際網路搜尋才剛開始Go
- 雲時代資料安全才是真正的安全——天空衛士副總裁鞏文堅
- 巨人網路前副總裁彭程出任第七大道行政總裁
- 職場人際關係
- 微軟全球資深副總裁Peter Lee和我們聊了聊微軟神秘部門NExT微軟
- AIG副總裁的辭職信AI
- 微軟全球資深副總裁Peter Lee和我們聊了聊微軟神祕部門NExT微軟
- 卡耐基人際關係指南
- 採訪谷歌副總裁Marissa Mayer谷歌
- Google裁掉了最優秀的員工Go
- 人際關係的十五條法則
- 人際關係的八種距離
- 誰才是真正的資深開發者?
- 前《英雄聯盟》執行副總裁Joe Tung:如何做出「永久持續的遊戲」?遊戲
- 前融雲 CTO 楊攀加入濤思資料,任戰略合作 & 開發者生態副總裁
- 微軟全球執行副總裁--陸奇博士微軟
- 前蘋果副總裁:如果你做的事情毫不費力,就是在浪費時間蘋果
- 育碧副總裁:Steam的商業模式過時了模式
- MIT學者對話騰訊副總裁姚曉光MIT
- 英偉達開發者計劃全球副總裁:開發者是最重要的
- 華為離職副總裁徐家駿:年薪千萬的工作感悟
- 大牛程式設計師帶你走進網際網路:資歷深不是優勢,資源才是難得的寶藏!程式設計師
- 英偉達副總裁:生物醫療將是與 AI 結合最緊密的行業之一AI行業
- 機器人把握好手上的力道,安全地做家務有多難?1X人工智慧副總裁撰文詳解機器人人工智慧
- 對話電通安吉斯副總裁陳家駒:企業如何破解虛假廣告刷量難題?
- 人際關係三維理論(轉載)
- 中國式管理-人際關係學1 (轉)
- 中國式管理-人際關係學2 (轉)
- 中國式管理-人際關係學3(轉)
- 中國式管理-人際關係學5(轉)
- 中國式管理-人際關係學6(轉)
- 智慧時代— 微軟全球執行副總裁陸琦博士微軟
- 【人際關係】三招認識更多的商人朋友
- IT是商業的命脈——訪HP公司副總裁兼CIO
- 阿里巴巴副總裁李飛飛:如何看待資料庫的未來?阿里資料庫
- Oracle副總裁Thomas Kyte談大資料處理和未來的DBAOracle大資料
- 阿里副總裁淺雪對話VMware全球副總裁原欣:阿里雲攜手VMware,助力企業數字化轉型阿里
- 一個網際網路公司副總裁,做了這些事,毀掉了自己職業生涯