IT行業有多個方向,產品、運營、技術……而技術方向也有著許多的崗位,對于零基礎想要學習IT技術的人來說,可能不是很了解這些。有句話叫,不想當CTO的技術開發,不是好程序員。那么從一個普通程序員到頂級的CTO都要經歷哪些關鍵階段,又都需要具備怎樣的工作能力呢?今天,小編帶大家了解一下。
01程序員
程序員,大家常自嘲叫碼農的階段。這個角色職責是把需求或產品實現為用戶可用的軟件產品。
此職位為執行級別。另外因為經驗較少,一般需要求助別人,或與別人一起完成一個任務。
此階段大概要經歷3年,程序員的職責如下:
負責公司運營系統的設計與開發工作
運營數據處理和分析
02高級程序員
高級程序員,學名工程師。到了這個水平,你的技術開始增強,這與你平時的積累努力是分不開的。
此時的你不僅可以完成任務,開始注重代碼的質量,能夠寫出工業級的代碼。
你的經驗可勝任模塊級的系統設計,承擔完成較為復雜的技術,能有效的自我管理,有幫助別人快速解決問題的能力。
此階段你需要經歷到7、8年左右的時間,中間要經歷一段深刻自我歷練的過程。
一般人在入行5年前后遇到一個門檻,碰到天花板與彷徨期,或者你打心眼里不在喜歡編程,可嘗試轉為其它角色,如產品經理,售前售后支持等崗位,也不失為好選擇。
當我們熬過這階段,就會漸入佳境了。
高級程序員定義軟件功能、做開發計劃推進和管理。可以帶幾個幫手把產品規劃的功能實現,你是團隊中的”大手“,遇到難題也是你親自攻艱克難。
所以,一個高級程序員,他的職責很清晰:
負責產品核心復雜功能的方案設計、編碼實現
負責疑難BUG分析診斷、攻關解決
03架構師
到了架構師級別,你已經成為一位準專家了。
開始領導一眾技術高手,來設計和完成一個系統,大多是分布式,高并發的系統架構平臺。
架構師的任務是為公司產品的業務問題提供高質量技術解決方案。可能每條產品線都設置了架構師,也可能多條生產品線的的后端是由一個架構師設計的平臺提供。
通過上面架構師的部分成果,總結其職責如下:
需求分析:“知彼”有時比“知已”還重要。管理市場,產品等的需求,確立關鍵需求。堅持技術上的優秀與需求的愿景統一,提升技術負債意識,提供技術選項,風險預判,工期等解決方案。
架構設計:在產品功能中抽取中非功能的需求,由關鍵需求變成概念型架構。列出功能樹,分層治之,如用戶界面層、系統交互層,數據管理層。達成高擴展,高可用,高性能,高安全,易運維,易部署,易接入等能力。
功能設計與實現:對架構設計的底層代碼級別實現。如公共核心類,接口實現,應用發現規則、接口變更等。
04技術經理
人生就是不斷上升的過程,你已經到達經理的層次了。如今的你,需要不斷提高領導力,需要定期召開團隊會議討論問題。
技術經理有時候也可能叫系統分析員,一些小公司可能會整個公司或者部門有一個技術經理。技術經理承擔的角色主要是系統分析、架構搭建、系統構建、代 碼走查等工作。
當然不是所有公司都是這樣的,有些公司項目經理是不管技術團隊的,只做需求、進度和同客戶溝通,那么這個時候的項目經理就好像工廠里的跟單人員了,這種情況在外包公司比較多。
對于技術經理來說,著重于技術方面,你需要知道某種功能用哪些技術合適,需要知道某項功能需要多長的開發時間等。同時,技術經理也應該承擔提高團隊整體技術水平的工作。
你需要和大家站在一起,因為人們也都有解決問題的能力,更需要有以下的能力與責任:
任務管理:開發工作量評估、定立開發流程、分配和追蹤開發任務
質量管理:代碼review、開發風險判斷/報告/協調解決
效率提升:代碼底層研發和培訓、佳代碼實踐規范總結與推廣、自動化生產工具、自動化部署工具
技術能力提升:招聘面試、試題主擬、新人指導、項目復盤與改進
05技術總監
如果一個研發團隊超過20人,有多條產品線或業務量很大,這時已經有多個技術經理在負責每個業務,這時需要一位技術總監。
技術總監的職責:
組建平臺研發部,與架構師共建軟件公共平臺,方便各條產品業務線研發。
通過技術平臺、通過高一層的職權,管理和協調公司各個部門與本部門各條線。現在每個產品線都應該有合格的技術經理和高級程序員。
06CTO:首席技術官
首席技術官是與CEO、COO、CFO同級的領導者,是技術和業務融合的領袖。
在國內,CTO大部分則偏重于研發管理,相當于技術總監的Plus版。大部分CTO的是領導技術團隊開發各類產品,解決技術問題,管理不同的項目,排期交付。還有一部分的職能類似于架構師或總工程師,作為技術側的權威,為下一步的發展方向做研究探討,為CEO提供建設型決定參考。
CTO的職責如下列表:
技術愿景:識別新技術、利用新技術、整合新技術、驅動新技術。驅動商業戰略、驅動產品戰略
技術架構:建立主營業務中的技術架構與實施模式,建立技術體系標準
流程制度:建立高質量,高效率的技術團隊。健全的項目管理體系;完善的員工能力發展體系
知識培訓:建立以研發內容為主的知識庫管理體系、技術分享與技術文化的體系
業務支撐:與其它部門的溝通協作,如HR、市場、BD、財務、客服等提供技術管理接口;在產品技術層面能夠領先于業內同行
影響力:在公司內部與行業中具備一定影響力與口碑
視野&格局&執行力:看待問題全面,具有強大的學習力,具備技術前瞻力,敏銳的市場嗅覺,戰略落地的能力
從普通的程序員到CTO,需要的不僅是時間,更重要的是不斷學習,程序員的職業晉升每提升一步都需要學習更多的東西!