了解最新公司動態及行業資訊
一、高級程序員
如果你是一家初創公司,公司沒有專職的產品經理和項目經理,你就是公司的產品經理。如果您對自己目前的開發人員能力不滿意,那么您只需要一名高級程序員即可。
你定義功能,你做計劃推廣和管理,他可以帶1-2個副手來實現你計劃的功能,他是主要工人,他會親自解決技術問題。
所以,一個資深的程序員,他的職責很明確:
1、負責核心復雜功能的實現方案設計和編碼實現
2、負責分析診斷疑難bug,解決關鍵問題
二、研發
公司長大了。如果你有一個研發團隊(包括產品/開發/測試),你有一套主打產品,而你的研發團隊不到15人,那么你只需要一個研發團隊。
因為你已經有1-2個資深程序員,核心問題和核心功能的開發進度和質量保證已經可以靠自己的能力解決了。那么你需要開發什么?
研發的職責是:
1、團隊任務管理:開發工作量評估、開發任務分配
2、 團隊生產質量提升:代碼審查、開發風險識別/報告/協調解決
3、 團隊生產力提升:代碼模板開發與推廣、最佳實踐規范總結與推廣、自動化研發與生產工具開發與推廣
4、團隊專業提升:招聘面試、新人指導、領導評審、總結提升
三、技術總監
如果你的研發團隊超過20人,并且你有多個主要產品線,你可能已經有多個研發團隊,那么你需要一個技術總監。
技術總監職責:
1、成立平臺研發部,搭建公共技術平臺,助力上述產品線的發展。
2、通過技術平臺,通過上級權限,管理和協調各個產品線組。現在每個產品線都應該有合格的研發和高級程序員。
四、首席架構師
既然你已經有了技術總監,技術平臺就不錯了。技術平臺與各產品線的協調與互動,也是對技術的總監管。
因為你在每個產品線都已經有資深程序員了,他們都是靠個人能力來維護核心功能模塊的開發進度和代碼質量。
因為你已經有了研發,代碼模板的開發和推廣,最佳實踐規范的總結和推廣,每天都在進行。
那么,什么時候需要首席架構師呢?
也就是說,需要將管理家族和專業家族分開。你會發現,現階段,你的研發團隊有100多人,需要專人負責架構規劃、設計、日常維護。不能讓研發總監和研發都在他們身上做管理和技術,你只能等待總的結果出來。這個不對。
職責需要與技術總監和研發分開。讓技術總監和研發專注于項目管理(管理家族),并為各個模塊之間的架構設計工作分開一個職位,架構師。
每個產品線都有架構師,技術平臺部也有技術平臺架構師。那么,技術平臺與業務產品線的架構交互就是首席架構師之間的連接。讓技術平臺架構和產品業務系統架構相互促進和支持是首席架構師的職責。
建筑師的職責是:
1、架構分析:識別需要從功能性需求中添加的非功能性需求,以滿足性能、可擴展性、解耦/集成、安全性、可操作性、高可用性、易于部署和易于更新。并且在識別出非功能性需求之后,還需要進行技術選型、技術架構風險識別、技術實施工作量評估。
2、架構設計與實現:架構設計、接口設計、非功能模塊的代碼實現。所以,需要的是一個有代碼實現能力和架構思維的工程師it技術公司,一個不需要畫PPT的工程師
3、業務架構設計與實現:需要識別、實現和維護跨系統接口,需要分析、識別、設計、實現和維護可寫入公共代碼庫的變更.
4、重構:架構師需要經常做bug分析、非模板和公共類庫代碼檢查,以發現代碼損壞的程度,發現哪些代碼沒有很好的架構和精心設計。因此,重構會定期發生。如果直到某個時刻才保存下來進行大手術,甚至推翻重做,這不叫重構。
五、首席技術官
你已經完成了架構師團隊的組織,接下來你將需要一個真正的 CTO。否則,你從一開始就聘請了真正的CTO,他不滿意,你的期望也不對。現在你的期望是正確的,他的勝任力模型與你期望的功能相匹配,你能給他的東西與他想要的東西相匹配。
有的公司有軟件系統產品副總裁,軟件系統技術副總裁,軟件系統技術副總裁叫CTO,軟件系統產品副總裁叫產品VP。這很奇怪。
真正的CTO是對軟件產品和技術的統一管理。
他做的是業務、產品、技術、管理、團隊平衡的綜合管理。
首席技術官的職責:
1、績效成就:洞察客戶需求,捕捉商機it技術公司,規劃技術產品,通過技術產品引領業務增長,有明確的戰略規劃、主要方向,帶領團隊實現組織目標
2、前沿與平臺:在這個研發規模水平上,必須有專門的團隊進行技術應用創新探索和前沿技術預研。此外,還需要與技術平臺團隊和應用研發團隊形成良好的聯動,讓創新原型中試順利融入商業平臺,進而實現應用研發線規模化落地。 . 大量前沿探索在內部死亡,在完成試點后就停滯不前,這就需要CTO做好整體對接和推廣工作。
3、研發流程管理:從全球角度端到端改進業務流程,促進業務增長
4、組織與人才建設:企業文化與價值觀的傳承;研發專業團隊梯隊建設、研發管理團隊梯隊建設;建立創新激勵機制,激勵研發人員創新前行,激勵黑馬脫穎而出