聊聊科技公司CTO(技术总监)的日常

253 阅读6分钟

      最近看到网友们在热议公司的技术总监平常都在忙些啥,有的同学说他们公司的CTO基本上很难见到人,除了开跨部门会议、给新员工介绍公司之外,其他时间都不知道他在办公室里做些什么事情;还有的同学则说他们公司的CTO忙得跟狗一样,什么事都亲力亲为深入一线冲锋陷阵,不仅跟产品讨论需求,还跟开发设计架构,甚至还亲自码代码......大家们各说纷纭,其实我想说公司CTO(技术总监)日常都在忙些啥,跟他在不同的公司,以及所在公司处于不同的发展阶段都密切相关,下面我以自己的个人经历跟大家分享一下这个话题。

      都说不想当将军的士兵不是好士兵,而不想当CTO的程序员不是好程序员,我2006年参加工作也梦想着有一天能够当上公司的技术总监,虽然很遥远,但我确实是这么想的,不是有句话说梦想是要有的,万一实现了呢。直到2017年我终于从程序员蜕变成技术总监,花了整整十年时间,事实证明职场从来就没有什么捷径可走,唯有努力工作和不懈坚持才能获得成功的可能性,毕竟努力只能算及格,拼命才能优秀

      都说新官上任三把火,作为公司的CTO,我当时最迫切想解决的问题是组织激活,我深刻认识到当时的组织架构已经严重掣肘了公司业务的发展,强矩阵式项目制组织模式已经在公司运行多年,随着公司业务多元化发展和全国范围推广布局,此种组织模式存在诸多弊端,首先各个项目经理都在报人力不够资源不足,其次一些同类型业务的项目都是各干各的没有任何复用,还有因为缺乏技术管控重复造轮子时有发生。要知道当时光我们研发人员就已经接近两百人,但还在报人力不足,很明显肯定是组织模式上出了大问题,研发能效没有得到充分发挥。在公司领导的大力支持下,我带领研发团队顺利完成了一次组织重构,从强矩阵式项目制组织模式演进到分工明确职责清晰的职能型组织模式,其重点主要是解决人力复用和业务抽象的问题。

      举这个例子我想表达的意思是,作为公司CTO,推动组织激活和组织重构使得整个研发团队朝着共同的目标高效协作是首要工作,是重中之重,这是CTO思维之一,在后续工作中随着公司的不断发展壮大,我还主导了几次组织变革,在这里就不细讲,有兴趣的同学可以看看我之前发表的 “打破常规之组织激活” 文章。组织变革不是一项简单的工作,而是一个系统性工程,需要赢得公司的支持,团队的配合,大家的磨合才能取得成效。

      经过组织的变革我们对齐了大家的目标,并且设定了一套制度和流程来驱动大家竞争、合作、突破,并最终共赢。看似完美,但实际上还忽略了一个根本性问题,那就是选择什么的人放在什么样的岗位上,若没有合适的人才再完美的组织架构也是空中楼阁,所以选人和用人也是CTO思维之一,可以说我有三分之一的时间和精力是在物色合适的人才。正所谓一个篱笆三个桩,一个好汉三个帮,对于管理一个接近200号人的研发团队要是没有几个好帮手,那是非常困难的。选人其实就是选心腹,首先要符合公司的文化价值观,其次要认同我的执政理念,还有要有过硬的业务技术能力,可以是从内部挖掘,也可以是从外面引进,但从实践经验来看外面引进的代价会比较高,见效会比较慢。

      所以我通常会优先从内部培养和挖掘,毕竟内部的人已经磨合了很久,业务技术能力也很熟,但前提是我得熟悉我们研发内部的人才。一方面以前跟我做过项目的人员我是比较熟悉的,另一方面我还会通过深入的访谈来发现一些人才。对于外面人才如何面试和引进,有兴趣的同学可以读读我之前发表过的 “我是如何面试高级和经理级以上人员的” 文章,总而言之,选对人和用对人是公司CTO非常重要的工作

      组织和人才不是一成不变的,而是一个动态和持续的过程,公司CTO要善于发现组织的漏洞和培养适应发展的人才,在日常工作中要及时作出相应的调整。除了组织和人才,技术总监还有一项重要工作就是构建规范的标准的技术研发体系,所谓工欲善其事必先利其器,这也是CTO思维之一。那么,什么样的技术研发体系才是好的体系呢?这个不能一概而论,也不能一味的追求新潮新技术,而是应该根据用户的需求,研发团队的素质,以及行业发展的趋势等等这些因素来构建公司级的技术研发体系。公司技术研发体系内容有很多,主要不外乎如下这些:

  1. 统一的编码规约(比如:阿里规约)
  2. 统一的开发框架(比如:后端使用微服务、前端使用脚手架)
  3. 一站式的集成和发布平台(比如:容器云、DevOps、监控探针)
  4. 一站式的项目研发平台(比如:Jira、禅道)
  5. 一站式协作共享平台(发布公司级的组件、服务,促进共享,避免重复造轮子)
  6. 研发绩效制度(红线不能触碰、奖罚分明、OKR、KPI)
  7. 研发学院平台(培训、学习、知识库、问答)
  8. 低代码开发平台(表单引擎、流程引擎、报表引擎)

      总结一下,公司的CTO技术总监在大家看来貌似没有参与什么具体的事务,实际上有很多隐性的工作事项并不被大家所知晓,可能一些初创型的公司技术总监更像是一个项目经理或者产品经理,会深入一线跟项目组共同完成项目或者产品的研发交付。而当公司发展到一定阶段之后,CTO已经不再是大家所认知的项目经理和产品经理,而是会退居幕后把工作重心放在如何激活组织,如何物色人才,如何构建研发体系