-->

技术领导力实战笔记_133_大咖对话_|_余沛:进阶CTO必备的素质与能力

你好,本周做客大咖对话的是同城翼龙副总裁研发中心负责人于佩,其在二零一二年加入翼龙旅行网后,先后担任技术总监、首席架构师CTO,除了直接负责过一线的基础架构、相关系统、分布式计算、OTA、垂直搜索引擎等工作外,同时推动了公司在技术方向上的全面转型。

技术委员会体系建立技管分离等管理类工作。

在加入易容之前,曾就职于百度,负责自动化运维相关系统建设。

今天我们和他聊了聊CTO的素质与能力以及如何提升等话题即刻时间。

问您好,能先简单介绍一下您和您目前负责的工作方向吗?于佩回答我。

于二零一二年加入易龙任技术总监,当时首要任务是建立一支基础架构相关的研发团队,并解决困扰公司技术发展的两个问题。

一是公司的技术站需要从沿用超过十年以上的windows体系。

全面转向linux生态体系,在技术架构以及人员转型的问题。

二是帮助公司搭建起支撑转型的一系列基础平台问题。

上述两个任务在达到一定的里程碑之后,又任翼龙的首席架构师工作,逐渐从平台类技术开始转向帮助公司直接业务提升的诸多业务类系统。

二零一四年底,胜任翼龙网CTO全面负责翼龙的技术团队管理工作。

去年年底,同城与一龙合并后,我有幸担任新公司研发中心负责人,继续负责公共研发团队,以支持各业务线的基础及公共类研发任务。

吉克直接问,从技术总监成长为cto,您觉得哪些能力与素质的提升最重要呢?于佩回答,在我看来,素质与能力可以从两个不同的维度来谈。

先说素质维度作为leader,肯定是要先具备比较扎实的技术功底,以及相当广阔的技术视野。

技术领域还是要先有内功再谈管理。

我们很难看到一个人在专业方向上不见长,却还能把技术团队管理的漂亮的。

虽然技术到了一定深度之后,能够更好的触类旁通,但先决条件是你首先要在某个领域有过较深投入与研究,具备扎实的技术功底,才能更好的对宏观领域多个技术方向,有比较靠谱的辨识及判断能力。

这有点类似于武侠小说中只有自身先拥有一定功力,成为某个领域的高手,才能对其他门派的武功有速成或者对好坏轻重的判断能力。

当然,技术领域的更新变化总是很快,对于一些新领域、新工程的具体细节的掌握,可能不见得多于新进的年轻人。

但如果你曾在某个领域有过相当的投入与研究,那么作为一名技术管理者,至少能够在大的格局与方向上仍然有相当的把握能力。

其次,再谈能力维度,我认为成为一名合格的技术领导者,至少应当具备四种能力。

一对业务的理解能力。

首先,在任何的商业公司中,技术的本质也是要为生产服务,帮助业务及产品完成对应的价值实现。

事实上也不存在纯粹为技术而技术的商业公司。

其次,在互联网这个开放的环境及氛围下,大多数的应用类技术其普及的周期越来越短,高端技术的平面化越来越快,能够形成技术垄断的领域越来越少。

抛开商业规模形成的规模效应,壁垒外,已经很少存在某个通用领域的技术,只有你会,而别人没有解决方案,其实现不一定一致的情况。

在这种前提下,互联网公司面临的技术难点往往衍生于其自身的业务独特性。

以前经常讲的高可用、高并发、自动化运维、分布式等等等等。

这些曾经高大上的话题,在通用解决方案上已经没有什么新鲜的难以解决的困扰,许多方案都已经公开化,相应的人才也因流动性分布在许多公司。

我还记得很多年前,no sq LGB、读写分离、hadoop应用等应用技术都能在各种技术大会上引起聚焦。

现在他们早已是很多公司的入门标配了。

真正的难点在于你的业务场景中存在的那些独特场景,以及为了解决这些特性需要的技术方案。

如果一名技术leader对自身的业务特性了解不够深入,则很难触达真正的痛点,帮助业务解决技术方面的难题。

你可能是一名搜索专家,能够很轻易的构建一套传统的分布式搜索引擎。

但是面对机票、酒店或者电商等领域时,他们对于搜索的要求难点在哪儿?传统的经验能够起到什么样的作用,还需要构建哪些额外的体系才能解决这些困难。

这都需要与业务一起有耐心的深入下去,才能够真正理解。

二、资源分配及收益的判断能力。

在我看来,无论何种规模大小的技术管理者,都要不断做资源分配和收益判断。

对于技术投入本身,无论人力的投入,还是设备的投入,也应该从成本与收益的角度判断。

当然,不同的公司,其资源规模不同,不仅仅是互联网行业,在扩大来看,其实所有行业及领域都是这样。

对外看是收益,对内看是成本。

当你是一名一线的研发人员时,总是对于技术实现怀有很大的热情,期望技术架构趋近完美,在技术规模上求大、求广,追求技术指标极致完美。

但当你站在技术leader的位置时,这种差异就像是战场上。

从一名武功高强,骑着千里马冲在第一线的战士,变成在战场后方的指挥所里,指挥战术调度兵种打仗的将军。

你要学会去思考如何合理的调动人员与技术资源。

一千个需求摆在面前,怎么分配技术人员?一千个应用要上线,要买多少服务器才够支撑?每年那么多技术热点出现,每一个都号称要改变世界,改变未来。

而你只有一百个每天都加班赶工的研发,这些热点跟还是不跟这些人员还招不招?拥有海量资源,做小量产出不算本事。

如何把资源的配置发挥到极致,帮助业务以尽可能小的成本获得尽可能大的收益。

当一些热点技术出现时,思考一下,以公司现状适不适合投入这一波新技术热潮,该投入多大的精力去研究它,或者在不同的阶段置以多大的资源投入。

以技术及业务项目的投入为例,花费了半年时间做重构,确实解决了许多技术问题,也有更好的扩展性和高性能。

但这对于一个预期生命周期,只有一年半载的业务而言,收益有多大。

一个业务项目预期生命周期很长,收益较高。

初期为了快速上线,做了很多技术上的妥协。

后期在什么时候来还前期欠下的技术债务决策,在什么时间点、额外花费多少时间或人力成本来解决这些问题,才能在业务发展和技术支撑方面获得较好的平衡。

再以新技术的投入为例,历史已经给出了许多案例,有些公司对新技术操之过急,耗费巨大人力财力,导致消耗过多而死,结果等新技术再度过最初的高成本。

孵化期后,其他公司可能只需要较少的投入就能追上来,也有对新技术的反应迟钝的公司。

等别人应用落地后,采进入又发现为时已晚。

当然,有时候慢一下,无伤大雅,慢并不是零和一的差别及非投入和不投入的差别,而是分阶段、合理计算投入产出比的问题。

三、对团队的建设能力。

众所周知,团队与人才是一个公司的灵魂,合理的人才梯队建设对公司未来的发展影响极大。

作为技术leader,如何在技术领域吸纳人才培养人才,以及构建适合公司业务结构的梯队,是一个需要长期思考、复盘的重要命题。

在规模较大的公司,由于品牌、文化、待遇等方面的影响,对于中高端研发人员的吸引,会比中小规模的公司更有优势。

让我印象深刻的是在上家公司时,能够源源不断的收到优势。

简历来到艺龙时,在招聘方面确实感受到相当的落差和压力,也只能客观的去面对事实。

相对于金字塔尖的公司越往下,它的影响力越有所减弱,吸纳人才的难度也会随之增加。

在品牌影响力存在弱势薪酬待遇,也需要遵循市场普遍认可的成本管控的情况下,如何解决团队的建设问题却是经常困扰着我们。

我认为先做好两件事儿,肯定是有价值的。

一是对内和工程师们一起创建良好的技术、文化及氛围。

二是对外打造良好的公司技术、品牌影响力。

尤其在许多以业务为重导向的公司,如果规模没有达到一定体量,对内对外技术的发生和影响都相对弱势。

作为技术leader,如何既在公司内建立起良好的工程师文化,又能让业务产品认同技术的价值,尤其是认同技术人员的价值,而不仅是把技术人员当成实现需求的工具,比如老牛、长工,让技术团队既能在工程项目中获得成就感,也能跟随公司在业务提升中获得荣誉感,同时也能将自己公司沉淀下来的优秀技术理念、技术经验与技术氛围向外展示,吸纳更多的优秀人才,让外面的人也知道并认可。

这是一个很适合一起奋斗,一起成长的平台。

四、协调与沟通能力。

至少在国内绝大部分的互联网公司中,纯技术驱动的公司是不存在的,技术一定与产品和业务紧密结合。

我套改一句三体中的法则。

在公司发展过程中,各个部门对资源的需求是不断增加的,而公司的资源总量在一定的阶段是有限的。

这种广义上的资源包括了一切,如对某件事情的决策权限、薪酬福利及晋升公开的荣誉时间的分配等等。

因此,技术在与公司其他职能共同合作时,一旦牵扯到资源的重新组织时,如何有效的沟通,或者为有效的沟通,创建良好的条件与规则,也非常考验技术leader.毕竟从数量上讲,确实多数研发出身的人员都是简单直接、专业性很强的红脖子,两个技术人员之间沟通还能相爱相杀。

一旦跨职能沟通时,就很可能你说你的,我说我的牛头不对马嘴,仅剩鄙视相杀了。

缺乏有效沟通环境的结果,往往就是看哪个部门的声音大或权力大,并不能对公司产生正向价值。

举个例子,在某些电商场景的业务风控中,熟悉产品运营。

有多年风控经验的业务人员在系统中依赖规则,平台配置了很多风控规则,一直将业务风险控制在一个比较好的区间。

直到有一天,技术人员通过机器学习的方法,将这一过程自动化在初期阶段,可能效果未必比人工配置的结果好。

如果这个业务有强烈的业务指标管控,且主导权,最开始并不在研发职能内。

那么在初期如何有效沟通影响说服业务部门,愿意尝试和接受这样的技术项目引入呢?毕竟出错了,砸人家饭碗成功了,也是砸人家饭碗的。

诸如此类,涉及到职能部门之间的协调,如果技术leader不能帮助公司建立起良好的沟通环境,不能帮工程师们争取到良好的协同氛围。

整天只是带着研发人员追求技术万岁的话,很难帮助技术在业务发展中进步,也很难帮助技术人员在公司内得到相应的地位和成长空间。

即刻时间问,对于从技术管理者向CTO进阶的人,该如何提升这四方面的能力呢?于佩回答我,有两点建议,第一点,一定要更加深入,也更加广泛的参与,并了解公司的核心业务,跟随公司的核心业务一起成长。

从横向维度思考业务,从纵向维度思考,用何种合理的技术解决方案,这样才能对公司的整体技术方向做出完善的规划。

最好亲身到一线核心业务里,走一趟,站在外面看,跟亲身体验一遍,是完全不同的感受。

假如你是空降过来的,也务必说服老板创造条件,把自己先放进核心业务里去看看。

哪怕这个核心业务,原来并不由技术主导,在此过程中,再用自己的技术专业眼光帮助公司重新审视业务。

比如某个工作一直由运营负责,他们会遵循一贯的做事方法。

由于专业能力惯性思维,可能想不到可以利用某项技术改进来更好的完成工作。

而你尝试了解之后,很有可能发现技术可能在某个点帮助到他们,让他们事半功倍。

第二点,尽快将自己的目标从较为单一的技术类目标或者项目进度完成指标转变为公司的业务目标,力争把技术与业务这两条线聚合到一起,这非常重要。

因为只有这两条线聚合到一起,你才会更多的以公司业务的视角,从资源分配和收益等角度去思考问题、判断现状。

否则,若长期只关注技术,就会忽略背后需要的投入与产出、成本与收益等问题,无法顾全公司大局。

最后,我相信,技术团队中单向能力的最强者未必是CTO.相反,如果CTO是公司中技术最牛的人,离开他运维也不行,安全也不行,架构也不行了,那才是最危险的。

Cto的职能。

一是把控好技术方向清楚,认知公司业务在哪些方向,需要用到什么样的技术。

二是帮助公司培养具体领域的技术强者。

如果还有第三项,那就是在年会抽奖时,还能review一下抽奖程序的代码。

因此,技术管理者要成长为CTO的关键,首先在于观念的转变,打造好一个素质的骨骼与四个能力的肌肉,不仅能够帮助公司利用最优的成本解决问题,也能够让研发工程师们过得很happy,还得让外面的优秀人才源源不断的跳入。