技術轉管理,就要丟掉技術嗎?

許多技術管理者都有這樣的困惑,我們做技術管理的,寫代碼的時間越來越少,手越來越生疏,但是參與了更多的技術評審和技術決策,這似乎是件很矛盾的事情。

因此,他們時常感到很焦慮,自己技術能力越來越差,日常管理工作又非常瑣碎,沒有時間提升技術,會不會有一天年齡大了,失去了價值或性價比,就被行業淘汰了。

其實,這裏面有兩個問題,第一,技術管理者的核心能力是什麼;第二,技術工程師和技術管理者的技術能力有什麼差別。

先說第一個問題,技術管理者的核心能力是什麼,說實話這也是曾經困擾筆者的問題,直到有一次上MBA課程的時候,教授的一句話讓筆者一下子通透了。

“管理者的核心能力是什麼呢?是職業判斷力。”

在2013年,阿里巴巴的張勇看到了移動互聯網的未來,提出“All in移動”,幫助阿里順利拿到了移動互聯網時代的頭等艙,這就是職業判斷力。

海爾張瑞敏,在互聯網時代來臨時,提出了“人單合一”模式,“革自己的命”,企業獲得了重生;在萬衆創業的時代,他提出“創客模式”,把企業變成創客平臺,釋放了企業的創新力。這也是職業判斷力。

同樣的道理,技術管理者的核心能力就是技術判斷力。技術判斷力簡單說來,就是某個技術項目“要不要做”,要做的話“能不能實現”,是否適合現在做,還要考慮技術風險、項目管理複雜度、成本等,已經遠遠超出了寫代碼的範疇。

工程師和技術管理者的技術能力

有什麼差別?

第二個問題,技術工程師和技術管理者的技術能力有什麼差別呢?簡單來說,技術工程師的技術能力就是寫代碼,做具體的技術實現。技術管理者的技術能力是技術判斷力,通過在技術領域和非技術領域的長期積累培養起來的技術決策能力

許多朋友,一直把技術工程師的技術能力與技術管理者的技術能力混爲一談,討論技術總監應不應該寫代碼是非常可笑的。

這要分場景來看,例如,創業團隊缺乏資源,技術負責人當然事必躬親,動手寫代碼,但當團隊慢慢壯大時,技術負責人就要把重點放在做技術決策上面。

也就是說要看團隊所處的階段和團隊規模,以及技術負責人的角色定位,來決定他的工作內容究竟是做技術實現,還是做技術決策,還是兩者兼而有之。技術總監或CTO是否寫代碼,離開具體場景的討論是沒有任何意義的。

技術判斷力,要判斷哪些事情?

技術判斷力主要體現在三個方面:

第一,對結果的判斷


即這個事情做還是不做,用什麼樣的指標來衡量它的好與壞,例如,開發人員提出要用Flutter對現有App進行重構,技術管理者就要給出一個判斷做還是不做。

技術人員考慮這個提案的出發點也許是想“玩一玩”新技術,給自己的簡歷加分,而作爲技術管理者,考慮的是現階段公司App的關鍵問題是什麼,假如是App的穩定性、開發速度不夠快,那麼Flutter作爲一種新技術框架,能不能解決現有的問題呢?如果不能,那麼現在引入它也許還不是最好的時候,可以安排一兩個技術人員做預研,開始關注這項技術。

不難發現,技術工程師跟技術管理者對同一個問題的思考角度和維度差別很大。

第二,對技術方案的判斷

即對技術可行性、可維護性、成本收益等方面進行判斷,通常在技術方案評審環節給團隊進行指導。


如方案是否具備技術可擴展性、能不能爲公司建立起技術壁壘、技術框架裏有沒有詳細日誌記錄、出現線上故障時是否有預警,並且提供詳細的錯誤日誌進行分析、選擇這項技術的機會成本如何等?

所謂機會成本,即選擇這項技術就會放棄另一項技術,有沒有可能另一項技術的收益更大呢?

技術管理者對技術方案的判斷也比技術工程師思考得更深、更全面,技術工程師或許只考慮好不好實現,而技術管理者要確保在方向上不出現大的偏差。

第三,對風險的判斷


包括技術風險、項目執行風險、團隊風險等方面。技術管理者利用自己的經驗、思考分析、團隊討論等手段,識別出主要的風險,並採取措施進行規避。

技術管理者平時做的技術評審、項目回顧、技術方案規劃等工作就是在做技術判斷,技術能力並沒有變差,因爲作爲技術管理者,技術判斷力在日常工作中得到了持續的鍛鍊和提升。

如何提升技術判斷力?

新晉技術管理者的技術判斷力,主要來源於之前寫代碼和做項目的經驗積累,這時候要做好知識遷移,將技術工程師的經驗認知轉換成技術管理者技術判斷的認知。

技術判斷力的提升,主要有四個方面:

第一,團隊日常技術和產品工作彙報。團隊在彙報技術和產品進展時,是獲取信息反饋、驗證技術判斷的大好時機,看看自己之前的技術決策產生了哪些影響,有無需要調整的地方,也可以學到下屬們的思考和經驗,及時更新自己的技術和產品認知。

第二,參與技術方案評審。小到每次Code Review,大到系統整體方案評審,都要儘量參與,尤其是大型系統整體架構評審,這是系統化提升技術判斷力最好的機會,架構師的講解,包括架構設計的邏輯、每種技術的特性等,結合自己的理解和經驗給團隊提供反饋,架構判斷能力也可以得到提升。

第三,主持系統頂層設計和規劃。技術管理者可直接擔任或主持系統頂層設計規劃,業務架構規劃、系統各層的劃分、子系統之間的數據交互協議、技術框架選型、系統容量規劃等,從技術整體架構進行把控,再由團隊進一步展開做更細的規劃。

第四,持續學習新技術。從事技術管理工作,並不是說完全丟棄技術,只是放棄了大部分的代碼工作,但是新技術的學習是不能停止的,如人工智能的技術框架、機器學習的幾種模式及擅長解決哪些問題等。

再比如區塊鏈幾種共識算法的特點、實現原理、加密算法、記賬方式差異等,關注的是這項技術解決什麼問題、實現的原理和機制,而不是如何熟練使用這個新技術寫“Hello World”,當然寫一些demo對於加深理解是有必要的。


本文節選自《技術人修煉之道:從程序員到百萬高管的72項技能》一書。


這本書按照技術職場人的成長軌跡,首先關注技術人的職場定位、思維方式升級、職場溝通、架構思維、學習能力和創新能力。

然後介紹從技術轉管理會踩的坑、有效管理的原則、打造高效組織架構、團隊高效執行力、技術人才的選用育留、管理者的自我修養、管理者的商業思維。

全書總結了從程序員到技術高管,所需的72項技能。這些技能來自50多位一線互聯網公司從業者的經驗總結,以及作者將近20年的職場經驗。

該書已在京東、噹噹、淘寶等主流電商平臺熱賣,請戳鏈接:

好文推薦:

Leader如何搞垮一個核心員工?

ERP“紅”了20年,“中臺”5年就掛?

殺死那個996的年輕人

如何成爲一個搞垮領導的下屬?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章