一、高階程式設計師
如果你是一個剛剛創業的公司,公司沒有專職產品經理和專案經理,你就是公司的產品經理,你如果對你現在的開發員能力不滿,那麼你只需要的是一個高階程式設計師。
你定義功能、你做計劃推進和管理,他可以帶1-2個副手把你規劃的功能實現了,他是主力幹活者,有技術難題也是他來親自攻克解決。
所以,一個高階程式設計師,他的職責很清晰:
1、負責核心複雜功能的實現方案設計、編碼實現
2、負責疑難BUG分析診斷、攻關解決
二、研發Leader
公司再長大些。如果你就有一個研發團隊(含產品/開發/測試),你就一套主產品,而且你的研發團隊小於15人,那麼你需要的就是一個研發Leader。
因為你已經有了1-2個高階程式設計師,核心難題攻克和核心功能研發進度與質量保證,已經可以靠他們自身能力解決掉了。那麼你需要研發Leader幹什麼。
研發Leader的職責是:
1、團隊任務管理:開發工作量評估、開發任務分配
2、團隊生產質量提升:程式碼稽核、開發風險識別/報告/協調解決
3、團隊生產力提升:程式碼模板研發與推廣、最佳實踐規範總結與推廣、自動化研發生產工具研發與推廣
4、團隊專業力提升:招聘面試、新人指導、領導覆盤總結改進
三、技術總監
如果你的研發團隊超過20人了,而且有多套主打產品線了,你可能已經有了多個研發Leader了,那麼你需要一個技術總監。
技術總監的職責:
1、組建平臺研發部,搭建公共技術平臺,方便上面各條產品線開發。
2、通過技術平臺、通過高一層的職權,管理和協調各個產品線組。現在每個產品線都應該有合格的研發Leader和高階程式設計師了。
四、首席架構師
因為你已經有了技術總監了,所以技術平臺不錯了。技術平臺和各條產品線的協調互動,也是技術總監管著。
因為你已經有了各個產品線的高階程式設計師,他們在靠個人能力維持著核心功能模組的開發進度和程式碼質量。
因為你已經有了研發Leader,所以程式碼模板研發與推廣、最佳實踐規範總結與推廣,這些事都已經在日常按份內職責開展了。
那麼,啥時候需要首席架構師啊。
也就是說,需要分離管理族和專業族了。你會發現,這個階段你的研發團隊已經超過100來人了,需要有人專注來做架構規劃、設計、日常維護。不能讓研發總監和研發Leader又做管理又做技術一股腦都扔給他們,你就等著總結果產出。這是不對的。
需要從技術總監和研發Leader身上剝離職責了。讓技術總監和研發Leader偏專案管理(管理族),把各個模組之間的架構設計工作,獨立出一個崗位,就是架構師,來負責。
每個產品線都有架構師,在技術平臺部門也有技術平臺的架構師。那麼,技術平臺和業務產品線的架構互動,就是首席架構師在銜接了。讓技術平臺架構能夠和產品業務系統的架構互相促進和支撐,就是首席架構師的份內之事。
架構師的職責是:
1、架構分析:從功能性需求中識別出需要增加的非功能性需求,好滿足效能、可擴充套件、解耦/整合、安全、可運維、高可用、易部署、易更新。並且識別完非功能型需求,還要做技術選型、技術架構風險識別、技術實現工作量評估
2、架構設計與實現:非功能性模組的架構設計、介面設計、程式碼實現。所以需要的是有程式碼實現能力還要有架構思維的工程師,不需要畫PPT的工程師
3、業務架構設計與實現:需要對跨系統的介面進行識別、實現、維護,需要對能寫成公共程式碼類庫的進行分析、識別、介面設計、實現、變更維護。
4、重構:架構師需要經常做Bug分析、非模板性和公共類庫程式碼檢查,以發現程式碼腐爛程度,以發現還有哪些程式碼沒有做很好的架構與精心的程式碼設計。所以重構是經常性維護髮生的,不是攢到某一刻動大手術,甚至推翻重做,那就不叫重構了。
五、CTO
你把架構師團隊組織建立完成,再往大長,你才需要真正意義上的CTO了。否則你一開始就招真正的CTO,他也不滿意,你的期望也不對。現在你的期望也對了,他的能力模型也正好和你的期望職能匹配了,你能給他的和他想要的也正好匹配了。
有的公司有軟體系統產品副總裁,也有軟體系統技術副總裁,而且把軟體系統技術副總裁叫CTO,軟體系統產品副總裁叫產品VP。這就很怪異。
真正的CTO,是軟體產品和技術是統一管理的。
他做的事情,是商業、產品、技術、管理、團隊相平衡的綜合統管。
CTO的職責:
1、業績達成:洞察客戶需求,捕捉商業機會,規劃技術產品,通過技術產品領導業務增長,有清晰的戰略規劃、主攻方向,帶領團隊實現組織目標
2、前沿與平臺:到這個研發規模規模級別了,一定要有專門的團隊做技術應用創新探索和前沿技術預研。而且要和技術平臺團隊、應用研發團隊形成很好的聯動作用,讓創新原型試點能夠很平滑的融入商業平臺再讓應用研發線規模化的使用起來。大量的前沿探索都死在了內部,做完試點就停滯了,這就需要CTO做好整體的銜接推動工作。
3、研發過程管理:站在全域性立場來端到端改進業務流程,為業務增長提供方便
4、組織與人才建設:公司文化和價值觀的傳承;研發專業族團隊梯隊建制建設、研發管理族團隊梯隊建制建設;建立創新激發機制,激發研發人創新向前發展,激發黑馬人脫穎而出