我所理解的技術領導力

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統

  一晃六年,《技術領導之路》要再版重印了。回想剛剛開始翻譯這本書時,我還忙碌在程序開發的一線,對領導技術團隊并沒有太多經驗;如今,也能差強人意地帶領技術團隊支撐年銷售額數億的業務。一路走來跌跌撞撞,所幸沒有中途倒下。思考其中的原因,除去運氣,除去身邊同事朋友的支持,翻譯《技術領導之路》也是不容忽視的因素。

  很多人都知道,“職場童年”非常重要,一個人最初工作的幾年,在什么樣的環境里,得到過什么樣的鍛煉,很可能決定了他整個職業生涯的走向。同樣的道理,“領導力童年”也很重要,一個人對領導力的最初接觸和認知,也會深深影響他對于“領導”和“領導力”的觀點,甚至領導作風。所以,在我還忙于一線開發的時候,通過翻譯《技術領導之路》,“生吞活剝”了一整套關于領導力的學說,基本“塑造”了我關于領導力的認知,深深影響了我作為技術領導的管理風格和價值取向,因此也對很多問題有了自己的判斷——前段時間和另一位掌管公司技術的朋友聊天,說起那種“執行力超至上”的領導風格,我們都認為,盡管或許能出結果,但不是好的領導風格。

  怎樣成為好的技術領導?《技術領導之路》的作者溫伯格給出了一系列的答案。以技術人員的身份,我覺得最受用的幾點是:通過寫日記來加深自我認識,評估自己的能力應該用乘法而不是加法,從哪里尋找改進所需要的時間。

  在生活中,我們大多會有一些自己的習慣和堅持,卻習焉不察,沒有去想過它們是否有道理。然而,如果需要不斷改進自己,就必然需要不斷觀察和審視關于自己的一切,包括習焉不察的堅持。對此,溫伯格給出的建議是,每天抽一點時間來寫日記,不需要抒情,不需要感慨,忠實記錄自己就好。開始我對此也有些懷疑,覺得寫日記不過是小朋友過家家。但真正堅持之后才發現收獲很大。因為靜下心來寫日記讓我發現,在生活里,自己真正在乎什么,而不在乎什么。有一些東西我很在乎,但成長經歷不同的人并不在乎,所以其他人并不是有意冒犯。還有一些東西我不在乎,卻是某個人群特別在意的,考慮到其他人的感受,以后還是多加小心為好。

  評估自己的能力“用乘法而不是加法”,可能初看起來不太容易理解,但也很好懂。人的能力通常是參差不齊的,有長處就必然有短處。要想成為好的技術人員,技術是不能“一俊遮百丑”的。以1分為滿分,如果你的技術有0.8分,表達能力只有0.1分,總分可能不是(0.8+0.1)/2=0.5分,而是0.8*0.1=0.08分。如果給你時間把自己的技能提升0.1分,用來提高技術水平,總分可以到0.09,而用來提高表達能力,則可以達到0.16。哪種選擇對個人更有利,其實是一目了然的。不幸的是,大家通常在潛意識里更愿意遮擋自己的短處,更習慣于訓練提高自己的長處。程序員更是如此,面對非技術問題,他們往往更希望從技術方面解決。僅僅是因為他們更“喜歡”從這方面入手,而沒有考慮這樣做是否真的有效率。想要成為優秀的技術人員,一定需要能克服情感的抵觸,注重補齊短板。

  我在抓蝦網(早年一個很流行的在線RSS閱讀網站)工作時曾有過深刻的體驗。有一次我們的抓取調度出了問題,抓取新浪博客過于頻繁,被新浪封鎖了服務器的IP。當時大家想出的辦法就是找一大堆代理服務器,通過代理來抓取。從技術人員的角度出發,這種思路是自然而然的。我當時覺得還有更好的解法。于是我嘗試給新浪打電話說明情況,一下午的時間打了超過二十個電話,終于找到了決定封鎖IP的人。我向他說明情況,并說明我們已經修正了程序避免出現這種情況,他驗證之后便解除了封鎖。有了這段經歷,不管是關于純技術問題還是業務問題,我的思路都開闊了很多,也深刻明白了單純靠技術是不能“一俊遮百丑”的。

  關于改變自己所需要的時間,溫伯格的一句話讓我印象很深,“如果你想做某件事情卻一直找不到時間,那多半是你其實不想做”。想要改變,尤其是自我改變,通常不會像上級布置的任務那樣,有明確的壓力和期限,所以改變也停留在“想”而已。網絡上經常可以看到類似的問題:道理我都懂,但就是行動不起來。所以很多人在糾結,希望有什么辦法提高行動力。但是在我看來,要解決這個問題,第一步是承認自己其實不想實踐這些道理。

  如果確認自己想去做這件事情,由苦于找不到時間,溫伯格給了三個建議:第一,對已經分配的任務,不要反復糾結;第二,對實現過程中的細節,不要反復糾結;第三,不要讓自己的生活被層出不窮的危機所支配。比如對于“缺乏行動力”的問題,如果你真的希望提升行動力,應該首先制定計劃,制定好計劃之后應該按時推行,在這個過程中可以容忍錯誤和異常,但不要輕易糾結計劃本身。在實現過程中,不要過分糾結細節,比如學英語,捧著一本書剛看了個開頭,又覺得要先學語法呢,還是先背單詞,還想知道是這本書更好一點,還是那本書更好一點。更重要的是,要想有時間做自己的事情,應當把一切保持在“井然有序”的狀態,哪怕平時需要花更多的時間來維護,這樣才不會被各種意外所支配。我曾經見到很多程序員,每天忙于改正線上的各種問題甚至樂在其中,卻從來不想想怎么讓程序保持在“自主穩定運行”的狀態,還一個勁的抱怨“工作辛苦,生活忙碌”。也正是因為如此,我才大力提倡程序員要“橫向發展”,要操心程序運行的整套環境,才能真正把自己解放出來

  當然,既然名為《技術領導之路》,溫伯格講得最多的還是“如何成為技術領導”。溫伯格反復強調的根本觀點是,人不應當被作為機器對待,尤其因為技術工作強調思考和創新,所以技術工作者更不應當被視為機器,而應當被視為種子——蘊含內在力量,會不斷發展成熟的種子。所謂領導力,就是創造一個環境,讓所有的人都可以發揮出比單干時更大的價值,并不斷成長。以此為基礎,領導力的培養和發揮,需要注意激勵、組織、創新三個方面。

  關于領導的激勵,已經有很多的論述。不幸,通常的激勵似乎是從行為主義心理學的角度出發的,認為簡單機械的“獎勵/懲罚”就可以對員工起到引導和歸束的作用。但這種理論其實是行不通的。赫茲博格的“激勵-保健因子”理論指出,員工在不同的階段所看重的方面是不同的,簡單說員工剛開始更看重的是個人生活、工作環境、薪金福利等“基本因子”,滿足之后則尋求學習與發展、工作樂趣、成就與肯定等“激勵因子”,而簡單的“獎勵/懲罚”在這些方面并不能奏效。更重要的是,因為技術工作的核心之一便是創新,簡單的“獎勵/懲罚”并不能催生創新。按照我的經驗,激勵的作用更多是樹立正確的價值觀,這種價值觀既符合公司的利益,又兼顧個人的成長,而且還要能落實到真實的工作中來。

  在很多公司,有一些程序員是眾望所歸的“明星”:程序出了什么問題,找他們可以第一個響應,而且他們可以非常投入地解決問題,哪怕加班加點也無所謂。可是如果仔細思考,這樣的程序員有不少就是麻煩的制造者,因為他們寫不出高質量的程序,只能以“高度的責任心”在線上除錯。而且,這樣的程序員往往因為態度好、加班多,受到大量的關注和鼓勵。還有一些程序員,他們或許沉默寡言,或許不愛加班,但他們總能提交高質量的程序,上線之后就不需要自己再操心。不幸的是,這樣的程序員往往不會獲得關注,頒發獎勵的時候也論不上他們。

  身為技術人員,很多人都知道兩種做法的優劣,但因為外界(領導)沒有明確的褒貶,很多人并不敢堅持自己的選擇。所以,如果希望成為好的技術領導,一定要注重激勵的方面。在日常工作中,技術領導應當持續表揚和鼓勵能提供高質量程序的行為(哪怕日常不怎么說話),而不是提交質量一般但努力除錯的行為。有這種持續的激勵,才有可能塑造正確的價值觀,給有潛力但還在搖擺、困惑的成員發出清晰的信號,從而打造高質量、迅速成長的團隊。

  技術領導需要注意的第二個方面是組織。前段時間我和一位MBA朋友聊天,他說很多領導對于招人的定義就是:因為我忙不過來,所以我需要一個人幫我做這個。他評價說:“其實,這類領導需要的不是員工,而是勞工”。用我的話說,這種組織不叫團隊,只能叫團伙。

  既然領導力的表現是創造讓所有人都能成長,都能發揮更大價值的環境,當然不能把所有人當成可以互相替換的棋子。按照溫伯格的意見,好的組織應當是“全面的(Organic,也可以翻譯為“有機的”)”,也就是可以互相取長補短,形成一股合力。假設一支團隊里沒有產品經理,雖然客戶對產品的要求并不是太高,程序員也有一定的產品意識,交付的軟件堪稱能用。但技術領導應當看到,關于產品的工作其實消耗了開發人員大量的時間,而且開發人員本身并不“愿意”從事產品方面的工作。所以應當考慮補充產品人員,并讓產品和開發協調工作,形成1+1>2的結果,提升整個團隊的效率。同樣的道理,如果團隊里多數開發人員都比較沉悶,在繼續招聘開發人員的時候,就應當優先考慮開朗外向的性格。

  組織的全面,還提現在一個方面,即它是自組織的,各級的情況和任務可以在對應的級別自動自發地完成。或者用溫伯格的話說:“(在全面的組織)中每個人都能解決問題,做出決策,執行這些決策。而領導不需要對各種問題親自出面,親自做決策,親自執行”。這種觀點也可以在其它相關書籍中得到驗證,比如Uncle Bob就在《程序員的職業素養》中再三強調,團隊要有凝聚力。要想打造全面的組織,有凝聚力的團隊,溫伯格列出了幾種需要警惕的行為,包括“只抓大目標”(特別強調執行力的領導作風就是如此)、把人當成機器來看待(忽略人的情感和潛力)、事必躬親(下屬不應當僅僅是領導完成任務的手段)、獎勵低效的組織(回到價值觀的樹立)等等。雖然我們日常工作中無法做到徹底戒除,但只有盡力避免這樣的行為,才能真正營造全面的組織,形成有凝聚力的團隊。

  技術領導需要關心的第三個方面是創新。許多技術領導本身對技術非常有興趣,所以他們自己在創新方面是沒有問題的。但是身為領導,僅僅自己創新是不夠的。既然相信人不是機器,既然相信軟件開發是需要創造力的工作,那么就應當鼓勵每個人的創新,為團隊營造勇于創新的氣氛。

  在很多公司,技術領導往往掌握著框架和類庫的生殺大權。我聽到不少程序員說,自己在網絡上看到了很多新的、好的框架和類庫,但領導就是不同意。很多時候,這是因為領導沒有用過,對此不熟悉,不愿意冒風險,畢竟領導要對公司業務負責。有時候我也確實發現,因為經驗等方面的限制,一些程序員提出的創新想法并不實際。但是好的技術領導從來也不應該因循守舊。按照溫伯格的說法,即便你用某種方式成功過,也不意味著沒有更好的辦法來解決同樣的問題。所以,身為技術領導,應當鼓勵所有人的創新,對于不夠完善的創新建議,不能簡單拒絕,需要代之以鼓勵和引導。甚至在某個問題上,即便自己有過成功經驗,心里已經確定了方案,也需要虛心聽取其他人的不同建議,更要勇于采納更好的方案。要知道,這樣做并不意味著貶低自己的技術威信,反而確立了積極創新,并且能采納合理創新建議的工作方式。只有一個人能創新的團隊,永遠不會強過一支人人都能創新的團隊。

  很多人讀過《技術領導之路》之后跟我說:“我覺得這本書寫得很好,我也承認作者說的很有道理。但是,這和中國的現實不搭配。我努力去激勵了、去組織了、去創新了,卻好像對牛彈琴,我領導的人似乎無動于衷。還不如安心當個包工頭省心省力”。是的,我承認現實中確實有這樣那樣的困境,但我也認為這不是安心放棄成為優秀的技術領導的理由,因為有個重點書里沒有寫到,那就是想要打造好的技術團隊,必須對招進來的人有足夠高的要求。實際上,在《極客與團隊》之類講述技術團隊管理的書籍里都強調了這一點:如果期望打造有戰斗力的團隊,必須保證大家形成一致的工作習慣和價值觀;對這種工作習慣和價值觀持續產生負面影響的“害群之馬”,是應當堅決予以淘汰和替換的。


2015-05-19 00:33:56

[新一篇] 我們需要知道的、關于技術變化方面的五種思想

[舊一篇] 我的Android廣告平臺選擇經歷 - Free Programmer
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表