1. 程式人生 > >一篇文章搞懂高階程式設計師、架構師、技術總監、CTO從薪資到技能的區別

一篇文章搞懂高階程式設計師、架構師、技術總監、CTO從薪資到技能的區別

我希望用一篇文章完全讓大家正確的理解從程式設計師到架構師、技術經理、技術總監、CTO的完整區別以及進階要領。

只有客觀去認識,才會更加合理的找到自己的擅長點,從而更好的發展自己。

詳談高階程式設計師、架構師、技術總監、CTO從薪資到技能的區別

上圖是典型的薪資結構圖,我們先從高階程式設計師談起。

高階程式設計師

一般是至少三年以上的工作經驗,有些地方是五年以上,很多小公司或者創業公司,高階程式設計師覆蓋工作職責比較廣,基本包含部分產品經理、專案經理的工作職責以外,最主要負責核心程式碼程式設計,基本技術難點都自己解決為主。

詳談高階程式設計師、架構師、技術總監、CTO從薪資到技能的區別

在公司大一點的都有非常明確的職責和級別定義,以阿里外代表,P5-P6代表高階軟體工程師這個級別,基本能獨立負責設計和編碼階段。

詳談高階程式設計師、架構師、技術總監、CTO從薪資到技能的區別

其實,在國外例如google、facebook等公司,很多牛人的title都是Senior Level engineer,這一點不像在中國。

在國內,一般一個高階程式設計師的準確定義:

負責核心複雜功能的實現方案設計、編碼實現。詳細描述:能獨立設計一個業務模組的能力,並且獨立設計資料庫表以及UML畫圖,利用部分設計模式以及懂得演算法和效率的高質量程式碼。

架構師

一般能做到架構師這個稱謂,工作年限至少都在5年-8年以上,具體還看每個人的學習能力和領悟能力,也有時間短的,但大部分都是個例。

之所以有架構師這個稱謂,主要還是公司發展以及大了的需要,需要專注於技術的人,你也可以理解為技術專家,攻克公司技術難題為主,例如淘寶的雙11的挑戰,以及公司發展需要考慮獨立拆分,資料庫壓力太大,需要分散式快取以及CDN的配合,怎麼選擇,怎麼結合自己公司的情況攻克當前技術難題。

如果一定要準備定義,我用一句話:

詳談高階程式設計師、架構師、技術總監、CTO從薪資到技能的區別

架構師的職責應該是立足於技術和業務之間的中間角色或者平衡點, 在針對業務深刻理解的基礎上,針對業務中存在諸多變數,挑選適合的技術架構和技術方案。

技術經理

技術經理坦率的講,就是從高階程式設計師開始分化而來,一部分同學選擇繼續專研技術,往縱向發展,一部分同學打算覺得未來管理這條路很好,主動選擇開始轉型管理這個方向,於是才有裡技術主管或者經理經理這個稱謂。

我還是以阿里為參考,阿里的M代表管理方向,你可以通過下圖可以清晰的看見P系列和T系列對應的級別。

詳談高階程式設計師、架構師、技術總監、CTO從薪資到技能的區別

P6和M1,從技術的角度,如果你打算往管理M發展,M1對應的至少你也能勝任資深工程師。

所以,這個時候你就非常清晰了,技術經理本身就是從資深工程師發展而來,很多公司的技術經理根本沒有從一線研發做起,大部分就是一個專案經理,帶帶專案為主,根本無法勝任剛才我講到的技術經理的工作。

最後,我稍微總結下部分技術經理的要領:

詳談高階程式設計師、架構師、技術總監、CTO從薪資到技能的區別

首先,具備核心模組程式碼程式設計的能力,從設計方案到核心編碼,再到後期的程式碼review,這方面是能完全勝任的。

其次 ,才是團隊任務管理,分配工作,工作量評估,以及幫助團隊人員提升實力,以及推動更加合理的考核機制。

再次,協調的能力,與人打交道的能力,平級部門,產品、設計、測試、運營打交道的能力,這個還是要有的,不能一味盲幹,也不能一味不發聲,總之你要讓你的團隊在公司應該有一定的美譽,讓大家能記住你們團隊。

技術總監

技術總監一般工作8--10年以上,面技術經理的事你能做的非常好,再加上公司發展的需要,需要你同時帶領多條業務線或者多個小團隊的時候,基本就是技術總監了。

從管理的層級,技術總監同時管理多個技術經理,管理從業務線劃分的團隊。

從技術的層級,這裡我補充一點,儘量你能勝任架構師這個級別,也就是說你至少也是一個技術專家最佳。當然,你會問?之前你提到高階程式設計師開始從技術專家和管理開始分化,這不是有點矛盾麼。

詳談高階程式設計師、架構師、技術總監、CTO從薪資到技能的區別

其實,但你開始往技術經理髮展的時候,其實就是多維度發展了,技術也是一個維度,並不是說你做純管理脫離於技術,技術的積累你仍然需要繼續專研。

最後,總結下技術總監的部分要領:

從業務線和團隊的角度,你有能力組建研發部,搭建公共技術平臺,管理各條業務線以及從技術經理、高階程式設計師、專案經理、還有架構師的能力。

CTO

首先澄清幾個CTO的誤區,CTO的要求是最高的,不是每一個人都勝任CTO,好的CTO在國內非常少,非常稀有。

很多同學的一個巨大的誤區,認為CTO就專注於技術的,這是不對的,CTO如果只專注於技術,那你招一個架構師不就成了,為什麼還需要找CTO呢。

還有一個誤區,很多同學從大公司出來進入一家創業公司 or 小公司,掛名某某CTO,自認為自己已經一步登天,其實離CTO的能力差之甚遠。

CTO是一個系統的成長軌跡,不是一朝一夕可以練成的,需要後天的巨大“自我改進”能力。如果用我自己的話總結,CTO的成長之路猶如“從蠶到蛾的蛻變”,整個蛻變過程缺一不可,最後都是要經歷性格塑造的,不斷的改變自己的性格。

我用一張圖能稍微總結下CTO的要領,如果你有志於往CTO發展,至少你得知道,你儘量往這方面發展是OK的。

詳談高階程式設計師、架構師、技術總監、CTO從薪資到技能的區別

真正的CTO,是軟體產品和技術是統一管理的,在通過後期的自己的努力,通過情商、逆商以及商業思維來輔助。

如果一定要總結下CTO的要領:

1.業績達成:洞察客戶需求,捕捉商業機會,規劃技術產品,通過技術產品領導業務增長,有清晰的戰略規劃、主攻方向,帶領團隊實現組織目標

2、前沿與平臺:到這個研發規模規模級別了,一定要有專門的團隊做技術應用創新探索和前沿技術預研。而且要和技術平臺團隊、應用研發團隊形成很好的聯動作用,讓創新原型試點能夠很平滑的融入商業平臺再讓應用研發線規模化的使用起來。

3、研發過程管理:站在全域性立場來端到端改進業務流程,為業務增長提供方便

4、組織與人才建設:公司文化和價值觀的傳承;研發專業族團隊梯隊建制建設、研發管理族團隊梯隊建制建設;建立創新激發機制,激發研發人創新向前發展,激發黑馬人脫穎而出

CTO做的事情,是商業、產品、技術、管理、團隊相平衡的綜合統管。

 

 

作者:IT人升職加薪進階站 優知學院 (www.youzhixueyuan.com,微信公眾號:youzhixueyuan)創始人陳睿|mikechen,歷任淘寶高階軟體工程師、盛大架構師、百度研發經理、攜程定製旅遊CTO。