写点什么

叶亚明:合格 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:063487

评论

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

认知篇:CQRS架构模式的本质

京东科技开发者

架构 微服务 后端 CQRS 企业号 1 月 PK 榜

微信小程序实训|基于云数据库的语文听写工具

TiAmo

微信小程序 云开发 微信开发

火山引擎DataTester:“在字节,A/B实验是一种信仰”

字节跳动数据平台

大数据 字节跳动 AB testing实战

3DCAT实时云渲染助力VR虚拟现实迈向成熟

3DCAT实时渲染

vr 云渲染 虚拟现实 元宇宙

关于 JavaScript 定时器

devpoint

JavaScript 定时器 setTimeout setInterval

认识区块链,认知区块链——NFT

MavenTalker

区块链 NFT web3 数字藏品

云原生应用你应该这么管- 谐云发布基于KubeVela增强的应用版本管理和在线升级

谐云

云计算 Kubernetes OAM 容器云 企业号 2 月 PK 榜

高频JavaScript手写面试题

梁木由

JavaScript 前端 前端面试题

软件测试/测试开发 | 接口自动化中如何完成接口加密与解密?

测试人

软件测试 自动化测试 接口测试 测试开发

2023,不一样的数据库

NineData

数据库 运维 数据开发 数据管理 NineData

为什么 Go 不支持 []T 转换为 []interface

AlwaysBeta

Go golang 源码 slice interface

Python 内置界面开发框架 Tkinter入门篇 乙

eng八戒

Python GUI tkinter

vivo 超大规模消息中间件实践之路

vivo互联网技术

kafka 中间件 pulsar 消息中间件 RoketMQ

资产梳理与应用自动化部署技术实践

智维数据

大数据 数据可视化 智能运维 应用交付平台 流量分析系统

5K字 由浅入深聊聊Promise实现原理

梁木由

JavaScript 前端 前端开发 前端面试

秒云获评开源GitOps产业联盟“当仁不让 · 最佳分享奖”

MIAOYUN

开源 产业联盟 gitops OGA产业联盟

Trie树简介及应用

京东科技开发者

数据结构 算法 高性能 双数组trie树 企业号 1 月 PK 榜

Verilog HDL数据流建模与运算符

timerring

FPGA

市场上常见的5种LED异形屏

Dylan

LED LED显示屏 led显示屏厂家

生产环境10分钟黄金时间快速排障:CPU不定时飙高怎么排查?

KINDLING

Java Linux 后端 监控 ebpf

网络安全中API常见漏洞

郑州埃文科技

API漏洞

15个 高并发系统设计 锦囊帮助你设计高并发!

风铃架构日知录

Java 程序员 后端 高并发 分库分表

国产射频滤波器公司频岢微电子 完成近两亿元B轮融资

硬科技星球

软件测试/测试开发 | 接口自动化测试,如何实现多套环境的自动化测试?

测试人

软件测试 自动化测试 接口测试 测试开发

我们要的一种自学方式,也许是看书自学成才。

叶小鍵

从 JVM 中深入探究 Synchronized

小小怪下士

Java 程序员 JVM synchronize

启科QuTrunk+Runtime+QuSaaS+AWS量子计算编程实战

启科量子开发者官方号

量子计算

Sam Altman的成功学|升维指南

OneFlow

人工智能 深度学习

Object中的wait和notify方法详解

threedayman

面试 并发编程 java;

如何使用 Java8 改造模板方法模式!

风铃架构日知录

Java 程序员 后端 设计模式 模板方法

智慧公安!3DCAT实时云渲染助力某公安机关打造数字孪生可视化系统

3DCAT实时渲染

智慧城市 数字孪生 云渲染 实时云渲染

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