最近朋友圈上被cto的故事刷的滿屏都是,著實又火了一次。
你我都不是吃瓜群眾,這事不同角色不同的利益點,肯定態度不一樣。作為乙個技術老司機,今天和大夥談談這三個角色到底有啥不同。
程式設計師,英文名coder/programmer,大家常自嘲叫碼農的階段。這個角色職責是把需求或產品實現為使用者可用的軟體產品。
此職位為執行級別。另外因為經驗較少,一般需要求助別人,或與別人一起完(ban)成(zhuan)乙個任務。
此階段大概要經歷3年,程式設計師的職責如下:
1、負責公司運營系統的設計與開發工作
2、運營資料處理和分析
高階程式設計師學名工程師。到了這個level,英文名可改叫做engineer或developer。此時你的功力開始增強,這與你平時的積累努力是分不開的,祝賀你~
此時的你不僅可以完成任務,開始注重**的質量,能夠寫出工業級的**。
你的經驗可勝任模組級的系統設計,承擔完成較為複雜的技術,能有效的自我管理,有幫助別人快速解決問題(trouble shooting)的能力。
此階段你需要經歷到7、8年左右的體驗,中間要經歷一段深刻自我歷練的過程。
有時給人致命一擊其實是心裡的小蟊賊。一般人在5年前後遇到乙個門檻,碰到天花板+彷徨期,或者你打心眼裡不在喜歡程式設計,可嘗試轉為其它角色,如產品經理,售前售後支援等崗位,也不失為好選擇。
當我們熬過這段兒,就會「山隨平野盡,江入大荒流「,漸入佳境矣。
高階程式設計師定義軟體功能、做開發計畫推進和管理。可以帶幾個個幫手把產品規劃的功能實現,你是團隊中的」大手「,遇到難題也是你親自攻艱克難。
所以,乙個高階程式設計師,他的職責很清晰:
1、負責產品核心複雜功能的方案設計、編碼實現
2、負責疑難bug分析診斷、攻關解決
到了架構師級別,想必你已經學會降龍十八掌,可登堂入世,成為一位準(lao)專(you)家(tiao)。
我們大喊聲:「單打獨鬥,老衲誰也不懼!「,遂開始領導一眾技術高手,指點武功,來設計和完成乙個系統,大多是分布式,高併發的系統架構平台。
架構師的任務是為公司產品的業務問題提供高質量技術解決方案。可能每條產品線都設定了架構師,也可能多條生產品線的的後端是由乙個架構師設計的平台提供。
通過上面架構師的部分成果,總結其職責如下:
1、需求分析:「知彼」有時比「知已」還重要。管理市場,產品等的需求,確立關鍵需求。堅持技術上的優秀與需求的願景統一,提公升技術負債意識,提供技術選項,風險預判,工期等解決方案。
2、架構設計:在產品功能中抽取中非功能的需求,由關鍵需求變成概念型架構。列出功能樹,分層治之,如使用者介面層、系統互動層,資料管理層。達成高擴充套件,高可用,高效能,高安全,易運維,易部署,易接入等能力。
3、功能設計與實現:對架構設計的底層**級別實現。如公共核心類,介面實現,應用發現規則、介面變更等。
人生就是不斷上公升的過程,你已經到達經理的層次了。如今的你,需要不斷提高領導力,需要定期召開團隊會議討論問題。
首先我們要更加自信,在工作中顯示自己的功力,給講話增添力量。如:「本次專案雖然有很大的困難,我們也需苦戰到底。當然示先垂範,身先士卒,方能成功!」
你需要和大家站在一起,因為人們也都有解決問題的能力,更需要有以下的能力與責任:
1、任務管理:開發工作量評估、定立開發流程、分配和追蹤開發任務
2、質量管理:**review、開發風險判斷/報告/協調解決
3、效率提公升:**底層研發和培訓、最佳**實踐規範總結與推廣、自動化生產工具、自動化部署工具
4、技術能力提公升:招聘面試、試題主擬、新人指導、專案覆盤與改進
如果乙個研發團隊超過20人,有多條產品線或業務量很大,這時已經有多個技術經理在負責每個業務,這時需要一位技術總監。
技術總監的職責:
1、組建平台研發部,與架構師共建軟體公共平台,方便各條產品業務線研發。
2、通過技術平台、通過高一層的職權,管理和協調公司各個部門與本部門各條線。現在每個產品線都應該有合格的技術經理和高階程式設計師。
首席技術官,英文名chief technology officer。是與ceo、coo、cfo同級的領導者,是技術和業務融合的領袖。
國內與國外對cto的定義有些許不同。
美國對cto的職責是設計公司三年內的產品和服務的技術發展方向,較少參與技術團隊的日常管理和專案管理事務。基本是前瞻性的策略思維,比如google的謝爾蓋.布林一直保持對技術方向的敏銳,比如無人駕駛汽車,人工智慧等走向。
在國內,cto大部分則偏重於研發管理,相當於技術總監的plus版。它相當於美國網際網路公司常設的工程師副總裁+cto的工作並集。但總體事情比美國的cto層次低,大部分cto的是領導技術團隊開發各類產品,解決技術問題,管理不同的專案,排期交付。還有一部分的職能類似於架構師或總工程師,作為技術側的權威,為下一步的發展方向 做研究**,為ceo提供建設型決定參考。
cto的職責如下列表:
上面為大家描繪網際網路技術團隊的角色區分,我們一起來做乙個小結:
cto做的事情,是商業、產品、技術、管理、團隊相平衡的綜合統管,公司的技術研發方向與重點商業化的結果負責,激勵員工,營造工程師文化。
而技術總監主要是協調團隊內部各個資源,引入工具,和方法提公升工作效率。
技術經理角色相對具體,績效考核,產品落地,執行優勝劣汰的規則。
正像《少有人走的路》,每個人的成長路徑都不同,但無一不是興趣與使命驅動——無論你是程式設計師,技術經理,還是在cto的角色。大家一起發揮潛力,去迎接不期而遇的挑戰與勝利後的曼妙風光。
分享是一種美德:)
程式設計師成長之路
和同行溝通 了解最新潮流 跟蹤相關的業界變化 和人分享你的經驗和作品 1.最基礎的,卻是最重要的 c語言編譯原理 資料結構與演算法 計算理論 數學 英語 2.模仿大師 追隨大師 多看大師的設計 實現 想象下自己如何做 要認真 模仿直到你看起來像大師 3.養成優秀的 風格 命名規範 對齊方式。k rl...
談談程式設計師成長
本篇文章主要側重的是程式設計師的硬技能方面的,不涉及軟技能。綜合上述的幾個原因,我認為對於大部分人來說,要想成為技術大牛,首先還是要明白 主要靠自己 這個道理,適當的時候可以通過請教大牛或者和大牛 來提公升自己,但大部分時間還是自己系統性 有針對性的提公升。有人認為寫業務 一樣可以很牛逼,理由是業務...
程式設計師成長路線
圖書封面 我的程式設計師成長之路 程式設計師的成長經歷往往很相似,大部分的人走過了最前面相同的一段路,而有的人則走得更遠。總結自己這些年來的歷程,這也許能讓年輕的程式設計師少走一些彎路,成長得更快 或許更好一些,能讓大家從中得到一些啟發,早日進入優秀程式設計師的階段,實現夢想,釋放激情。第一階段,最...