叶亚明,携程旅行网CTO & 高级技术副总裁,负责携程的移动、Online、呼叫中心等的技术架构、开发及运营。在加入携程之前,叶亚明是ebay.com技术平台总监,领导ebay.com几代网站的架构和平台升级。他在美国加州硅谷拥有超过15年的互联网工作经验,曾经任职ebay、yahoo和 startup等。
在携程5年间经历了很多事情,我把这些归纳了一下,今天分享给大家,希望引起一些共鸣。
什么是技术领导力?
可以用一句话来概括CTO的技术领导力,就是“带领团队快速响应业务,并支持业务10X增速的综合能力”。
主要有三点:第一,要快速响应业务;第二,要搭好10X增速的架构;第三,对内对外要树立技术品牌。做到这三点的话,作为一个技术领导人,会比较踏实。
首先我想框定一下今天所讲的CTO范围,这里的“CTO”或者说技术领导人,不是指大型企业或集团的CTO,而是企业某业务部门的技术领导人,也可以是小微企业技术领导人,或者单一业务的初创型企业技术领导人,这个领导人要对产品的研发、设计、运营全面负责。
关于CTO的基本能力——树立团队技术愿景、组建高效技术团队、带领团队交付项目,实现业务需求,这些大家听过很多了,这不是我今天讲的重点。今天讲的内容是结合我的经历提炼出来的,和大家分享一下。
为什么提出六要素?
过去四年携程变化非常快,现有业务倍速增长,16个全新业务要发展,外部竞争形势严峻,业务要求研发提升响应速度,而团队缺乏独当一面的干将。这样的情况下,带领团队的业务压力很大,技术压力也不小。只要你当过技术领导,那么你对这样的场景不会陌生。
我们提出合格CTO的六要素,当时是用来作为外部招募和内部人才培养的标准,让他们拓宽思路,学习如何在实践中应用。
要素1:技术问题的解决能力
作为技术领导者,你会面临很多技术问题。业务发展了以后,过去的一些技术瓶颈,都会变成问题。在这种情况下,对技术领导者有较大的考验,一个是时间紧迫,要快速解决问题,还有就是你要指明方向,带领团队共同前进。
举一个例子,酒店是携程的主营业务,过去酒店数据库服务器承受不了访问的压力怎么办?我们想了一个办法,数据库读写分离,真正读占80%,写的话,20%都不到,读写分离之后,性能提升了6倍。如果没有这个决策,这个问题就会成为业务快速增长的障碍。
要素2:具备强烈“还债”意识
几乎所有的互联网公司都会遇到技术债,技术债是潜在的,当业务发展到某个阶段时一定会爆发,有技术债怎么办?除了能够“发现”债的存在,还要适时“还债”,作为技术领导要有这种前瞻性。
比如,不同的业务架构的耦合问题。两个业务或服务本来应该没有关系,如果耦合在一起,时间长了就会变得非常复杂。业务之间的数据耦合也没有必要,应该隔离起来,还可以做到安全。
再比如登录问题,如果每个业务搞一套自己的登录系统,会非常危险。因为登录对安全的要求非常高,如果出现漏洞,后果就很严重。登录不仅需要从架构角度考虑,还要从安全的角度考虑,看有没有做到很好的统一。因为这种债现在不还,以后也得还,并且成本更高!
还有测试环境,当时携程扩展了16个新业务,每周要发布许多的项目,如果还用之前的测试环境是远远不够的。2011年我们就开始部署针对移动研发的测试环境,但一直是小打小闹,等到2013年,每一条业务线都在做移动研发的时候,之前的环境已经不能胜任了,需要重新架构、组建。
所以你要能够在问题爆发前发现它,并解决它。
要素3:构建与CEO的良好伙伴关系
作为技术领导,需要跟业务领导紧密配合,成为最佳搭档,建立这样的默契需要一个过程。
首先,技术领导要站在更高的视角思考问题,要从业务负责人或CEO的角度去思考他提的需求是什么,从观念上先调整过来。
其次,作为技术领导,要会平衡产品需求。研发资源有限,你要判断产品需求的优先级,而不是所有的业务需求都接受。可以用二八原则,重点关注能够收获80%产出的那20%项目。
第三,要提高交付满意度。
第四,要有业务洞察力。作为某个业务的技术领导,你应该对这个业务是非常有兴趣的,在业务上要有一些洞察力,如果对业务非常有感觉,那么你跟CEO的交流就会上升一个层次。
要素4:清晰的自我认识
这是一个软技能,你要意识到你自己处于什么样的位置?周围的人跟你的平衡点在哪里?自己的优势和短板在哪里?你需要自省,对自我有一个清晰的认识,这非常重要。
作为技术领导,认识自我还不够,还要认识团队。团队整体技术水平是什么样?团队的短板在哪里?有这样的意识,你就知道在哪个方面应该补强。
举个例子,在携程快速发展时期,我面临的问题是要为新业务配备得力的技术领导人,比如门票、金融等业务。过去几年,携程引进了一些新的技术骨干,他们在某些领域更加专业。另外,你还要意识到团队中的技术欠缺,并确定这个问题是自己解决还是交给别人解决,如果交给别人,你就要去找合适的人进来,这样团队才能不断提升。
要素5:团队人才建设
这个技能说起来简单,做起来还是挺难的,主要有四点:
- 招募培养接班人;
- CTO自身的影响力;
- 你自己的人格经得起别人的挑剔,能不能做到客观公正;
- 你是不是能创造一个优秀的团队文化。
这方面的大道理大家都清楚,如果真正去练习的话,你会发现很多可以提高的地方。我会经常问自己一些这样的问题:
- 你的团队是不是一流团队?这里的一流团队是要跟你的竞争对手去比较,比如携程是跟国际的OTA公司进行比较。
- 谁是你团队的一流人才?
- 一流员工加入和流失的原因?
- 一流员工的离开是否对团队产生根本的影响?
这些问题跟上面所说四点有非常大的关系。
要素6:给工作注入新的东西
作为一个技术领导,如果你经常为整个业务或者团队带来新的东西或思路,与公司授予你的权力相结合,那么推进起来会非常快。虽然自下而上的创新也可以成功,但是根据经验和中国互联网过去的发展,从上到下去推动改变会更快一些。
首先,要引入领先的技术和技术管理模式。看看技术上有什么样的欠缺,需要引进哪些新的技术。还有就是技术管理,携程通过管理使团队拥有强执行力,甚至达到“军事化”的产品交付能力。
其次,不光引进,还要带来改变。你所带来的改变,能让你的领导、同行、下属都认识到,价值就体现出来了。
第三是创新。举一个例子,关于携程大数据的落地。2012年,那时候是没有大数据的,我们只有小数据,如何让这套大数据系统落地呢?这些新技术的引入都应该是技术领导去推动的,而不是等着工程师来推动。
再举个例子,APP包大小的问题很多人都碰到过,因为携程的旅游业务比较完整,包大小的控制难度会比较大。在iOS上,超过100M的APP,非WIFI环境下会弹出一个框不让下载。我们做了测试,了解这个会影响多少用户,带来多少业务损失,最后想了很多招,把这个问题解决掉了。
最后是交流和分享。之前携程的技术分享氛围比较弱,我们就发起了很多分享活动,一群有兴趣的人每周都会进行交流。携程也会主办一些活动,也会参加其他组织办的活动,比如InfoQ举办的QCon大会,我自己也参加过几次。
总结
我上面讲的这些内容,可能大家会有一些共鸣。哪怕能让你有一点或两点改变,可以对你产生一些影响,今天这个演讲就值得了。需要强调的是,今天我只是提供了一个思考框架,要做到熟练应用,还得靠自己多练习。
对话叶亚明
嘉宾主持:王勇睿,百融金服合伙人、互联网事业部总经理
王勇睿:您怎么看待携程以及携程技术团队的改变?
叶亚明:可以从几方面来讲:
大家能感觉到的首先是携程的改变,携程从呼叫中心为主的业务转变到移动互联网,这是一个比较成功的例子。这个成功一方面是抓住了移动互联网爆发的机遇,同时技术团队与时俱进,通过创新和管理提高效率,与业务密切配合,使整个业务线成功完成往移动互联网方向的转型。
第二个改变是团队基因,我们在团队中倡导工程师文化,改变技术氛围,为团队注入更多的互联网基因,整个团队有了一种使命感,这方面的转变也比较成功。
第三个引进了一些新的理念,比如移动优先、用户费力度、云计算、大数据、10X架构等。
第四个,对业务的快速响应,我们无条件要求技术团队快速响应,快速交付,在此基础上还要支撑业务的高速发展。
回过头来看这些变化,挺为团队感到骄傲的。
王勇睿:携程的业务发展这么快,技术团队肯定也要一起跑得快,技术和业务之间是如何平衡的?
叶亚明:平衡技术和业务之间的关系,在满足业务需求的同时,合理调配技术资源,每个公司都会碰到这样的问题。
携程的技术团队采用了一个分布式的技术组织架构,在这个架构中,各个业务线跟技术线是一个整体,把它作为一个BU,开发、测试、运营人员的开销是落在这个业务线里面的,最后成本跟产出也是属于业务线的,这样就解决了很多问题。
还有一块是公共技术,虽然这些技术不直接面对业务需求,但是要为业务的开发工作承担公共基础设施的建设,像大数据、框架、安全、风控、账号之类。
剩下的是要有评判能力,这个项目是不是真的值得做,比如携程之前火车票和酒店打包一起卖,不是很有效,直到最近作出了一些初见成效的尝试,这时候就值得投入资源。
通过CTO的评判能力,开发资源能做到20%的项目产出80%的价值,做出这个平衡意义就非常大。
总结一下,我的回答主要有两点,一个是要有合理的组织结构,还有一个是作为CTO需要有评判的能力,这两点做到的话,大部分问题会解决得比较好。
王勇睿:您刚才分享中提到培养接班人,该如何去找这个接班人呢?
叶亚明:这件事情携程已经在做了,我自己或者下属的人,大家都要培养接班人,我一年前做了一个“接班人计划”,列出了每个岗位上的候选人是谁,候选人也可以不止一个。
做了这个计划以后会发现有两个问题,一个是这个团队有没有接班人,第二是如果已经有接班人,那么什么时候可以接班。有些团队缺接班人,就可以从外面引进。建立起这样一个透明机制,是技术领导都要做的事情。
参会者提问:叶总您好,您刚才说把技术团队的成员放在业务的BU里面,那么绩效是如何考核的?怎么保证业务团队的整体性?
叶亚明:这个问题很好,私下里被很多CTO都问到过,携程有一套技术考核体系,这个体系也是过去两年提炼出来的,还是可以做到相对客观透明的。我讲几个关键点,一个是技术人员有一个考评机制,来给他们打分。还有一个述职机制,每半年一次,大家评分,按照评分的结果决定是否升迁。
技术领导在业务线上的考核方面,首先是这个业务的CEO,他有很大的发言权,技术团队在你的带领下做得好不好,决定了他的业绩,同时,我也会比较仔细的去考评他这一方面的内容。业务线CTO下面技术团队的考评,由业务线CTO自己来做。这样做完了以后整个体系就出来了。