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