曾宪杰:技术团队要在专业上PK,但不搞哲学讨论

蘑菇街近来的发展十分迅猛,这支高歌猛进的团队引起了我们的兴趣,近日我们采访了蘑菇街技术研发部副总裁曾宪杰同学。曾宪杰花名顶天,2007 年加入淘宝平台架构组,主要设计实现了淘宝自研的 Notify 消息系统,并参与淘宝其他中间件的相关工作,2010 年下半年负责整个淘宝 Java 中间件团队,将团队打造成业内知名 Java 技术团队。2015 年初正式加入蘑菇街,负责整体技术工作。对新技术有浓厚的兴趣,虽然做技术管理的工作,还是保留了一颗码农的心。曾在 QCon 北京、Archsummit 深圳大会上有主题分享。著有《大型网站系统与 Java 中间件实践》一书。

InfoQ:能否介绍一下您最近重点在做的事情,以及关注的领域话题?

曾宪杰:最近重点的事情规划美丽说、蘑菇街、淘世界三家公司融合后的整体集团的技术路线,也在做集团的技术架构的调整和融合。此外的一个重点是和团队投入在通过混合云来改进现有技术架构。比较关注的是和大数据还有云计算相关的话题。

InfoQ:2004年底的时候您在重庆跟人合伙创业过,2007年加入淘宝的时候淘宝是一个刚脱离创业阶段的团队,去年加入的蘑菇街也是一个刚脱离创业阶段的中型公司。这三次工作环境上的变更,您的新角色都不一样,在进入这些新角色的过程中,哪些事情是您最享受的?哪些事情又是最让您感到压力和挑战的?

曾宪杰:2004年底离开上海去重庆创业,那个时候也是自己本科刚毕业两年半,还依稀记得当时是兴奋,以前大学看过一本《清华园中的创业启蒙》,还是很想体验下创业的,所以创业本身就让我很享受。2007年本科同学内推面试淘宝,当时有两个事情自己有压力,一个是面试,当时不确定是不是能通过(毕竟之前的两年半自己在创业中做的事情很杂),另外一个是试用期快转正的时候让我转Java,在淘宝的挑战还是比较多的,毕竟在我在淘宝的前几年赶上了淘宝业务高速发展的时期,对技术的挑战很大,在淘宝最享受的也是这几年的挑战时光。在蘑菇街,自己要为公司整体的技术发展负责,这一年多来确实很辛苦,但是很爽。过程中也会遇到很多困难和问题,但更多的感受是自己肩上的责任。

InfoQ:从您个人的角度,如何看蘑菇街在电商领域的发展空间?

曾宪杰:蘑菇街在很多人眼中是一家垂直电商,其实在我看来蘑菇街并不是一家仅仅做电商的公司。三家公司融合后的新的集团的使命是“让一半人类更幸福”。我们会充分发挥科技力量,在服务女性的各个领域提供极致体验,那么目前我们主要提供的服务是时尚电商以及时尚资讯。那么单就电商讲,纯货架式的电商已经很难做了,我们希望走的路是电商、社区、内容相结合的方式,给到我们消费者更好的体验。而且在无线时代,我认为我们更要做的事情是围绕人群来做,该做深的地方是要做深,不能仅仅只提供一个很薄的平台。确实会有一些脏活累活,但是首要的是保障我们用户和消费者的体验。

InfoQ:今天的蘑菇街,相比今天的淘宝,以及2007年的淘宝,对技术人员的要求有哪些异同?

曾宪杰:互联网包括电商经过了多年的发展,已经有非常多有经验的从业人员了,相比于2007年的淘宝,在人员的技能方面的要求会更高,而对于从业经验的要求也会高一些。

InfoQ:最近看了什么有意思的书籍或者文章、演讲跟大家分享?

曾宪杰:最近没有很系统的去读书,基本上是在看4月份QCon北京会议的资料,还有InfoQ架构师的资料,更多的时间还是跟团队一起在看如何解决我们面临的具体的技术问题。这些也是多年来的习惯。后面如果有时间,我自己会想看一些跟机器学习相关的书,自己之前主要做研发,不论是客户端(当年是Windows)还是服务器,包括一些分布式架构都相对经验多一些,希望是后续在自己不深入了解的领域可以多花些时间。

InfoQ:过去这一年自己最有成就感的事情是什么?感到自己在哪些方面又有成长了?

曾宪杰:去年一年,比较有成就感的事情有两个,一个是在我加入蘑菇街之后,在原先的技术团队的基础上,帮助团队的人员结构变得更合理了,不论在业务应用开发还是业务平台开发以及技术平台和算法方面,都引入了比较资深的Leader和核心员工,为整个集团业务快速发展提供了很好的技术人员储备,也能让技术跟上并超过业务的发展。另外一个事情是去年做了很多非功能层面的改造,使得当时的蘑菇街的技术体系有了比较好的分层和抽象,这也客观上让今年的融合在技术方面会更有准备些。

对于个人来说,过去一年自己负责的技术团队比之前的范围更广,过程中学到了很多之前自己不关注的东西,但是还需要再努力学习和提高。此外因为更多的参与整体公司战略、业务上的讨论,这些方面也有很多收获。

InfoQ:关于蘑菇街的员工福利和执行力,我们听到过不少故事。您感觉这边技术团队的工作方式与工作氛围,有什么特别喜欢的地方可以分享?

曾宪杰:员工福利上,我觉得简单去比平均花在每个员工身上具体的钱,蘑菇街未必是最多的,比我们有钱的公司多了去了。但是如果说对员工的用心程度,我想蘑菇街是我接触过的公司里面最好的。举个例子,之前没有加入蘑菇街的时候,我也在自己业余时间受邀来跟蘑菇街的同学做过技术分享,临走的时候组织分享的同学给了我一个礼物,是一个蘑菇街自己的牙牙公仔,让我带给我儿子玩儿,因为来分享占用了我陪儿子的时间,后面回家把公仔给了儿子才发现袋子里面还有一盒香水是给我太太的,这些礼物从绝对价值上我想也许不算是多么多么的贵重,但我自己感受到的是组织分享的同学的用心;再比如说,蘑菇街是比较早就全员使用Mac笔记本的公司,在我看来这不是一个钱的问题,而是蘑菇街如何看待员工的问题,如何去给员工尽量提供更好的工作环境的问题。

而在技术团队上,毕竟自己之前也经历了很多,在团队中我强调的是技术团队之间是竞争和合作的,但是我们的合作是大于竞争的,团队本身有自己的方向和分工,但是不论是团队还是个人,你都可以也有机会去挑战现有的实现方案,我们鼓励专业上的PK。大家做事情都比较简单。当然,也会遇到问题,但是我们直面具体问题,并且给明确的结论。不搞哲学讨论。

InfoQ:蘑菇街的技术博客mogu.io更新的挺不错,这个博客现在是怎样维护的?

曾宪杰:这个比较惭愧,之前带淘宝Java中间件的时候,我自己花了很多时间维护当时团队的博客。蘑菇街这里,我提到过我们应该去做公众号,应该有博客,但这个现在更多的是团队自己自发来维护。

InfoQ:蘑菇街的架构大量使用了开源软件,为了在业务中把它们用好,就要把它们深入研究,并加入自己的修改。这边对于工程师把对开源软件的修改提交patch给社区是怎样的态度?是否会提供一些额外的时间和指导?

曾宪杰:对于开源,我的态度是合适的开源软件我们要首先拿来用,然后我们要研究他并且能用好,再接着是我们有能力来为开源贡献自己的力量,我非常鼓励工程师去提交Patch给社区的,15年Q4,我们数据平台的同学应该是提交了2015个Patch给社区。对于一些同学,去做优化本身就是他的工作而不是额外时间才能去做的事情。

InfoQ:600多人的研发团队已经是挺不小的规模,而且蘑菇街现在还在做比较多的招聘,尤其去年的校招好像规模特别大。现在校招和社招的新人进来会直接做一些重要的项目吗?接受怎样的指导?

曾宪杰:我们的项目很难说哪些重要哪些不重要,在我看来都很重要。校招和社招的新人进来后,会有师兄或者师姐来带,会逐步参与到线上的工作。这个过程中师兄/师姐和主管会给到员工很多的帮助、指导和要求,也会有研发部这里的新人通用的课程和专项的和岗位相关的课程。此外,我个人是觉得真正做事情是最好的成长和融入。

InfoQ:今年年初听说蘑菇街的架构在做前后端分离,以便更好的支持多个前端的同时保持后端的稳定。这是一个架构上比较大的调整,现在的进度如何?这个推进过程中有哪些关键的推力?有哪些大的困难?

曾宪杰:前后端分离的事情基本上我们改造结束了。其实比较大的困难是人员不够、业务不能明显受影响,然后还要把改造搞定。过程中在统一大家的认识、确定具体方案并且能确保方案合适蘑菇街的现状也花了很多时间。每家公司的人员情况和当前系统的实现都不同,对蘑菇街来说,更主要的是希望前后端分离后,后端同学可以更关注业务逻辑,展现交互的逻辑就交给前端来做,中间通过纯数据的接口来交互,这可以很好的让双方都能够提升自己的效率。而推动这件事情能全部落地和搞定,在蘑菇街内需要我来做方向上的决策,然后拉相关同学来找到合适的方案,然后就是落地了。类似这样的事情,不能完全靠员工自发。

InfoQ:你们内部的OpenStack+novadocker+Docker私有云平台现在规模如何了?这方面现在主要在进行哪些工作?

曾宪杰:基于OpenStack+novadocker+Docker的私有云平台上线运行了一年多,这块已经相对稳定了下来。除了Docker,我们线上也支持KVM的虚拟机,现在总体规模已经有了上千台。我们主要的目标是全虚拟化,也就是Docker和KVM能够覆盖整个集团的全部业务。现在我们的工作主要分三块,一块是保证线上的稳定性,及时解决平时出现的问题,保障每次大促的稳定性,第二块是不断完善现有的私有云平台,使得业务方能够更便捷的使用平台的各项功能,第三块是研发下一代基于Docker的容器云平台,目前主要在做的是基于Kubernetes的研发性工作,同时也在升级Docker版本,跟踪业界最新的一些技术动态。

InfoQ:有些基础层面的技术,比如存储和CDN,你们同时使用自己内部的资源和一些第三方服务。对于第三方服务的选择和采用,现在是以怎样的策略进行的?

曾宪杰:凡是能帮助蘑菇街业务更快、更好发展的第三服务,我们都表示欢迎合作,甚至主动寻求合作。合作伙伴的产品技术指标首先需要满足我们的业务要求与后期技术演进;其次我们也很在意合作伙伴能向我们提供快速响应的服务,甚至是主动服务;另外,选择和我们“趣味相投”,有同样的技术情怀、技术追求与技术积累的合作伙伴,也会有利于双方的顺畅合作。在同一领域内,我们通过技术、服务、商务等多纬度的对比与竞争,选择有效数量的合作伙伴为我们提供第三方产品与服务,这样一方面可以保障我们选择到更优的合作伙伴,另一方面我们也要让合作伙伴在与我们的长久合作中获取应有的回报,从而双方可以携手并肩、实现共赢。

InfoQ:技术团队在今年还有哪些重要的目标可以跟我们分享的?

曾宪杰:技术团队今年重要的事情就是平台化和混合云。去年年底,蘑菇街推出了一个番茄炒蛋的APP,这是当时我们除了蘑菇街这个APP外第二个面向消费者的APP,当时我们的平台化做的还不是特别好,所以为了这个APP也做了一些重复的工作。今年希望可以在电商基础相关的用户、商品、交易、店铺、评价等等方面都平台化,可以更灵活快速的支撑上层业务,这个事情去年年底开始也在做今年会比较好的落地。混合云主要是来自于去年应对双11的思考。我们不能每年都通过自己买很多机器的方式扛双11的峰值,所以必然是需要用公有云来帮助我们应对双11的一些峰值,当然不是在公有云上把我们的系统从头到尾搞一遍,更多的是分摊我们读的压力,真正的交易创建等等这些还是在蘑菇街自己的机房来做。而且除了双11的峰值外,我们也打算下半年的时候可以把更多的读利用公有云解决,并且是做到更小时间粒度的弹性。

你可能感兴趣的:(曾宪杰:技术团队要在专业上PK,但不搞哲学讨论)