浅谈技术负责人

Posted by 令德湖周杰伦 on 11-19,2020

一、开始

引用一句老话:“脱离业务的技术都是耍流氓”,那么“脱离业务的技术人就是老流氓”。

二、概要

说简单点:技术是为业务做支撑的,我眼中的技术负责人是对相关业务做支撑的第一负责人。对业务支撑的方式有很多种,我总结的有以
下三种方式:

  • 快速响应
  • 做正确的设计
  • 持续优化系统。

每个成功的业务都会经历从无到有、从小到大和从大到超的发展历程,我把他们依次称为从0到1、从1到100和从100到+∞的过程。

三、步骤

首先

从0到1的过程中,快速响应业务需求相比较于做正确的设计和持续优化系统更为重要,因为这个阶段是需要业务快速迭代,来验证是否符合市场,是否能适应市场,这个时候如果技术不能快速的响应业务需求,那么可能业务会死在胎腹中或者被竞争对手打败。同样这个阶段也要考虑到技术层面的可拓展性,做正确且适当的设计是非常考验一个技术负责人的沉淀的,如果设计的过于简单,那么随后阶段会面临大量的重构工作和业务数据的迁移问题,如果设计的过于复杂,那么不利于开发速度和对业务的快速迭代。同样在这个阶段的持续优化也是需要的,只是需要尽量在原先制定的框架下执行,切记优化并不是重构。

其次

从1到100的过程,和上个阶段一样快速响应业务需求也是第一优先级的,这个阶段的特点是在经历了市场的验证后,开始经历快速增长的过程,伴随着业务的增长,系统的复杂性在提高,这时对系统的正确性设计提出更高的要求,将一个系统拆分为各个子系统,拆分的粒度和边界需要明确好(不能过细,也不能过粗),各个子系统的稳定性和可用性是放在第一位考虑的。持续优化系统在这个阶段也是有讲究的,例如将系统设计为微服务,那么伴随的问题是各个服务之间的交互,以及中间件的使用,都会对整个系统带来风险,需要技术负责人来整体把控。

最后

在最后一个阶段,优先要保证线上业务的稳定,在这个背景下,那么快速响应业务需求的优先级就会降为最低,每一次业务上线的影响面和风险都需要评估,所以作为技术负责人每次业务的迭代都需要从影响面和结构面来权衡是否是必要的迭代。也可以理解为"船大难调头"。为了保证这首大船稳健的行驶在大海中,这个时候系统的高稳定和高可用就是做正确的设计,此时作为技术负责人,要知道系统的最高的负载是在什么瓶颈,如果系统超过瓶颈会有什么影响以及应对方式,如果上述这2点都没有考虑,或者本身还存在隐患,那么就按节奏持续优化吧。

四、结语

作为一个技术负责人,要把自己负责的系统看成自己儿子,承担相应的责任。你要关注他快速的成长、对他正确的教育和持续的关爱,才能让他成长为一个巨人,在充满未知且危险的世界里,披荆斩棘,勇往直前。