【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

叶亚明:合格 CTO 的六要素

  • 2017-03-08
  • 本文字数:4243 字

    阅读完需:约 14 分钟

叶亚明,携程旅行网 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 自己来做。这样做完了以后整个体系就出来了。

2017-03-08 16:063372

评论

发布
暂无评论
发现更多内容

干货 | 作为前端开发者如何迈向独立开发者

南城FE

独立开发者 前端 7月月更

机器学习|BP(Back Propagation)神经网络

AXYZdong

机器学习 7月月更

Python中除了lambda函数能实现一句话程序,还有什么方式能够实现呢?

迷彩

Lambda Function 7月月更 推导式

【MySql项目实战优化】多行数据转化为同一行多列显示

安逸的咸鱼

MySQL 实战 7月月更

String 实现模糊查询

小肉球

qt 7月月更

C# 程序调试和异常处理(try catch)

IC00

C# 7月月更

关于TCP/IP协议漏洞的安全措施

郑州埃文科技

IP地址 TCP/IP漏洞修复 TCP/IP协议漏洞

java零基础入门-递归

喵手

Java 7月月更

MFC|框架下按钮的自绘

中国好公民st

c++ 7月月更

安利一款笔记工具---Obsidian

空城机

工具 7月月更

户外LED显示屏应对炎热高温天气有妙招

Dylan

LED显示屏 led显示屏厂家

LeetCode-110. 平衡二叉树(java)

bug菌

Leet Code 7月月更

JAVA编程规范之并发处理

源字节1号

软件开发 后端开发

冲刺金九银十!这份Java性能调优实战宝典,学明白轻松涨薪20k

了不起的程序猿

Java java程序员 java面试 后端技术

Qt | 控件之QCheckBox

YOLO.

qt 7月月更

Linux下使用QT+OpenCV实现人脸实时检测(从摄像头获取数据进行检测)

DS小龙哥

7月月更

C 语言入门(七)

逝缘~

7月月更

面试微服务

Damon

7月月更

自建个性化自动报价系统,应对多变报价模式

明道云

纯css实现炫酷的视频文本蒙版效果

南极一块修炼千年的大冰块

7月月更

Flink1.7从安装到体验

程序员欣宸

Java flink 7月月更

因果学习将开启下一代AI浪潮?九章云极DataCanvas正式发布YLearn因果学习开源项目

九章云极DataCanvas

人工智能 GitHub 开源项目 因果学习 YLearn

问题来了!拔掉网线几秒,再插回去,原本的 TCP 连接还存在吗?

冉然学Java

Java TCP

Android/Unity大乱斗-集成遇到的问题

芝麻粒儿

android Unity 7月月更

长安链tls基础研究

长安链

【CODETOOL】文件比较Beyond Compare使用介绍

柒号华仔

开发工具 7月月更

Ceph分布式存储性能调优(六)

Lansonli

云原生 云存储 7月月更

欢迎来到 GrafanaFans 兴趣小组

Grafana 爱好者

云原生 可观测性 Grafana

TCP拥塞控制详解 | 6. 主动队列管理

俞凡

算法 网络 TCP拥塞控制

数据类型的转换

7月月更

彻底了解C++异步从理论到实践

C++后台开发

网络编程 异步 C++后台开发 C++开发 C++编程

叶亚明:合格CTO的六要素_语言 & 开发_EGO_InfoQ精选文章