B站数据平台负责人毛剑:从管理到下一线,优秀管理者应具备什么样的素质?
大家好,首先自我介绍一下,我差不多有 12 年的工作经历,在 B 站待了有接近 6 年了。我也是从一线的技术人员慢慢成长成为管理者的。早期在业务团队做后端研发、中间件等方向,到中途还做了像平台架构师这样偏虚的一个职位,到现在带 B 站的数据平台。现在团队人也不少,大概有将近两百人,下面是我个人和团队开源的一些作品。
我整个大纲分为三块,2015 年的时候从北京来到上海加入 B 站,当时的 B 站 ACG 的内容占大多数,但是现在随着用户和内容的增长,B 站有了更多多元化的内容。我一共待过两家创业公司,运气比较好我加入的时候还很早,加入 B 站的时候大概 200 多人,后来两家公司都上市了,所以我是一名福将了。
加入一个你完全不熟悉的行业有几个点很重要,首先,你面对的是完全陌生的环境,我早期不是 B 站用户,平时也不怎么看这方面内容,当加入你完全不了解的行业时,你自己就要成为用户去深入了解产品。我当时就开始经常看 B 站,随着对产品的熟悉,对内容越来越了解,逐渐就打开了新世界,对内容行业也开始有所了解。
第二点,公司其实有很多内容的老司机对内容理解很深入,像我们公司很多会议室名称跟大家平常会议室不太一样,我们公司的会议室名称类似于“前方高能”,“前方高能”这个词的意思就打比方,在 B 站看恐怖片或者一个片段,B 站用户会用弹幕刷“前方高能”、“核能预警”之类,我们就知道有很恐怖画面即将出来,恐怖画面出现的时候有弹幕护体把恐怖的画面用弹幕完全盖掉,你看不到就没有那么恐怖了。
我接手整个主站代码的时候,原有的代码有个外号叫 B 站全家桶,过去创业的时候,技术实现都是怎么快怎么来没有严谨的设计,代码写起来考虑工程化的事情比较少,所以整个代码组织很混乱。对我来说,在业务很多技术债务的情况下,最后选择 Go 语言其实主要还是看好其发展以及熟悉程度。当时老板对这个很支持,因为他感觉 Go 比较新可以吸引有技术追求的人才,其实现在 Go 在整个生态发展得不错,可以看到很多头部的公司在大规模使用 Go。
之前有人问我为什么要做重构,其实这是为了业务迭代效率最大化。当时 B 站的整个技术体系、技术团队并不是那么成熟。我们团队早期每次跟候选人交流,我说我是 B 站的面试官,对方首先问是什么 B 站?你们是什么公司?我只能跟他解释说我们是什么样的公司,其实很尴尬。所以早期招人很困难,BAT 大厂的优秀人才加入很困难。我当时人脉熟悉的人大都在北京,来到上海以后很多人都不认识,异地的门槛也比较高,所以我会优先找自己熟悉人。雷军雷总说过一句话,他投资的时候找自己最熟悉的人,也推荐大家在搭建一线团队的时候找熟悉的人、熟悉的团队。
公司比较小的时候要吸引非常优秀的技术人才非常困难,我的策略是新手培养,因为在团队规模比较小的时候,我带头干,身先士卒是一个比较好的方式。在这个过程当中,2015 年 - 2017 年遇到很多困难踩了很多坑。所有技术不错的管理者都很容易犯的错误是很多技术细节要插一脚,甚至技术天赋越高的人这个问题犯得越多。我早期属于技术、技能点很多管理技能少的人,不太重视团队建设,刚才说在重构过程中遇到很多技术事故,对我来说当时解决方案更多是通过技术手段而非管理手段解决问题。
当时非常喜欢谷歌的 SRE 方法论,面向失败来进行设计,这些思想最终体现在业务框架、业务的基础库里面。但是线上无小事,线上一定要如履薄冰,而大部分的事故都是人为变更导致,这些人为变更通常是非 SOP、非标准化的一些操作导致的。出现问题时只从技术角度来解决,缺少管理手段的介入,某种意义这种非 SOP 或者责任事故一定要重罚,一定是红线。
另外,因为 B 站在高速的增长,会遇到很多技术挑战还有困难,虽然团队的人也在成长,但大部分是按照我的技术规划、战略想法做了一些落地,导致他们没有很快速地成长为优秀组长、经理甚至总监。
最后,我当时跟运营团队更多谈的是技术思维还有技术迭代,从业务战略和产品规划上跟他们联动比较少,这也是做的不好的一点。
总结来说那段时间还是很有收获的。第一,B 站处于相对比较早期阶段,会非常简单做到技术的统一,其实很多大厂内部零散重复建设很多,解决问题要付出的代价会随着时间越来越大。
第二,无论是我还是团队都积累了一些架构以及设计经验。我个人积攒了很多技术影响力,这个期间对外输出了很多技术 PPT,其实到了 2017 年我个人是非常痛苦的,一直觉得团队在快速增长,业务在高度增长,自己精力消耗很多在日常事务里,也觉得自己处于瓶颈期。所以,当时我就决定加入架构师团队,突然跳出来一个人不管,一个光杆司令要做架构师,要协助做全公司级的技术统一包括语言层面的统一。我为什么出来?一方面给自己释放一些精力,因为之前日常工作非常忙留给自己独立思考时间比较少。另外,我当时还监管工程效率团队偏向测试开发,我之前测试方向积累相对弱一些,这对我也是一个挑战。
挑战自我这个时间点总结下来是放下管理和偶像包袱。因为之前在团队里面一两百个人,还是非常幸运的,我的很多技术想法有他们帮忙落地。但是自己单枪匹马出来以后,要协助其他事业部解决问题,还要说服他们用一样的技术、一样的组件其实是非常困难的。我觉得如果要做公司级有技术影响力的人,一定要深入一线解决一线的技术问题。所以,当时我先驻扎到 B 站的直播技术团队,去跟很多一线员工讨论技术方案、技术架构,只有在一线同事里有影响力,才是真正的有技术影响力。另外从主站协调了一些优秀的人去帮助他们团队进行技术演进,慢慢地双方有了更多交流,更容易促进合作。
技术平台好坏尤其靠其他业务团队口碑,之前自己做业务的时候要孵化很多中间件,沾沾自喜感觉做得不错,可是当我驻扎到其他团队,在对接的时候才发现那些平台有多难使用,所以要换位思考,平台做得怎么样以及哪里还需要改进。
在这一段时间内,我获得的成就感的方式从技术成就感开始转变为解决问题的成就感。具体来说,先要解决业务的问题,不仅仅是关注这个技术方案很厉害很牛要去落地。所有技术团队都觉得你既能到一线去解决困难,同时也可以带着团队打,这个非常重要。
当我们觉得很繁忙遇到瓶颈的时候,一定要留出很多时间进行独立思考,这不是空话。在你比较冷静空闲的时候,留出时间去想当前团队有什么困难,有什么问题值得改进,这样的独立思考是非常非常重要的。
最后一点是业务优先于技术规划,我们先做一小部分业务,满足公司对你或者对这个团队的一个要求,让别人觉得你这个团队可靠并且能产出,同时你要留出一部分人力来做技术规划还有长远的事情。
到 2018 年底,架构师团队、工程效率团队做到一定程度后,我跟老板聊了很多次探讨接下来做什么。当时有一个机会,B 站跟网易漫画的业务合并,派我去杭州出差做这个业务的整合。大家知道做这种业务整合主要是数据迁移,整体技术来说比较枯燥,但是那个时候从计划方案、实施、落地迁移,我都是义不容辞去解决问题,从结果来说也还做的不错。
进入第三个阶段,完成了漫画迁移工作以后我思考总结了几点经验:
第一,一定要不断跳出舒适区。因为我在第二阶段的时候其实已经比较舒适了,事情不太忙,也有不错的产出,绩效也还不错。但到底是职位给你带来的业绩,还是你个人去哪个地方都可以获得成绩,这个很关键。所以,一定要不断反问自己,分析了公司可能接下来在技术上面对的一些瓶颈。当时发现 AI+ 大数据,底层的技术基础设施可能会成为下一个瓶颈,所以跟老板商量以后加入了数据平台团队。我之前没有做过跟大数据相关的事情,也不熟悉不擅长,所以是很大的挑战。我刚加入的时候没那么有信心,有一点点害怕,毕竟大数据其实是非常复杂的体系,我自己个人积累不在这,如果你加入一个新团队,要思考如何快速吃透、掌握它。
我们知道大数据有很多的论文,这个方向的一些论文要快速阅读,大概掌握整体技术方向是什么样的。第二,一定要多请教比你厉害的下属,因为他们在大数据领域耕耘了多年,当然这也是我的工作习惯。为什么我在第一个阶段甚至第二个阶段花这么多时间来培养新人,是要让校招和实习生体验到团队对他们的重视。另外,的确可以从很多优秀的年轻人身上学到很多东西,包括代码、学习方法等等。
还有一点是寻找行业最优秀的人才,身为业务负责人很多时间都要花在寻找头部人才上,行业的人才 mapping 很重要。时不时要跟行业优秀的人才吃饭聊一聊,聊一些技术规划、细节,像猎头一样持续关注他,要认真的用心做朋友,放长线认识行业的人才。
我们招聘的时候,级别到一定程度的人才通常看几个点,首先是公司的发展,所以要聊很多公司业务上的规划还有战略,告诉我们在这个行业里面的优势是什么,以及加入团队对你的竞争力、公司对这个团队投入程度是什么样的。除了钱、福利、文化以外的东西。还有很重要一点是作为一把手跟他聊技术规划,他就知道你技术团队是什么风格。前一段时间跟候选人在聊整个大数据存储方向的演进,刚好最近脸书有一个对象存储的论文,所以会跟他说脸书的技术细节是什么,对应我们的规划又是怎么样的,对方就知道你在管两百多人团队还可以知道那么多技术细节,就会很倾向向往加入这样团队,这很重要。
技术团队不仅仅是靠威严来管理,大家对你的认知要是很优秀的懂技术的管理者。大家可能会问日常管理怎么办?其实,随着公司越来越成熟,最终管理一定是看靠管理制度来保障,所以也会听 HRBP 一些意见,结合公司管理工具覆盖掉、承担掉一些管理上的事情。
我在 B 站从 2015 年到 2017 年,其实经历很多起起伏伏。一开始我是起点比较高,当时管的团队非常多,但有一段时间老板可能觉得我某一方面做的不够好,不是很优秀的管理者,所以我到了一线做技术架构师。的确,到这一阶段摔下去的人大部分起不来,为什么?他可能抱怨管理制度抱怨公司,抱怨空降来了这么多人等等一系列细节,没有反思找问题思考到底你跟他们相比短板是什么。所以,你跟他们的差距是什么?要怎么解决短板?我们发展到一定程度,发展到一定高度可能就是公司的短板,要招更好的人这是非常正常的。
第二是我们要终身学习,事业下坡期或者短时间的失意并不关键,这一段时间要持续关注或者成长反思一些事情,想一想哪些需要改进,还有在你很忙的时候管理工作通常都出问题,真正好的管理者一定是有自己的空余时间,思考整个团队战略规划跟公司同步,跟行业去做技术 mapping,这个很关键。
还有管理要收放自如,每天一根弦紧绷的状态不够好,真正优秀的管理者能收放自如,休闲时候去拍照还有旅游什么的,长期紧绷对身体不好,状态也不是最佳的,经常看到很优秀的管理者一直谈笑风生,该严肃的时候非常严肃。
这就是我今天的分享,感谢大家。
毛剑,bilibili 数据平台负责人,goim、bfs、Kratos 等知名开源项目作者,有近十年的服务端研发经验,擅长高性能、高可用的服务端研发,熟悉 Go 语言。参与了大型互联网公司的巨石架构到微服务的完整转型,包括微服务治理、微服务可用性设计、微服务数据一致性设计、微服务中间件、微服务监控、微服务日志收集、微服务负载均衡和微服务 RPC 框架开发等。
大鹏学社是 TGO 鲲鹏会携手长江商学院推出的,旨在培养团队领导者卓越科技思维的商学课。目前,已经有 TGO 鲲鹏会会员易观 CTO 郭炜和 TGO 鲲鹏会会员涛思数据创始人陶建辉加入。期待和你一起,在大鹏学社学习成长。