許多技術管理者都有這樣的困惑,咱們作技術管理的,寫代碼的時間愈來愈少,手愈來愈生疏,可是參與了更多的技術評審和技術決策,這彷佛是件很矛盾的事情。
程序員
所以,他們時常感到很焦慮,本身技術能力愈來愈差,平常管理工做又很是瑣碎,沒有時間提高技術,會不會有一天年齡大了,失去了價值或性價比,就被行業淘汰了。算法
其實,這裏面有兩個問題,第一,技術管理者的核心能力是什麼;第二,技術工程師和技術管理者的技術能力有什麼差異。架構
先說第一個問題,技術管理者的核心能力是什麼,說實話這也是曾經困擾筆者的問題,直到有一次上MBA課程的時候,教授的一句話讓筆者一會兒通透了。框架
「管理者的核心能力是什麼呢?是職業判斷力。」機器學習
在2013年,阿里巴巴的張勇看到了移動互聯網的將來,提出「All in移動」,幫助阿里順利拿到了移動互聯網時代的頭等艙,這就是職業判斷力。學習
海爾張瑞敏,在互聯網時代來臨時,提出了「人單合一」模式,「革本身的命」,企業得到了重生;在萬衆創業的時代,他提出「創客模式」,把企業變成創客平臺,釋放了企業的創新力。這也是職業判斷力。區塊鏈
一樣的道理,技術管理者的核心能力就是技術判斷力。技術判斷力簡單說來,就是某個技術項目「要不要作」,要作的話「能不能實現」,是否適合如今作,還要考慮技術風險、項目管理複雜度、成本等,已經遠遠超出了寫代碼的範疇。人工智能
工程師和技術管理者的技術能力加密
有什麼差異?url
第二個問題,技術工程師和技術管理者的技術能力有什麼差異呢?簡單來講,技術工程師的技術能力就是寫代碼,作具體的技術實現。技術管理者的技術能力是技術判斷力,經過在技術領域和非技術領域的長期積累培養起來的技術決策能力。
許多朋友,一直把技術工程師的技術能力與技術管理者的技術能力混爲一談,討論技術總監應不該該寫代碼是很是好笑的。
這要分場景來看,例如,創業團隊缺少資源,技術負責人固然事必躬親,動手寫代碼,但當團隊慢慢壯大時,技術負責人就要把重點放在作技術決策上面。
也就是說要看團隊所處的階段和團隊規模,以及技術負責人的角色定位,來決定他的工做內容到底是作技術實現,仍是作技術決策,仍是二者兼而有之。技術總監或CTO是否寫代碼,離開具體場景的討論是沒有任何意義的。
技術判斷力,要判斷哪些事情?
技術判斷力主要體如今三個方面:
第一,對結果的判斷。
即這個事情作仍是不作,用什麼樣的指標來衡量它的好與壞,例如,開發人員提出要用Flutter對現有App進行重構,技術管理者就要給出一個判斷作仍是不作。
技術人員考慮這個提案的出發點也許是想「玩一玩」新技術,給本身的簡歷加分,而做爲技術管理者,考慮的是現階段公司App的關鍵問題是什麼,假如是App的穩定性、開發速度不夠快,那麼Flutter做爲一種新技術框架,能不能解決現有的問題呢?若是不能,那麼如今引入它也許還不是最好的時候,能夠安排一兩個技術人員作預研,開始關注這項技術。
不難發現,技術工程師跟技術管理者對同一個問題的思考角度和維度差異很大。
第二,對技術方案的判斷。
即對技術可行性、可維護性、成本收益等方面進行判斷,一般在技術方案評審環節給團隊進行指導。
如方案是否具有技術可擴展性、能不能爲公司創建起技術壁壘、技術框架裏有沒有詳細日誌記錄、出現線上故障時是否有預警,而且提供詳細的錯誤日誌進行分析、選擇這項技術的機會成本如何等?
所謂機會成本,即選擇這項技術就會放棄另外一項技術,有沒有可能另外一項技術的收益更大呢?
技術管理者對技術方案的判斷也比技術工程師思考得更深、更全面,技術工程師或許只考慮好很差實現,而技術管理者要確保在方向上不出現大的誤差。
第三,對風險的判斷。
包括技術風險、項目執行風險、團隊風險等方面。技術管理者利用本身的經驗、思考分析、團隊討論等手段,識別出主要的風險,並採起措施進行規避。
技術管理者平時作的技術評審、項目回顧、技術方案規劃等工做就是在作技術判斷,技術能力並無變差,由於做爲技術管理者,技術判斷力在平常工做中獲得了持續的鍛鍊和提高。
如何提高技術判斷力?
新晉技術管理者的技術判斷力,主要來源於以前寫代碼和作項目的經驗積累,這時候要作好知識遷移,將技術工程師的經驗認知轉換成技術管理者技術判斷的認知。
技術判斷力的提高,主要有四個方面:
第一,團隊平常技術和產品工做彙報。團隊在彙報技術和產品進展時,是獲取信息反饋、驗證技術判斷的大好時機,看看本身以前的技術決策產生了哪些影響,有無須要調整的地方,也能夠學到下屬們的思考和經驗,及時更新本身的技術和產品認知。
第二,參與技術方案評審。小到每次Code Review,大到系統總體方案評審,都要儘可能參與,尤爲是大型系統總體架構評審,這是系統化提高技術判斷力最好的機會,架構師的講解,包括架構設計的邏輯、每種技術的特性等,結合本身的理解和經驗給團隊提供反饋,架構判斷能力也能夠獲得提高。
第三,主持系統頂層設計和規劃。技術管理者可直接擔任或主持系統頂層設計規劃,業務架構規劃、系統各層的劃分、子系統之間的數據交互協議、技術框架選型、系統容量規劃等,從技術總體架構進行把控,再由團隊進一步展開作更細的規劃。
第四,持續學習新技術。從事技術管理工做,並非說徹底丟棄技術,只是放棄了大部分的代碼工做,可是新技術的學習是不能中止的,如人工智能的技術框架、機器學習的幾種模式及擅長解決哪些問題等。
再好比區塊鏈幾種共識算法的特色、實現原理、加密算法、記帳方式差別等,關注的是這項技術解決什麼問題、實現的原理和機制,而不是如何熟練使用這個新技術寫「Hello World」,固然寫一些demo對於加深理解是有必要的。
本文節選自《技術人修煉之道:從程序員到百萬高管的72項技能》一書。
這本書按照技術職場人的成長軌跡,首先關注技術人的職場定位、思惟方式升級、職場溝通、架構思惟、學習能力和創新能力。
而後介紹從技術轉管理會踩的坑、有效管理的原則、打造高效組織架構、團隊高效執行力、技術人才的選用育留、管理者的自我修養、管理者的商業思惟。
全書總結了從程序員到技術高管,所需的72項技能。這些技能來自50多位一線互聯網公司從業者的經驗總結,以及做者將近20年的職場經驗。
該書已在京東、噹噹、淘寶等主流電商平臺熱賣,請戳連接:
好文推薦: