1. 程式人生 > >技術總監7年經驗——論程式設計師的職業發展路線

技術總監7年經驗——論程式設計師的職業發展路線

作為程式設計師,在開發崗位上做了幾年,特別是到了30歲,這個而立之年,我們會來到一個重要的人生岔路口。就是管理和技術兩個選擇,一邊專業路線,一邊是管理路線。 在網際網路的頭部企業,對管理和技術是平等對待的,所以晉升會存在管理和技兩個通道的 ![](https://img-blog.csdnimg.cn/img_convert/d351c729fb89c04ca3963313655f9af1.png) 既然有了選擇,就會有人糾結,不知道是選擇專業路線,還是選擇技術團隊的管理路線。 這個選擇是程式設計師人生中第一個大的選擇,也是第一個障礙,倒不是說這個障礙是到底要不要選擇管理,而更多的是對做管理的遲疑,懷疑到底能不能做好管理,做了管理之後,技術是不是就荒廢了。 這種狀態猶豫不決、搖擺不定的狀態保持時間長了,最終會導致技術和管理都沒做好,這是得不償失的。 為了解決這個問題,有必要分析程式設計師職業發展的路線到底有幾條,分別需要具備怎樣的能力,從而做到”手中有糧,心中不慌“ ![](https://img-blog.csdnimg.cn/img_convert/7307f7832df4ee3571afb9c1779854cf.png)



01技術 ================ 技術類上,是有兩個方向:**架構師和技術專家** **架構師他的側重點是**在“廣”上,他主要負責技術的整體和架構,在業務上,需要有很深的理解,有豐富的經驗,甚至能做到“走的橋比你吃的鹽還多”。在技術上,能夠廣泛涉略,掌握的技術知識越多,內力就越加深厚。 我覺得架構師還需要三點必備能力,其一需要有極強的執行力,能夠快速的給出合理的方案,推動技術落地。其二需要有極強的判斷力,能夠準確的找到複雜系統的疑難問題所在,就像武林高手,一眼就看出對方的破綻。最後還需要有極強的創新力,能夠創造新的解決方案,解決現有技術難題。 所以從程式設計師到架構師的成長之路,總的指導原則是:積累經驗,拓寬視野,深度思考(可以參考我之前文章《[程式設計師進階必備能力——深度思考](http://mp.weixin.qq.com/s?__biz=Mzg3NzUxMTgwNQ==&mid=2247483826&idx=1&sn=c82601363825ba261b88c0198ee3a91d&chksm=cf2094a0f8571db6b69603ba66b1ac62ef588fc3668ffdcddd4ca2fa62713eb8c614e279290b&scene=21#wechat_redirect)》) **技術專家他的側重點**是在“專”上,這個就很好理解,就是在某個領域能夠深入,能夠熟悉其背後執行原理。不同的領域都會存在專家,例如:Java專家、前端專家、影象演算法專家、Linux核心專家等等。專家相對架構師,更加專注,並不會考慮太多整體方案。 所以從高階開發成長為技術專家,主要是擴充套件領域內的技術寬度,提升領域內的技術深度。因為領域也不是特別窄的一個面,而是包含多個技術面。 舉一個例子:Linux核心專家,要想成為Linux核心專家,需要掌握,Linux CPU排程、記憶體管理、程序管理、儲存管理、檔案系統、裝置管理和驅動、網路通訊、系統呼叫、系統初始化等技術面。 在每個技術面中,同樣包含了很多技術點,這些技術都是知識盲區,所以需要提升技術深度。



02管理 ================ 管理也分為了兩個方向,技術管理和職業管理。顧名思義,技術管理更加傾向於技術,而職業管理完全拋開了技術,純粹的商業方向。 **技術管理,**這個方向是程式設計師最自然的選擇。大部分的技術管理者,在其從程式設計師轉為管理崗位的時候,都是在領導或公司的要求下,被動的推到技術經理崗位上的,並非是自己當初有強烈意願、主動去選擇管理崗的。然後走上曼曼打怪進階的路線,從技術經理崗到技術總監,帶領幾十號人的團隊衝關,然後到成為技術業務部和事業部的技術副總裁,相當於CTO了。 技術管理需要在業務上有較深的理解,在技術上能夠根據技術發展趨勢,進行技術規劃。在產品上能夠極強的洞察力,進行產品規劃。在團隊加上能夠規劃團隊建設、組織結構等等,所以這是綜合素質的要求。 **職業管理** 職業管理者往往更加關心於整體產品業務的團隊,不限於技術團隊。比如某個事業部的總裁,或者是某個業務部的總裁。大家往往都聽過某某事業部空降了領導,這個領導就是屬於職業管理者,他的移動性更加強,能力更加通用。這個方向是可遇不可求的,有些人一輩子都不可能觸及到。這個就是天花板上的別人家的樓板,你說難不難?



03創業 ================ 創業這個方向上,一般是作為技術合夥人來參與,如果想要自己的創業公司能夠成功,必須是全能型創業團隊,在技術、產品、營銷等方面不能有明顯的短板。 我舉一個真實的例子:**我的上一家公司的直接領導,辭去技術總監的職位,作為一個技術合夥人建立了一個團隊,主要提供物流解決方案。前幾個月和他聊,公司已經在去年實現盈利1000多萬,通過股權上操作,已經成為最大的股東,掌管著整個公司的前進方向。** 說到這裡挺惋惜的,創立之初,當時極力的拉我入夥,被我拒絕了,理由是工資太低了,這個理由在現在看來簡直可笑啊 * * *



#04其他 ##**專案經理** 這個方向也是程式設計師比較常見,也比較自然的方向。專案經理其實一種組織整合能力。不同於技術管理,這條路線走起來,幾乎不需要任何外界依賴因素。 最需要關注的是進度、質量、人力、成本、風險。 **那如何提升專案管理能力呢?** 首先需要對專案管理知識框架有個大致的認識,避免在龐大的知識體系中迷失方向,比如: * 範圍管理:專案為何總是做不完?範圍管理要界定 * 風險管理:專案風險引發的問題、成因以及防範方法 * 溝通管理:做好專案溝通計劃 * 質量管理:加強專案質量 * 時間管理:專案進度控制 * 成本管理:產品成品控制 * 等等 其次需要掌握專案計劃、專案變更、專案進展報告、覆盤等過程方法。 最後需要掌握跨部門協作,多維度溝通上進行加強。 ##**產品經理** 程式設計師轉產品經理,需要做到技術思維到產品思維的轉換。 **技術思維角度是從功能開始,而產品思維的角度是從業務開始。** 作為程式設計師,當要做一個專案時候,我們最關心的是這個專案有哪些功能,然後考慮每個功能如何實現; 而作為產品經理,當要做一個專案時候,我們看重這個專案的業務場景是什麼,解決使用者什麼問題 **技術思維角度是怎麼去實現功能,而產品思維角度是為什麼要這個業務。** 從技術思維的角度關注一個需求時候,總是先關注一個需求如何去實現,即HOW; 而從產品思維上來關注一個需求時候,應該多問一下WHY,為什麼需要這個需求,多思考為什麼,從而找到需求或問題的本質。 **技術思維角度是向專家一樣行動,而產品思維角度是向小白一樣思考。** 作為程式設計師,我們日常接觸到最多的還是技術人員,這些人一般來說邏輯思維都較強,擅長使用和處理各種軟體,所以總是將這種形象代入到客戶身上。 但作為產品人員思考時候,將使用者想得越“小白”越好,假設他們是不懂電腦,不太會玩手機,甚至不會打字的人。




05總結 ================ 上面4個方向是程式設計師主要的職業發展路線,作為個人來看,如果能一直做自己熱愛的工作和喜歡的角色,應該是最好的狀態。 不管走那一條路,一些能力是共通的,比如:技術規劃、團隊建設、溝通、時間管理等。處於自己的選擇,可能不會選擇管理方向,但是難免在以後的工作中會和管理者打交道。管理作為一種通用的素質,希望大家能夠技多不壓身。 總之,作為程式設計師,技術和管理,就像人的兩條腿,所有的職業發展路線都離不開,畢竟一條腿是走不遠的。 **推薦閱讀(乾貨)** [_**程式設計師進階必備能力——晉升之道**_](http://mp.weixin.qq.com/s?__biz=Mzg3NzUxMTgwNQ==&mid=2247483891&idx=1&sn=24cd8a6abf3b0681179dc5e5e846e0ba&chksm=cf2094e1f8571df70c1e37be4f3a3a81df0165e5e3359006a16ed64730fe9e5cc7fe97c37289&scene=21#wechat_redirect) [_**送給剛畢業的程式設計師——7點建議**_](http://mp.weixin.qq.com/s?__biz=Mzg3NzUxMTgwNQ==&mid=2247483792&idx=1&sn=f30fe58e4ea99d647b1853eca6bd5a6a&chksm=cf209482f8571d94e7dd372851397f98a838e84a9fbea9299337e5ee2301084228a4f57d315c&scene=21#wechat_redirect) [_**程式設計師進階技術專家必備能力——深度思考**_](http://mp.weixin.qq.com/s?__biz=Mzg3NzUxMTgwNQ==&mid=2247483826&idx=1&sn=c82601363825ba261b88c0198ee3a91d&chksm=cf2094a0f8571db6b69603ba66b1ac62ef588fc3668ffdcddd4ca2fa62713eb8c614e279290b&scene=21#wechat_redirect) [_**程式設計師如何選擇一家好公司**_](http://mp.weixin.qq.com/s?__biz=Mzg3NzUxMTgwNQ==&mid=2247483879&idx=1&sn=96067a68ebe584002a64dc0e21edb21d&chksm=cf2094f5f8571de38333e04d03d1dd60a56574d08d62324ae65bc73a3bc414e6d6e5e9d17121&scene=21#wechat_redirect) **覺得不錯,記得關注、轉發和在看!多年經驗分享,實屬不易,感謝支援!** * * * 博主是一位物聯網大廠技術總監,從業7年。從軟體開發、高階軟體開發、技術經理再到技術總監,分享職業發展、技術管理、職場晉升、技術成長等個人多年經驗和心得。一起成長!其他文章可以加我公眾號如下: ![](https://img-blog.csdnimg.cn/img_convert/3986335aa0a5a37520c1d7033744f81f.png)