說起技術管理這個話題,我心中是千頭萬緒、五味雜陳的。其實很久以前就想寫一些關於技術管理的文章,但我覺得自己在技術管理這個行當的資歷尚淺,僅有些粗淺的認知簡直不足為道,但又苦於沒有太多交流的渠道,所以這一系列的文章,首先權當給各位看官解悶兒,二來當然也非常歡迎各位給出寶貴意見,我且全當是拋磚引玉,我不想人云亦云,所以我也會鮮明的亮出自己的觀點與各位一起討論,歡迎大家給我留言。
先簡單介紹一下自己,十年軟體研發經驗,其中七年移動端終端開發,三年移動網際網路開發。早年計算機專業畢業就加入了國內一家feature phone代工生產廠家,做功能機的軟體研發工作,那時候沒有安卓,沒有蘋果,只有紅的發紫的諾基亞,三星。幾年以後,安卓出現了,但當時國內的安卓大環境剛剛起步,運營商也剛剛推出各自的3G標準,一些靠中國移動補貼發財的廠商,都紛紛擁抱了剛剛興起的OMS,中國移動為了推動TD-SCDMA,也大力扶持OMS,我所在的公司當時轉向OMS手機的研發,我主要負責做BP端的整合開發工作。可惜OMS並沒有活多久,而我在做了一年BP開發之後,也已經去了一家外企手機廠商,這是我的第二份工作,開始了包括安卓原生應用和Framework開發的五年旅程。五年過後,我又有幸加入了一家快速發展的網際網路創業公司,擔任移動端業務技術總監一職至今,已近三年,負責管理技術團隊50多人。
今天想和大家聊聊技術管理和技術專家,算是踏入這個行當最原始的一些思考。
我帶過一些人,也面試過許多人。有應屆生,工作一兩年的,三五年的,十來年的。在這個過程中,總會有意無意聊到技術管理和技術專家這兩條路。
我認識一名技術不錯的程式設計師,今年二十八歲,無論是基本功底還是設計能力,都屬於偏上水平。經常與我討論技術管理和技術專家的問題。他強調自己更傾向於做技術專家,原因是自己不擅管理,不會寫報告,不會寫PPT,不善言談,不會“鼓動”他人,只想成為一個技術牛人、技術大拿,用技術水平折服所有人。
我認為技術管理和技術專家其實是不同維度的統一,無論你怎麼走,都是“你中有我,我中有你”,不可割裂。下面我想通過上面這個例子,談談我自己的看法。
技術專家,是團隊中具有領導力的先鋒。大家都看過交響樂演出,無論是民樂還是西洋樂。臺上有指揮,有手持各種樂器的演奏家們,他們合力完成了一曲曲動人的樂章。不知道大家注意過沒有,在指揮的左手邊,有一個與眾不同的人,他就是樂隊的首席。首席無疑是這個樂隊中,技藝水平最高超的一個,除此之外,他還起到帶動其它樂手,連線指揮與整個樂隊的作用,從而使樂隊能夠和諧一致地完成一首首樂曲。他對一個交響樂隊來說,至關重要。技術專家,就像樂隊的“首席”。除了有過人的本領,也需要領導力去感染和帶動團隊中的其他人。領導力是什麼?簡單直白說就是解決問題的能力。別人遇到了難題,找你幫忙,你總是能夠給出思路。線上出了緊急狀況,你出手就查到了根本原因,解決了問題,擁有穩定持續的輸出。周圍的人都自然而然的向你靠攏,願意向你請教問題。這就是天然的領導力。這種能力,除了具備紮實的業務功底,還需要很好的表達能力,總結概括能力,結構化的思考能力,這些非技術能力,也是作為一名技術專家所必須鍛鍊並具備的。
技術專家,是懂得分享與團隊協作的高階開發者。技術專家,絕對不是閉門造車的人。當下各種新技術日新月異,各種技術分享大會,各種開源社群也是日趨火爆,去看看Github上各位大神和各個大公司技術團隊的開源專案,我們就可以得出結論:任何技術的進步,永遠都離不開交流協作,無論是外部的還是內部的,尤其是在科學技術飛速發展的今天。作為一名技術大牛,你往往需要將自己的設計與構想準確的表達,與團隊成員一起去大膽嘗試,去驗證。在一個小規模的創新小組裡,作為一名技術專家,也一定需要團隊管理,需要分享,需要激勵他人。哪怕小組裡只有三五個人。一個人的午餐是可恥的,同樣,不懂得分享與協作的開發者,亦不會有所成就。
技術專家,是運用技術服務於需求的實幹家。我們做程式設計師這一行的,有些朋友總會有些情結,“我一定要搞出一套超級NB的系統,框架”。這反應了程式設計師對技術高度的不懈追求,並不是什麼壞事情。但我們做技術,做研發,永遠都不是為了炫技,為了設計而設計,為了模式而模式。一個簡單的100行程式碼就能實現的小需求,你非要引入一個5000行的框架來做。有時候這並不是一個明智的選擇。如果你想靠炫技來折服所有人,那你的路也只能越走越窄。我們僅僅用一名程式設計師懂得多麼高深莫測的演算法和技術,來評判其能力,得到的一定是片面的結論。關於這一點,我在後續的文章中也會闡述。一句話,適用於當前公司狀況的技術方案,就是好方案;任何超越階段的技術,都是一種浪費,甚至會把公司搞死。
所以,技術專家,也不是不懂管理,不善言談,不會寫PPT,只懂得鑽研技術。技術專家也同樣需要懂管理,培養情商,鍛鍊表達。只是技術深度與技術廣度,永遠像是一個“T”字的兩筆,只是技術專家在深度上發力,讓自己成長為一個領域的牛人。
反過來說,作為一名技術管理者,就不需要技術上的造詣,而只是去鍛鍊演講,去激勵團隊,每天寫PPT吹牛度日?這肯定也是不對的。
技術管理,技術是你的脊樑,管理是你的手段。無論你是CTO,還是技術總監,如果你沒有一技之長,沒有一處長人之能,你就沒法在一個技術團隊中站穩腳跟。我們今天不談論非技術人員做技術團隊的管理,只討論程式設計師本身。技術管理者,因為職能本身定位,往往需要花時間在技術戰略、團隊人才培養、專案管理等其他工作上。所以其時間和精力的分配,也會導致在技術修為本身的投入上會相應減少。俗話說,“好鋼用在刀刃上”,如何在較短的時間內提升自己的技術水平,與時俱進,需要從學習方法,學習內容,學習途徑等多個維度去思考,關於這點,我也會在後續的文章中專門探討。在技術上保持敏感度和先進性,才能高瞻遠矚,適時適度的採取合適的技術方案,滿足現在和未來一段時間的業務需求。沒有技術廣度和過硬的設計能力,就無法為團隊指明方向,亦無法實現公司的技術戰略目標。而僅僅擁有技術實力,而不懂得排兵佈陣,合理分配兵力,激勵團隊完成研發任務,單靠一己之力,也註定是以失敗告終。
技術人才培養,是一家網際網路技術公司的現在和未來。創業公司初創階段,往往是幾個技術在一個技術Lead帶領下,快速將一個產品推上線,隨著時間推移,業務逐步擴張,技術團隊人員也在逐步增加,這時,人才和梯隊培養就要提上日程了。人才培養和人才儲備,決定了一家公司在未來一段時間內的業務擴充與市場規模。你沒有一個強有力的技術團隊支撐,就算來上千萬使用者你都支撐不住,那再好的產品也會搞砸。當年騰訊搞Oicq,國內也有不少公司做即時通訊軟體,但使用者上到百萬級後,這些公司就都難以支撐了。最後還是技術和梯隊過硬的小馬哥笑到了最後。所以,一個好的技術管理者,不但要有過硬的本領,還要有識人的能力和知人善用的胸懷。在合適的時機給恰當的人以機會,培養儲備人才,是作為技術管理者所必備的素質。
所以,技術管理和技術專家,其實在某些方面的能力,是相通甚至是都必須要具備的,只是因工作分工不同,導致個人在時間分配上的不同。而學習能力,邏輯思維能力這些老生常談的問題,在技術專家和技術管理者這兩個維度上,都是同等重要的。難道技術專家就不做人才培養了嗎?顯然也不是這樣的。技術管理和技術專家在一個團隊中,往往是相互配合,相互支撐,共同完成企業技術目標。
技術團隊的組建,往往是一家初創公司考慮較多的問題。下一篇我會著重從技術團隊構成的維度,談談創業公司不同階段對技術團隊組建和體系建設的一些看法。歡迎關注。
歡迎關注公眾號,本系列的文章也會第一時間同步更新,敬請關注!