俗話說“不想當CTO的程序員,不是好碼農”,不管是初入職的編程小白,還是已經工作一段時間的程序老猿,初心總是希望自己在技術道路上不斷的打怪升級。
當然,在職位上也希望早日走上人生巔峰,迎娶白富美。那么,對于一個普通程序員來講,他的晉升之路都要經歷哪些關鍵階段,又都需要具備怎樣的工作能力呢?
倔強青銅——程序員
這就是大家經常自嘲叫碼農的階段。
工作內容
對外宣稱:把需求或產品實現為用戶可用的軟件產品。
實際工作:復制粘貼、照葫蘆畫瓢;
此階段主要負責執行,大概經歷1至3年不等,因為經驗較少,此階段程序員一般需要求助別人,或與別人一起完成一個任務。
秩序白銀——中級程序員
具有調試軟件的基本技能。
能力:分析,設計,開發,測試,實施及評估。
相較于碼農階段,中級程序員有了略豐富的項目經驗和行業經驗積累,不再是單純復制粘貼,基本可以獨擋一面!包括檢測代碼中的錯誤、創建和編寫簡單的單元測試、并可以為項目中遇到的問題提出有效的解決方案。
榮耀黃金——高級程序員
到了這個水平,你的技術開始增強,此時的你不僅可以完成任務,開始注重代碼的質量,能夠寫出工業級的代碼。
你的經驗可勝任模塊級的系統設計,承擔完成較為復雜的技術,能有效的自我管理,有幫助別人快速解決問題的能力。
所以,一個高級程序員,他的職責很清晰:
1、負責產品核心復雜功能的方案設計、編碼實現
2、負責疑難BUG分析診斷、攻關解決。
尊貴鉑金——架構師
到了架構師級別,表示你基本成為一位準專家了。
架構師的任務是為公司產品的業務問題提供高質量技術解決方案。可能每條產品線都設置了架構師,也可能多條生產品線的的后端是由一個架構師設計的平臺提供;
你的職責主要包括:需求分析、架構設計、功能設計與實現等;
永恒鉆石——技術經理
作為技術經理,不僅要著重于技術方面,需要知道某種功能用哪些技術合適,需要知道某項功能需要多長的開發時間等。還需要承擔提高提高自己的溝通協作水平、管理團隊水平等。
主要包括
任務管理:開發工作量評估、定立開發流程、分配和追蹤開發任務;
質量管理:代碼review、開發風險判斷/報告/協調解決
效率提升:代碼底層研發和培訓、最佳代碼實踐規范總結與推廣、自動化生產工具、自動化部署工具
技術能力提升:招聘面試、試題主擬、新人指導、項目復盤與改進
至尊星耀——技術總監
如果一個研發團隊超過20人,有多條產品線或業務量很大,這時已經有多個技術經理在負責每個業務,這時需要一位技術總監。
技術總監的職責:
組建平臺研發部,與架構師共建軟件公共平臺,方便各條產品業務線研發。
通過技術平臺、通過高一層的職權,管理和協調公司各個部門與本部門各條線。
對于很多碼農來講,能做到這一步,就可以說是走上人生巔峰了。此階段,更考驗的你管理團隊的能力了!
最強王者——首席技術官
首席技術官是與CEO、COO、CFO同級的領導者,是技術和業務融合的領袖。
在國內,CTO大部分則偏重于研發管理,相當于技術總監的Plus版。大部分CTO的是領導技術團隊開發各類產品,解決技術問題,管理不同的項目,排期交付。
還有一部分的職能類似于架構師或總工程師,作為技術側的權威,為下一步的發展方向做研究探討,為CEO提供建設型決定參考。
CTO的職責主要包括:搭建技術架構、梳理流程制度、組織知識培訓、進行高層級業務支撐、打造個人品牌影響力;
同時,還要具有前瞻性視野、敏銳的市場嗅覺,戰略落地的能力
從普通程序員到CTO,需要的不僅是時間,更重要的是不斷學習,程序員的職業晉升,每提升一步都需要學習很多新的東西!祝每位程序小猿,都能早日走上人生巔峰。