程序员的技术人生
文章目錄
- 第一階段,高級程序員
- 第二階段,技術經理
- 第三階段,技術總監
- 第四階段,架構師
- 第五階段,CTO
人們常常把 CTO、架構師、技術經理的頭銜,亂授予技術負責人。在國內這種現象尤其嚴重。
比如,一個初創公司的技術負責人,實際干的活就是個技術經理。老板為了顯得高大上,硬要給他安一個 CTO 的頭銜。這種情況很普遍,特別是全民創業的那幾年,遍地都是 CTO。
為了說清楚技術負責人的職責,我們以一個電商公司的成長為例,講解企業在初創期、發展期、成熟期的不同階段,都需要什么樣的技術負責人,以及他們具體都干些什么。
第一階段,高級程序員
實現復雜功能,解決技術難題
一個剛剛起步的創業公司,通常只有幾個程序員,甚至連產品經理、項目經理都沒有,老板自己就是產品經理,把想法跟開發人員一說,就快速地做出原型。
如果這個階段對開發的能力不滿,那么大概需要的只是一個高級開發人員,他能搞定一般的技術難題,實現復雜功能,思路清晰、干活利索。千萬不要去大廠挖個技術總監,你家廟太小,供不起這么大的神,他真來了也發揮不了應有的作用。
老讀者知道,老K有過一段創業經歷,當時追隨我的老領導出來創業,我就是名義上的 CTO,帶了 7、8 人的團隊,我還同時帶了兩個項目,每個項目里我都貢獻了 30%以上的代碼量。其實,當時的我,就是個高級程序員而已。
小結一下,高級程序員的主要職責是:
1,實現復雜功能,編寫核心代碼;
2,處理線上 bug,解決技術難題。
第二階段,技術經理
交付效率提高、質量提升
當公司的業務發展起來后,就需要一支相對完善的技術團隊,有了專職產品經理、測試人員等,團隊規模在 15 人左右,專注于一條產品線。
復雜功能、技術難題,高級開發人員可以搞定,但是如果要解決開發團隊效率、技術人員能力提升、代碼質量和編碼規范等,就需要技術經理了。技術經理通常寫少量的代碼,更多做技術管理、項目團隊等工作。
這就是許多創業公司 A 輪融資前的情況。由技術經理總體負責技術團隊,產品經理對接業務需求,做產品規劃、競品分析,而不是抄襲哪個 App。
小結一下,技術經理的職責是:
1、開發任務分派。開發工作量評估、分派,最大化資源利用率;
2、代碼質量提升。Code Review、編碼規范、線上 bug 分析;
3、項目管理。確保項目的按時交付,建立管理機制;
4、團隊管理。團隊搭建、人員招聘、人員培養。
第三階段,技術總監
技術規劃、多產品線、項目群管理
當技術團隊發展到 30 人左右,有了多條核心產品線、有了多個技術經理時,就需要一個技術總監了。
技術總監,作為領域專家,站在更高的層面思考技術如何建立壁壘,構建技術競爭力。逐步開始建立公共技術平臺,協調多條產品線在統一的技術平臺上快速迭代,讓產品線跑得快、跑得穩。
技術總監,在領域內有多年沉淀,來自知名互聯網企業,能夠把技術團隊帶上一個新的臺階。技術總監,更多是做技術判斷了,也有些技術型的技術總監仍然會寫些核心代碼、做架構設計。
技術總監的職責:
1、搭建公司技術平臺部,統一技術棧;
2、建立產品研發體系,讓技術團隊可持續性地快速交付;
3、管理和協調多條產品線,打造明星產品;
4、建立技術壁壘,形成技術競爭力;
第四階段,架構師
架構設計、架構實現、架構評審
公司如果“跑到”了 B 輪,技術團隊應該要接近百人了,此時的技術團隊跟初創時期相比,已經很不錯了。
有技術總監協調著各產品線,有開發經理帶領技術團隊快速迭代產品。代碼規范、最佳實踐的總結和推廣也在逐步開展。
此時,需要把架構規劃和架構評審的職能從技術總監和開發經理身上剝離,即分離專業崗和管理崗,專業人做專業事。
這時候就需要設立架構師崗位,專注于技術架構分析、架構設計、架構實現、推動重構、推行架構原則等工作,讓技術總監和技術經理側重在項目管理、團隊管理。
架構師的職責是:
1、業務架構設計和實現。根據業務規劃和應用場景,設計切合當前業務要求,并且具備一定前瞻性的應用架構、類、接口、業務抽象及業務建模等。
2、架構設計和實現。識別非功能性需求,如性能、可擴展性、安全性、高可用及易部署等。
3、重構計劃及執行。關注全鏈路監控數據、線上 bug、系統預警等信息,識別架構缺陷,提出重構建議并推動執行。
第五階段,CTO
技術產品戰略規劃,提升技術競爭力
當技術團隊有了幾名總監、架構師,人數達到幾百人,是時候引入真正意義上的 CTO 了,除非 CTO 是聯合創始人,否則這個 CTO 會有“虎落平陽”的感覺,公司也會覺得這個人“滿嘴跑火車,卻落不了地”。
國內的中大型互聯網公司,一般有產品 VP 和技術 VP,有的技術 VP 就是 CTO。如果 CTO 統管技術和產品,那么產品 VP 就給 CTO 匯報,否則他們是平級的。
在國外,CTO 主要研究 3~5 年的技術發展趨勢,為公司做中長期的技術規劃,是具有行業影響力的技術大咖,公司技術領域的精神領袖。CTO 較少關注當下的具體事務,這類工作主要由工程副總裁們處理。
以國內互聯網公司 CTO 為例,總結一下 CTO 的主要職責:
1、技術賦能商業。敏銳的商業洞察、深入的產業研究、參與公司戰略規劃,技術引領業務增長,通過技術和產品實現戰略落地。
2、技術趨勢研究。思考未來 3~5 年的技術發展趨勢,以及新技術發展給企業帶來的機遇和風險,為企業提前布局。
3、技術治理體系。持續的過程改進、高效的研發流程、穩定的交付質量、高可用的系統。
4、組織與文化。建設學習型組織、自我完善型組織,建立符合企業特色的文化氛圍。
總結
- 上一篇: 电脑upc是什么(UPC电脑)
- 下一篇: RPM 软件包命名规范