程序员职业生涯会经历哪些角色呢?
作为一名程序员必须要知道自己目前处于职业生涯的哪些阶段,提前规划自己的职业生涯,并朝着那个方向去努力。
技术总监能力模型
对于技术总监来讲,要有比较强的技术基础实力和人员管理能力,主要是要能把事情完成和落地,对于小公司来讲,如果最高职位是技术总监,那么就需要技术肌肉矩阵全面的,对于大公司,技术总监意味着单项技术肌肉比较强。无论公司大小,总监级别一般都会汇报给某个业务线 VP 或者技术线 VP/CTO,因为他不是对最终结果负责的人。同样,领导力和体系搭建能力就没有那么强,对于文化构造能力更要弱一些,因为这个层级并不需要这些能力。
技术 VP 能力模型
技术 VP 和总监最大的差异在于体系搭建能力的增强,每一个 VP 会有一个或者多个总监来支撑,建立一套体系让技术研发高效的运转起来,体系搭建的能力甚至要高于 CTO,因为他是 CTO 的大内总管。而技术实力略强于总监,领导力,文化构造能力也有所提高。VP 和 CTO 的最大差异是是否可以对技术的最终结果负责,不仅仅是技术本身、而是在财务、战略方向上是否具有决策力,这是副手和正手之间的差距。在很多时候拍板很难,因为 CTO 很多时候不管是不是由你直接造成的,你都要承担所有的后果。所以技术 VP 一般不会直接汇报给 CEO,因为 CEO 眼里只有 0 和 1,不会接受任何理由。同时,公司外部文化和内部文化的构造能力也是 VP 和 CTO 的差异之一。
首席架构师能力模型
首席架构师应该是在公司里技术最全面最强的一个人,技术肌肉和公司整个技术最匹配的人员。经常有人会把首席架构师能力模型和 CTO 能力模型搞混,首席架构师可以是 Geek 一样的人物,因为他不对商业的最终结果负责,但是对技术整体架构、前瞻性,技术本身体系负责。因此,首席架构经常会把方案汇报给技术 VP/CTO 供选择,不会最终拍板。首席架构师的技术非常厉害,领导力和文化构造能力就会相对较弱一些。
CTO 能力模型
CTO 是能力矩阵里最均衡的一个,突出的能力是领导力和文化构造能力,而不是技术实力。公司小的时候,CTO 可能是公司中技术最强的那个人,但是 CTO 必须要有能力构建一个文化和体系,迅速能让比自己技术牛的人、体系搭建能力比自己强的人融入到公司,才可以让自己到更高层次上来做决策。CTO 要把控和技术相关的布局节奏、商业结果、公司战略、人才策略,并翻译成其他合伙人可以听懂的语言,来做“成”事。
CTO 的技术肌肉通常要全身匀称的,因为他是公司里的技术肌肉教练,他可以肌肉不强大,但是要知道找什么样的技术肌肉团队来满足公司的需要,在赛场上赢球。同样,如果 CTO 只对技术着迷而对于 CEO 的融资策略、战略决策、业务布局,COO/CFO 的公司运营、财务运作没有有效建议并对结果负责的话,CTO 也很难成为公司 CEO、COO、CTO 三个重要 O 级别人物之一。所以,最终的管理的道理是相通的,如果你选择了 CTO 作为你的职业路径的话,其实你已经放弃了你是公司技术最强的那个人的成长路径。
架构师能力模型
架构师属于一线技术人才,需要具备如下能力:
架构师对下要对工程师和产品经理负责,对上要对研发经理、技术总监甚至CTO负责,架构师是一块比较有挑战性的职位,很多人一辈子就干架构师这一个角色。
研发经理能力模型
研发经理属于中层技术领导,到这个层次,基本都是公司部门核心人物,对部门业务是最熟悉的,但也与不是技术最牛的人,需要具备如下能力:
研发经理一般会对项目经理、项目总监以及产品经理和产品总监负责,会对技术总监直接负责。
技术专家能力模型
技术专家一般属于团队内部某一个领域技术的引领者,在技术方面具备绝对的权威,技术领导力极强,需要具备如下能力:
一线TL
一线TL基本属于比较小的组长或者技术主管,需要具备如下能力:
工程师
工程师基本就属于一线的码农了,需要具备的能力:
游侠-一名对技术、管理、业务、架构融合之道孜孜不倦的高级码农
如何融合技术、管理、业务和架构?
大家怎么看待这个问题?