-
1 # 小易智慧課堂
-
2 # 千鋒武漢
網際網路的快速發展,讓“程式設計師”、“程式設計”這些詞在普通人群也就耳熟能詳,甚至大部分人已經知道程式設計師是個什麼性質的群體。其實IT行業有多個方向,產品、運營、技術……而技術方向也有著許多的崗位,對於零基礎想要學習IT技術的人來說,可能不是很瞭解這些。
今天就給大家介紹一下IT行業技術方向的一些主要崗位,其中也能看出在IT行業的職業晉升方向。
1、程式設計師程式設計師,英文名coder/programmer,大家常自嘲叫碼農的階段。這個角色職責是把需求或產品實現為使用者可用的軟體產品。
此職位為執行級別。另外因為經驗較少,一般需要求助別人,或與別人一起完(ban)成(zhuan)一個任務。
此階段大概要經歷3年,程式設計師的職責如下:
l 負責公司運營系統的設計與開發工作
l 運營資料處理和分析
2、高階程式設計師高階程式設計師學名工程師。到了這個level,英文名可改叫做engineer或developer。此時你的功力開始增強,這與你平時的積累努力是分不開的,祝賀你~
你的經驗可勝任模組級的系統設計,承擔完成較為複雜的技術,能有效的自我管理,有幫助別人快速解決問題(trouble shooting)的能力。此階段你需要經歷到7、8年左右的體驗,中間要經歷一段深刻自我歷練的過程。
一般人在5年前後遇到一個門檻,碰到天花板+彷徨期,或者你打心眼裡不在喜歡程式設計,可嘗試轉為其它角色,如產品經理,售前售後支援等崗位,也不失為好選擇。當我們熬過這段兒,就會“山隨平野盡,江入大荒流“,漸入佳境矣。高階程式設計師定義軟體功能、做開發計劃推進和管理。可以帶幾個幫手把產品規劃的功能實現,你是團隊中的”大手“,遇到難題也是你親自攻艱克難。
所以,一個高階程式設計師,他的職責很清晰:
l 負責產品核心複雜功能的方案設計、編碼實現
l 負責疑難BUG分析診斷、攻關解決
3、架構師到了架構師級別,想必你已經學會降龍十八掌,可登堂入世,成為一位準(lao)專(you)家(tiao)。
我們大喊聲:“單打獨鬥,老衲誰也不懼!“,遂開始領導一眾技術高手,指點武功,來設計和完成一個系統,大多是分散式,高併發的系統架構平臺。
架構師的任務是為公司產品的業務問題提供高質量技術解決方案。
可能每條產品線都設定了架構師,也可能多條生產品線的的後端是由一個架構師設計的平臺提供。
透過上面架構師的部分成果,總結其職責如下:
l 需求分析:“知彼”有時比“知已”還重要。管理市場,產品等的需求,確立關鍵需求。堅持技術上的優秀與需求的願景統一,提升技術負債意識,提供技術選項,風險預判,工期等解決方案。
l 架構設計:在產品功能中抽取中非功能的需求,由關鍵需求變成概念型架構。列出功能樹,分層治之,如使用者介面層、系統互動層,資料管理層。達成高擴充套件,高可用,高效能,高安全,易運維,易部署,易接入等能力。
l 功能設計與實現:對架構設計的底層程式碼級別實現。如公共核心類,介面實現,應用發現規則、介面變更等。
技術經理有時候也可能叫系統分析員,一些小公司可能會整個公司或者部門有一個技術經理。技術經理承擔的角色主要是系統分析、架構搭建、系統構建、代 碼走查等工作,如果說專案經理是總統,那麼技術經理就是總理。
當然不是所有公司都是這樣的,有些公司專案經理是不管技術團隊的,只做需求、進度和同客戶溝 通,那麼這個時候的專案經理就好像工廠裡的跟單人員了,這種情況在外包公司比較多。
對於技術經理來說,著重於技術方面,你需要知道某種功能用哪些技術合 適,需要知道某項功能需要多長的開發時間等。
同時,技術經理也應該承擔提高團隊整體技術水平的工作。
你需要和大家站在一起,因為人們也都有解決問題的能力,更需要有以下的能力與責任:
l 任務管理:開發工作量評估、定立開發流程、分配和追蹤開發任務
l 質量管理:程式碼review、開發風險判斷/報告/協調解決
l 效率提升:程式碼底層研發和培訓、最佳程式碼實踐規範總結與推廣、自動化生產工具、自動化部署工具
l 技術能力提升:招聘面試、試題主擬、新人指導、專案覆盤與改進
5、技術總監如果一個研發團隊超過20人,有多條產品線或業務量很大,這時已經有多個技術經理在負責每個業務,這時需要一位技術總監。
技術總監的職責:
l 組建平臺研發部,與架構師共建軟體公共平臺,方便各條產品業務線研發。
l 透過技術平臺、透過高一層的職權,管理和協調公司各個部門與本部門各條線。現在每個產品線都應該有合格的技術經理和高階程式設計師。
6、CTO:首席技術官首席技術官,英文名Chief Technology Officer。是與CEO、COO、CFO同級的領導者,是技術和業務融合的領袖。
國內與國外對CTO的定義有些許不同。
美國對CTO的職責是設計公司三年內的產品和服務的技術發展方向,較少參與技術團隊的日常管理和專案管理事務。基本是前瞻性的策略思維,比如Google的謝爾蓋.布林一直保持對技術方向的敏銳,比如無人駕駛汽車,人工智慧等走向。
在國內,CTO大部分則偏重於研發管理,相當於技術總監的Plus版。它相當於美國網際網路公司常設的工程師副Quattroporte+CTO的工作並集。但總體事情比美國的CTO層次低,大部分CTO的是領導技術團隊開發各類產品,解決技術問題,管理不同的專案,排期交付。還有一部分的職能類似於架構師或總工程師,作為技術側的權威,為下一步的發展方向 做研究探討,為CEO提供建設型決定參考。
從普通的程式設計師到CTO,需要的不僅是時間,更重要的是不斷學習,程式設計師的職業晉升每提升一步都需要學習更多的東西!
以上就是我介紹的IT行業技術方向的一些主要崗位以及晉升方向!當然這只是一個大致的路徑,不是所有程式設計師都必需要這麼經歷的,有些人可能跳過其中的一些步驟,也可能有些人會把中間的很多職位都做了。而最終做到 CTO的程式設計師,也是非常少的一部分,原因很簡單,這個世界上不需要那麼多的CTO和CXO。
總體來說,做技術是需要沉澱的,要有十年磨一劍的精神。網際網路的更新速度很快,也是需要我們不斷的去學習,去補充自己的知識庫來面對未來更大的挑戰。希望廣大的程式設計師,越努力越幸運,成為自己當初入行時目標時的樣子,不忘初心,勇往直前!
大多數程式設計師最終的職業目標可能都是CTO,做到CEO的人估計會比較少,也有一少部分人自己去創業去當老闆,也有部分人轉行了,當老闆的牛人也有。一般來說,程式設計師的發展基本上都會經歷這麼幾條路徑。程式設計師-系統分析員-架構師-技術經理-CTO,程式設計師-專案組長-專案經理-專案總監-CTO,程式設計師-產品設計師-產品經理-CTO。
回覆列表
1、技術崗,往某一個技術的專家級別發展,專心做技術,達到專家的技術水準。2、管理崗、有一定的技術作為根基,以某一項技術為起點,接觸和學習一些相關業務的技術,不需要達到精通的水準。之後是培養和鍛鍊自己的領導能力,從帶團隊做起。