叶亚明,携程旅行网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:团队人才建设

这个技能说起来简单,做起来还是挺难的,主要有四点:

  1. 招募培养接班人;
  2. CTO自身的影响力;
  3. 你自己的人格经得起别人的挑剔,能不能做到客观公正;
  4. 你是不是能创造一个优秀的团队文化。

这方面的大道理大家都清楚,如果真正去练习的话,你会发现很多可以提高的地方。我会经常问自己一些这样的问题:

  1. 你的团队是不是一流团队?这里的一流团队是要跟你的竞争对手去比较,比如携程是跟国际的OTA公司进行比较。
  2. 谁是你团队的一流人才?
  3. 一流员工加入和流失的原因?
  4. 一流员工的离开是否对团队产生根本的影响?

这些问题跟上面所说四点有非常大的关系。

要素6:给工作注入新的东西

作为一个技术领导,如果你经常为整个业务或者团队带来新的东西或思路,与公司授予你的权力相结合,那么推进起来会非常快。虽然自下而上的创新也可以成功,但是根据经验和中国互联网过去的发展,从上到下去推动改变会更快一些。

首先,要引入领先的技术和技术管理模式。看看技术上有什么样的欠缺,需要引进哪些新的技术。还有就是技术管理,携程通过管理使团队拥有强执行力,甚至达到“军事化”的产品交付能力。

其次,不光引进,还要带来改变。你所带来的改变,能让你的领导、同行、下属都认识到,价值就体现出来了。

第三是创新。举一个例子,关于携程大数据的落地。2012年,那时候是没有大数据的,我们只有小数据,如何让这套大数据系统落地呢?这些新技术的引入都应该是技术领导去推动的,而不是等着工程师来推动。

再举个例子,APP包大小的问题很多人都碰到过,因为携程的旅游业务比较完整,包大小的控制难度会比较大。在iOS上,超过100M的APP,非WIFI环境下会弹出一个框不让下载。我们做了测试,了解这个会影响多少用户,带来多少业务损失,最后想了很多招,把这个问题解决掉了。

最后是交流和分享。之前携程的技术分享氛围比较弱,我们就发起了很多分享活动,一群有兴趣的人每周都会进行交流。携程也会主办一些活动,也会参加其他组织办的活动,比如InfoQ举办的QCon大会,我自己也参加过几次。

总结

我上面讲的这些内容,可能大家会有一些共鸣。哪怕能让你有一点或两点改变,可以对你产生一些影响,今天这个演讲就值得了。需要强调的是,今天我只是提供了一个思考框架,要做到熟练应用,还得靠自己多练习。

对话叶亚明

嘉宾主持:王勇睿,百融金服合伙人、互联网事业部总经理

王勇睿:您怎么看待携程以及携程技术团队的改变?

叶亚明:可以从几方面来讲:

大家能感觉到的首先是携程的改变,携程从呼叫中心为主的业务转变到移动互联网,这是一个比较成功的例子。这个成功一方面是抓住了移动互联网爆发的机遇,同时技术团队与时俱进,通过创新和管理提高效率,与业务密切配合,使整个业务线成功完成往移动互联网方向的转型。

第二个改变是团队基因,我们在团队中倡导工程师文化,改变技术氛围,为团队注入更多的互联网基因,整个团队有了一种使命感,这方面的转变也比较成功。

第三个引进了一些新的理念,比如移动优先、用户费力度、云计算、大数据、10X架构等。

第四个,对业务的快速响应,我们无条件要求技术团队快速响应,快速交付,在此基础上还要支撑业务的高速发展。

回过头来看这些变化,挺为团队感到骄傲的。

王勇睿:携程的业务发展这么快,技术团队肯定也要一起跑得快,技术和业务之间是如何平衡的?

叶亚明:平衡技术和业务之间的关系,在满足业务需求的同时,合理调配技术资源,每个公司都会碰到这样的问题。

携程的技术团队采用了一个分布式的技术组织架构,在这个架构中,各个业务线跟技术线是一个整体,把它作为一个BU,开发、测试、运营人员的开销是落在这个业务线里面的,最后成本跟产出也是属于业务线的,这样就解决了很多问题。

还有一块是公共技术,虽然这些技术不直接面对业务需求,但是要为业务的开发工作承担公共基础设施的建设,像大数据、框架、安全、风控、账号之类。

剩下的是要有评判能力,这个项目是不是真的值得做,比如携程之前火车票和酒店打包一起卖,不是很有效,直到最近作出了一些初见成效的尝试,这时候就值得投入资源。

通过CTO的评判能力,开发资源能做到20%的项目产出80%的价值,做出这个平衡意义就非常大。

总结一下,我的回答主要有两点,一个是要有合理的组织结构,还有一个是作为CTO需要有评判的能力,这两点做到的话,大部分问题会解决得比较好。

王勇睿:您刚才分享中提到培养接班人,该如何去找这个接班人呢?

叶亚明:这件事情携程已经在做了,我自己或者下属的人,大家都要培养接班人,我一年前做了一个“接班人计划”,列出了每个岗位上的候选人是谁,候选人也可以不止一个。

做了这个计划以后会发现有两个问题,一个是这个团队有没有接班人,第二是如果已经有接班人,那么什么时候可以接班。有些团队缺接班人,就可以从外面引进。建立起这样一个透明机制,是技术领导都要做的事情。

参会者提问:叶总您好,您刚才说把技术团队的成员放在业务的BU里面,那么绩效是如何考核的?怎么保证业务团队的整体性?

叶亚明:这个问题很好,私下里被很多CTO都问到过,携程有一套技术考核体系,这个体系也是过去两年提炼出来的,还是可以做到相对客观透明的。我讲几个关键点,一个是技术人员有一个考评机制,来给他们打分。还有一个述职机制,每半年一次,大家评分,按照评分的结果决定是否升迁。

技术领导在业务线上的考核方面,首先是这个业务的CEO,他有很大的发言权,技术团队在你的带领下做得好不好,决定了他的业绩,同时,我也会比较仔细的去考评他这一方面的内容。业务线CTO下面技术团队的考评,由业务线CTO自己来做。这样做完了以后整个体系就出来了。

 

叶亚明:合格CTO的六要素(转)的更多相关文章

  1. 如何成为一名合格的CTO?(转)

    不会走出去公众演说的的攻城狮不是好CTO. 本文来源于微信公众号“线性资本”(ID:LinearVenture) 成为一名合格 CTO 我们投过很多技术型的公司,对于什么是合格的 CTO 有过自己的一 ...

  2. 20年硅谷技术牛人到访DataPipeline谈:技术如何与业务平衡发展

    导读:技术人员的常态是“左手支持业务签单,右手提升系统性能”,却经常陷入技术和业务该如何平衡发展的困惑?今天,且听一位硅谷牛人分享他的平衡之道. 以个人名誉申请31个国内外技术和产品专利,中国最佳CT ...

  3. qconshanghai2014

    主题演讲 容器化的云——CohesiveFT首席技术官 Chris Swan 建设强大的工程师文化——Spotify工程总监 Kevin Goldsmith 软件项目变更的管理和生存之道——jClar ...

  4. qconshanghai2015

    http://2015.qconshanghai.com/schedule 大会日程 2015年10月15日 星期四 08:30 开场致辞   地点 光大宴会厅 专题 主题演讲 数据分析与移动开发工具 ...

  5. 【面试题资源共享】一文总结最高频软件测试|sq|语句|思维发散|计算机基础|Linux|测试用例|接口测试|等技术面试题

    思维发散 1.一个球, -把尺子长度是球直径的2/3,怎样测出半径?2.四枚硬币,花面朝上,每次翻转三个,几次可以将四枚硬币变为字面朝上?3. U2合唱团在1 7分钟内赶到演唱会现场问题?4.小明一家 ...

  6. 移动App开发需要更多的PaaS平台而不是IaaS

    时代的变迁,创业的大潮,越来越多的人关注了有点开发,越来越多的人了解了互联网服务术语:PaaS.IaaS.SaaS.BaaS等.今天大家在开发App的时候这么多复杂的云服务如何来选择呢? IaaS服务 ...

  7. HMM隐马尔科夫模型

    这是一个非常重要的模型,凡是学统计学.机器学习.数据挖掘的人都应该彻底搞懂. python包: hmmlearn 0.2.0 https://github.com/hmmlearn/hmmlearn ...

  8. 事件总线(Event Bus)知多少

    源码路径:Github-EventBus 简书同步链接 1. 引言 事件总线这个概念对你来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉.事件总线是对发布-订阅模式的一种实现.它是一种集 ...

  9. 使用JDBC技术连接数据库(附源码)--JAVA的简单应用

    一.创建数据库(以mysql数据库为例) mysql数据库的下载安装与配置 -可参考博主之前的随笔:Windows平台下搭建MySQL数据库 创建wxb数据库-create database wxb; ...

随机推荐

  1. python导入csv/txt文件

    1. 导入csv文件 ### python导入csv文件的三种方法 ```python #原始的方式 lines = [line.split(',') for line in open('iris.c ...

  2. 编辑器source insight,sublime,编码 utf-8和 GB2312

    source insight中,想要UTF-8的中文字符正常显示的话,目前没有直接支持的方法. 暂时只能通过将原UTF-8的格式的文件,转换为本地ANSI编码(此处是简体中文,对应的ANSI编码为GB ...

  3. go https json

    好吧,再来一个看起来高档点的吧 自从知道 Go有本地调用后,我就回到windows了 哈哈,以下内容,均在win10下搞定 预备:先做两个文件,服务器端的私钥KEY和公钥证书 1. openssl g ...

  4. ####### Scripts Summary #######

    Scripts Summary Version: 1.0.1 issueDate: 2017-11-11 modifiedDate: 2017-11-28 0.configuration 1.oper ...

  5. opencv-resize()放缩函数简介

    主要介绍函数resize(); 图像缩放的效果图如下: 主程序代码及函数解释如下所示: /******************************************************* ...

  6. vue中使用ckeditor

    1.第一步首先去ckeditor官网去下载editor文件,这里以ckeditor4为例 首先在index.html里引入js代码 <script type="text/javascr ...

  7. 014-Session服务器状态保持

    开始并为Session赋值:Session[“uName”]=“CNYaoMing”;取值:string strName = Session[“uName”].ToString();销毁(取消/退出) ...

  8. C# 基于DocumentFormat.OpenXml的数据导出到Excel

    using DocumentFormat.OpenXml; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.S ...

  9. 混合型log,info按大小分,error按日期

    1.配置文件 <?xml version="1.0" encoding="utf-8"?> <configuration> <!- ...

  10. poj2987 求最大权闭合回路

    建图差不多和以前做的差不多,就是最后询问这个闭合子图有多少个的时候,只要输出这个图的S集合,就是进行dfs能遍历到的点一定在S集合中,不能遍历到的点在T集合中 #include <iostrea ...