引言
俗话说“上有天堂,下有苏杭”,苏州作为一座有着数千年历史的闻名古城,有着和北上广深等一线城市所不同的生活节奏,互联网业态在这座城里也正在勃兴。在这里,有着一位圈内苏州互联网的代表人物:同程旅行出行事业群 CTO、腾讯云 TVP 王晓波老师,他为何选择了苏州,又是如何在这里修炼“内功心法”,从超级程序员到带领上万人团队的技术管理者,进化为“技术大侠”?本期技术指针,让我们跟随王晓波老师的脚步,看技术大侠是如何炼成的。
初识大侠:选择苏州,开辟新天地
王晓波老师先后在北京、深圳、日本东京等一线大城市工作,最后选择定居苏州。在那一份作为苏州人的故乡情怀之外,更是因为与同程旅行的结缘——加入同程,“来了就是梅西”。从技术团队到业务团队的岗位转化,这位“梅西”如何在拿球的过程中始终保持对业务的嗅觉,且听王晓波老师为我们娓娓道来:
在我看来,我的家乡——苏州,它有一线的活力,又有两千多年的文化,在这里,有很多机会帮助我们去实现梦想。我是 2014 年 8 月回来苏州加入同程旅行的,在这之前我也先后在北京、深圳、东京几个城市待过,主要从事互联网相关的技术研发类工作。加入同程之后,我一开始主要是做整个同程的技术架构,包括运维、中间件、机房、混合云,中间经历了一次换岗,转到业务团队来做研发,到现在带领整个出行的技术研发团队,因此从基础架构到业务架构,再到业务应用,各个领域都有涉及。
其实,刚回苏州时我最初的想法是找到一个适合的地方即可,也是机缘巧合之下加入同程。在沟通时我了解到,同程当时正处于爆炸性成长周期,整个同程的基础设施开始重构,真正地变成现在的互联网基础设施。这意味着我可以从零开始打造一家规模和流量都比较不错的互联网公司,这一点于我而言很有吸引力。因为在成型的公司里很多时候技术人员只能是“螺丝钉”,或在某一个专项区域。我业余喜欢踢足球,用足球来打个比喻,来到这里之后就是“梅西”,拥有一切的开火权、中场指挥权和防守权,这对一个技术人员来说,你的能力是被无限地去扩展,完全有足够的空间和平台供你去施展拳脚。不是每支球队现在都是没有梅西的状态,但如果这里还没有梅西,那么我们就可以成为梅西。
在很多人看来,王晓波老师应该会选择往云或中间件等技术方向深耕,但他却选择了从事业务相关系统的研发,在这一转向背后,是王晓波老师对于“技术人要保持对业务的敏锐嗅觉”这一理念的坚守:
在我看来,每家公司一定会碰到的一个问题就是,当公司规模逐渐变大时,技术发展将会是一个循环性的圆环:在公司刚成立的时候,所有人都在一起做一件事情。随着团队扩张、业务增加,团队便会开始分层,比如有一部分人去做机房,另一部分人去做云,再一部分人去专注业务变现,这些部门便变成了一个闭塞的状态,再也感受不到前端业务本身的信息和感觉了。
当我们的技术架构团队开始远离业务,甚至闻不到业务的味道的时候,那么他做再多的技术架构,和市面上购买的技术架构相比,又有什么区别呢?没有区别,那么这个时候技术竞争力就会下降。因此我认为我们要更多思考如何让技术团队闻到业务的味道。如今常见的方法像 KPI 绑定,或者参观业务,都无法从本质上解决问题,因为团队并没有参与到业务本身之中去,只有实际参与了业务,才能从中感受并了解到我们需要什么样的技术基础来支撑它,这也是我会选择担任业务 CTO 的原因。
侠之内功:“不写周报”,构建技术驱动团队
成为业务 CTO 后,打造一支“技术驱动”的高效团队是王晓波老师首要做的事情。更值得一提的是,在很多技术团队面临日报周报之苦,担忧降本增效压力时,王晓波老师却旗帜鲜明地指出“工程师不该成为 PPT 工程师”、“一味强调降本增效容易走偏”。技术大侠的管理内功是如何炼成的?王晓波老师将为我们一一解读:
在接手业务后,我做的第一件事情就是对团队技术的打通,让业务变现团队的技术能力超过做技术架构的团队,因为技术能力的高低决定了效率,也决定了用技术驱动业务的能力。所以首先需要提升团队的技术能力,与此同时,要去做好技术驱动。
在很多服务于业务的技术团队里,往往技术会变成一个支撑部门,也就是人家说什么你就做什么。在我看来,技术驱动是当问题被提出的时候,解决方案的参与方的技术思维足够强,当我们运营同学提出了一个运营想法或困惑时,接下来的讨论话题不是直接把它变成了某个合作或某个产品思路,最后切成小块了以后,再传递给研发人员说“你可以码代码了”。在这个情况下,技术同学并没有看到原始需求,那么这个解决方案里面的技术味道是弱的,更多的反而是流程的味道。而如果能做到第一时间收到一线的信息,并且研发人员的想法能被正确地反映出来,那么无论是产品经理还是运营人员,他们才能在第一时间听到真正的“在计算机上的想法”。
综上所述,我们需要让团队变成一个技术驱动而非需求驱动的团队,用更懂业务和更懂产品的方式来让整个团队变成一个阵型往前走,让最在一线的承诺传递到最后时不会失真。
当下,写日报周报已成为很多技术团队的日常任务,但是在王晓波老师的团队里,他却明确提出不希望自己的团队每天写这些材料,为什么他不建议技术团队写日报周报?数百人乃至千人的技术团队又应采用怎样的管理之道呢?
首先我认为,本质上来说,程序员这样的一个人群是不需要管理的,他们更多需要的是有效地协作起来工作,在此基础上的管理才是有效的。倘若今天要汇报,明天要做材料,后天要写 OKR,当这些东西压在每一个人身上的时候,你可以想象这个团队是工程师吗,毋庸置疑只能说是“ PPT 工程师”了。
所以在我的团队,我是不希望他们每天都困在日报周报这些汇报材料里,我们能看到这些材料都是千篇一律的状态:重表功而轻问题,把小事写得很大,自己的功劳很多,再按照要求会有一些不痛不痒的问题。那么可以想象,如果一个几百人团队靠这样的材料层层上报,那么管理者对团队的管理一定是失真的,而且团队会为了这份材料而制造出来他所需要的工作。因此我的管理方式很简单——和他们工作在一起,扎根在一线去融入他们,其实从很多细节上就可以发现一些团队的问题。其次,一定要让每一层的下属 Leader 都必须把他真实的工作状态汇报出来,传递这样一个理念:问题再多也是优秀的,如果不把真实的工作情况表现出来,再优秀也是有坑的。当把这个理念层层植入下去,每一个层级都会给你非常良好的展现。
降本增效是如今各个企业热议的话题,技术团队是否也需要降本增效?作为管理者,需要如何带动团队进行降本增效,且听王晓波老师为我们分享他的见解和考量。
让技术赋能更多的业务,让数字化技术能够提升业务的效率,是我们最当前的想法。可能所有的公司都希望降本增效,但是一个研发团队怎么去降本增效,最为直观的现象就是降低研发成本。那这件事情本身是否真的做到了降本增效?这里存在着一个显性成本与隐性成本的问题,也许企业降了一个很小的显性成本,却增加了很大的隐性成本。因此在我看来,本质上研发团队讲降本增效是对的,但是一味只强调降本增效则容易走偏。由于信息技术本身就是增效的,用来提高公司运行效率的,那么技术团队的存在就是在增效,增效的同时其实自然就降本了。
在技术管理者的身份之前,我也是一名“超级程序员”。这个名字的来源首先是因为我代码写得多,产出量特别大;另外就是几乎没有我救不活的系统,目前我所碰到的和我的朋友们碰到的系统宕机或是出问题的情况,一般找到我都能去把它解决。在我看来,程序员的培养和飞行员的培养如出一辙。曾经有一句话叫“飞行员是用黄金堆出来的”,其实,程序员也是一样,好的程序员本身是用失败来养出来的,你工作经历中的那些失败项目,其实正好是在给你创造成长的机会。此外是在某些点上的深挖,不一定是工作中零和一的重复,而是你自己的时间精力是花在什么东西的研究之上时,就决定了当这些特殊事件发生时,你是否能够救起。
侠之修炼:接住危机,构筑安全可靠的基础设施
2019 年新冠肺炎疫情席卷全球,在这期间,这位“技术大侠”不仅带领团队上线了超千万人抢购的 98 元机票盲盒,扛住了这场危机;而且也借助腾讯云积极布局建设云基础设施,推动同程旅行走得更远。一起跟随王晓波老师的步伐,一睹他大侠的修炼之道:
当时我们上线推出了同程机票盲盒,吸引了超过 2000 万用户参与抢购,由于访问过多导致服务器过载,其实我们都没有预料到会有这么大的一个流量冲击,于是连夜召集已经放假了的同学回来重新开工,大概从凌晨 12 点开始重做,到第二天早上就发布出来了,自发布这个版本后就一直没有再改动,这其中无疑具备了很大的难点和挑战。在旧系统在现有流量下已经卡顿时,那么我们的预估的新流量应该是多少,十倍还是百倍?对这一点的把握需要依靠你的过往经验和拯救能力。此外,还需要快速唤醒处于休假前夕的团队,快速地完成重构,这也非常挑战我们的整个团队的组织能力和技术统一性的能力。
因为我们用的是腾讯云,因此很多的弹性计算能力可以依靠腾讯云来进行支撑。比如像机票盲盒这样的情况,是在用户抢购的那个瞬间需要弹性,其实通过腾讯云就可以快速地实现计算资源扩展。同时,在抢购结束后,这些资源就可以释放掉,所以也运用到了 Serverless。
同程旅行作为一个用户量庞大的应用,构建安全可靠的基础设施是十分必要的,在这背后,腾讯云也为同程提供了坚实可靠的后盾。
早在 2015 年我们就和腾讯云开展了合作,主要是在基础设施建设方面。我们一开始接入网络选择的就是腾讯云,面对全国各地用户的访问,我们的网络需要很好的保障。而腾讯有着铺开全国的网络节点,以及强大的内网联通能力,在实现快速的同时确保安全性,有效提升用户体验。而且自建网络本身的成本很高,这也意味着不是每家企业都适合去做,那么在这个时候借用腾讯的网络会更快速和便捷,同时因为腾讯的主业微信、QQ 也是运行在同样的网络上面,能够提供给我们一致的安全保障。
当我们需要扩容时,用云资源扩容具有明显的成本优势,腾讯云的安全产品、计算类产品,我们用得也很多,并且也在不断引入一些开源的产品。考虑到基础设施的成本、基础设施可靠性、基础设施的长期的保障能力,我们和腾讯云在基础设施方面进行了众多合作,包括中间件部分、安全体系部分,涉及 IaaS、PaaS 等。
我们的合作在微信小程序里的用户感知会更多一些,包括腾讯支付也是我们和腾讯一起来维护用户的安全,同时我们会借助腾讯的风控大数据能力、安全产品来去做加固,比如我们后台的用户行为风控,其实腾讯云也做了很好的算法输出。所以用户确实能感受到的是我们在小程序的用户体系和支付这两块是和腾讯的安全划等号。
对于专注云基础设施的腾讯云,未来我们的合作也一定会更加紧密深入,随着未来腾讯云更多新基础设施的出现,我们也会持续地试用体验。
侠之要义:兼济天下,坚持技术向善
侠之大者,不仅在于技术实力,更在于兼济天下的侠义情怀。日常生活中的王晓波老师,不仅善于体察身边人,对年轻一代的“后浪”也有来自过来人的一份理解与豁达,对于技术人的使命,他坦言应把自己当成手艺人,保持对技术的识别能力,唯有坚持技术向善,方能驰骋于这片“江湖”。
一名技术大侠,同时身为一位技术领导者,他也在工作生活中关爱身边的同事和下属。面临疫情危机,他的宽慰和安抚不过是小小举动,却也足够温暖人心。
过去的疫情,在当时给我们带来的直观影响是什么?是工作临时被中断,且很有可能是大规模的中断,比如我们当时的一个团队就遭遇了不同同事被封在不同小区里的困境。在那个时候,我们做的第一件事情不是安排工作,而是关心大家的生活和情绪。我们有个 Leader 根据他的经历写了一个日记,给团队成员很详细地分享应该注意哪些事项,在家里准备好哪些东西。当这个根据他的亲身体验的日记分享出来的时候,很多同学都觉得很温馨,不安和忧虑的心情便缓解了许多。其实这个时候就体现出了待人的问题,善于体察身边人,把团队成员的生活问题解决好,团队工作才能做得更好。
大侠的风范,绝不仅仅只是关爱身边人就足矣,其实,他也善于共情“后浪” 。
我身边也有很多年轻一代的“后浪”,虽说每一代人有一代人不同的焦虑,但随着社会节奏的加快,我们能感受到当下年轻人的焦虑感是越发强烈的。我们要怎么解决年轻人的焦虑问题?我觉得并非是去告诫年轻人不要去焦虑,因为其实我们是用自己成长之后的眼光去看待这一代年轻人,就像是有一条河,我们从河的西岸渡到了河的东岸,然后我们再去看河对岸说“好辛苦,这条河怎么渡得过来?”,但其实我们忘记了自己年轻时候在渡河时的那个感觉。
在我看来,乐观或许会是一个很好的解法。在年轻的这个阶段,面临当下的社会压力,就会有焦虑和叛逆期,但也应该有年轻时候的奋斗精神,用乐观豁达的态度去面对存在的问题,当你用乐观的眼光去看世界时,你就会过得更加快乐一些。
程序员作为技术人,本质上也是像厨师、木匠那样的手艺人,我们的使命就是要把技术这个手艺做得更好,让用户能够更方便地去使用。在当下的数字化社会,一个信息系统可以作用在社会的福利面,也可以作用在相反面。我认为程序员应该要有自己的判断力和识别能力,坚持技术向善的本心。
结语
煮一壶清茶,在苏州的古街长廊上漫步,一位隐于市的技术大侠正向你招手,邀你共赏这春暖花开的千年古都,畅谈技术向善的初心与情怀。余晖之下,思绪悠长,侠是技术向善,有所为,有所不为的一份坚守。侠是隐于一城,守护身边与远方的一种担当。TVP 技术指针,将继续和你一起,探寻技术真相。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。