You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
15 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 15 | 兴趣与个人认知
**极客时间:**听说你特别喜欢数学。
**张雪峰:**我最爱的除了家人就是数学、历史这两块数学是我从小的兴趣所以花的时间多一点我主要在B站上数学系的专业网课。
也有人问我是不是现在闲了才看我说不是的我一直在看。以前只是周末有时间要系统学习数学还是有点挑战因为周末后再上5天班基本就接不上了所以那时候看科普的多一些、专业体系化的少一些坚持了很多年。虽然很多人也不相信但这个确实是我从小的爱好。
还有一个催化剂就是,我刚上高一就拿了当年全国高中数学联赛省一(上海),但离那年(上海)省队有点距离,遗憾没能进冬令营。当时还自我安慰,如果在其他奥数一般的省,大概率可以进冬令营(笑)。但即使这样,也是我们学校那年重磅新闻(张雪峰高中是当年浦东唯一市重点,但不以数学见长)。当然了,我师兄更强,他高一省一、高二冬令营、高三国家队且是那年 IMO (国际数学奥林匹克竞赛)满分金牌。师兄是我当年最好榜样,也激励我对数学的持续热爱,直至今天。
**极客时间:**数学能给你带来什么?
**张雪峰:**数学带给我精神上持久享受,自然美感觉很棒。很多同学都有能带给他持续精神快乐的事物,对我来说,主要就是数学。或者更精确一点,是基础数学(纯数学)。
**极客时间:**是享受而不是那些枯燥的运算。
**张雪峰:**对,而且数学是自洽的,只要在这条路上,跑出来就是对的。数学和物理不一样,物理很多是人想出来的理论。杨振宁那套理论,已经是目前为止理论物理的天花板,几十年都看不到激动人心的突破,你看今年诺贝尔物理学奖,能知道个大概。物理更多是一个没法自洽的学科,它需要靠实验、工艺,靠现有的工业技术去证明,但数学几乎是完全自洽的。
**极客时间:**在工作之后还能持续钻研数学的人,好像很少,你会考虑到数学在工作中能不能用得着这样的问题吗?
**张雪峰:**我就是Enjoy这个学习过程而已其实我刚从阿里离开的时候很多投资人找我问我有没有兴趣创业或投资我说我的兴趣主要在数学、历史。但对企业来说企业更Enjoy结果数学尤其基础数学这个东西不太能直接产生商业价值。
**极客时间:**在平时的工作中,你会用数学的思维跟大家去讲道理吗?
**张雪峰:**会,而且经常用,或者更多是用逻辑的思维。大家不要被一些所谓的计算机原则(典型如:低耦合、单一原则等)迷惑,数学原则才是宇宙终极原则。
就像我前面讲过的,什么时候该内聚、什么时候该解耦,你不要被表面迷惑。举个例子:当大于等于两个调用方(消费者),都会去调用一段逻辑的时候,就需要考虑抽象为 Function/Service/API就这么简单。我经常会跟大家这样类比不要把简单的业务问题人为地引向技术复杂化。如果是创新或试错业务更要 Speed 第一,活下来后,才有时间谈 Architecture最后才有机会上 Scale。之前提过的物流团队极致异步架构、部分团队微服务过度等都是教训。还有以上观点可能并不适用真正技术驱动业务的公司或业务比如Google、IaaS/PaaS、无人车等。
数学是解释抽象最好的方式(物理也高度依赖抽象,但还需实验与观察),有人说为什么要学数学?买菜只要学小学数学不就行了?那不叫数学,那叫算术。开始有未知数这个概念才算摸到数学一点边。解方程有未知数,这就是一个抽象,然后再往上还有更高级的抽象,比如大学的抽象代数,可以把很多物理现象抽象出来。
我还想说一点,跟抽象对应的还有一个词叫“想象”,但想象这个东西很多时候是天赋,不是说你想要想象就能有,想象是可遇不可求的,抽象是你需要去锻炼的能力,这是可以锻炼出来的,不是靠天赋。举个例子,你可以感觉一下:线性代数教会了我们如何抽象看待所有线性方程组,多次螺旋上升的抽象过程后,天下再无不可解线性方程组;但同样是数学,初等(平面/立体)几何中各种精巧的辅助线(有些可以靠刷题或训练,但大部分难题还是靠想象或天赋),却是很多同学数学学习过程中的绝对梦魇。要么一分钟解出,要么只能看答案后叹为观止。
**极客时间:**你刚刚说了两个思维,数学思维和逻辑思维,它们有什么区别吗?
**张雪峰:**都属于“形式科学”,另两类是大家更熟悉的自然科学、社会科学。要说数学思维比逻辑思维更深一层的,除了抽象、缜密,还要有广阔想象、大胆创新。创新指创立全新数学工具甚至数学分支,用于解决当前体系无法解决的难题(详见“哥德尔不完备定理”)。如果只让我推荐一本关于数学想象的科普书,那一定是《思考的乐趣》。
**极客时间:**之前我们有聊到产研团队按领域划分的事情饿了么之前的团队划分比较粗糙嘛就是分C端和B端C端就是APP和网站B端就包括商户服务还有物流你进去之后第一件事是做拆分这里面其实就要用到逻辑思维。
**张雪峰:**饿了么原来就是个单体所有的业务逻辑就是一个东西、一个源代码库C端、B端、D端Delivery物流全在一起牵一发动全身也就是说你在部署的时候每个服务器都要布一坨这个东西一是影响性能二是发布很麻烦。只要有同学发布即使跟你无关你也要发布一遍所有的机器都要扫一遍。我们做技术的就要拆解肯定要至少再分一级。
拆分与否,我们当时就遵循一个原则:只要一个人有变化,一堆人要随着你动,或者叫“牵一发动大部分”的时候,这一定是有问题的。其实这也是逻辑原则或数学原则。所以我跟他们说,不要扯什么领域驱动、微服务了,就用这个原则。这个原则确实最容易讲清楚,但实践的时候要多次试、反复试。
单体是一个极端微服务或单一原则是另一个极端。饿了么从来没有真正提过微服务从来没有过我不去用这个概念。我们就是从业务的合理性去拆分。对领域驱动呢我当时也是持观望态度不能说保留态度我觉得领域驱动是一个模棱两可的东西顶尖DDD牛人或在大规模超复杂体系下成功实践过的同仁勿喷毕竟让绝大部分技术同学吃透DDD无论ROI还是效率都很低就跟架构一样所以我希望回归朴素就是从逻辑的角度或者数学角度给大家解释。所以当时我们也不做领域我把以前的经验带过来开始有一些中台的萌芽比如说把交易系统、营销系统拆出来把用户系统拆出来等等。
从逻辑上讲,当你十次里面有八次“牵一发要动大部分”的时候,你就没必要去拆,你就让它耦合(内聚)在那,哪怕最后合出来一个巨大的东西,那证明这个业务就是这样的,没办法。你要么抱怨很倒霉进入这个业务领域,要么你就自己想办法克服。当然还有一个办法就是你通过技术去改革这个业务,那意味着这个业务甚至整个行业的游戏规则都要变,在短时间内几乎不可能。之前也讲过,对绝大部分公司的技术团队来说,妄图通过技术驱动业务,还是省省吧。
**极客时间:**刚说到中台的萌芽,饿了么建立中台大概是一个什么样节奏呢?
**张雪峰:**最早是整合交易系统,后来整合营销系统,搞营销系统就附带着把会员系统也搞在一起。其实说到底,也不叫营销,叫权益。所谓的发券、会员体系,其实归结为一点就叫权益。这一点国内有两家做得非常好,一个是携程,一个是淘宝的 88 VIP。
我们搞中台不是从0到1应该说是从1到10因为我们本来就有这部分交易系统等只是散在各个团队后来就是交给石佳宁他们团队去整合整合的过程当然也比较痛苦。
架构调整的时候我们把C端、B端各个跟交易有关的团队交给中台去整合这就涉及人员调配有些Leader就不愿意交人嘛就是“你动我的模块我可以忍受你动我人坚决不干我转模块不转人”。这种情况在阿里是严禁的阿里一定是转模块必须转人阿里做得比较到位这就是成熟组织的表现。
我们以前这个团队,即使我强压也不行,大家就拒不交人,他说这个员工你让他过去,他要离职的。到后来磨了几次之后,大家也慢慢立下规矩:如果交出一个完整模块,必须人跟着模块走,去另一个团队,如果不愿意就离职。
所以一开始石佳宁其实拿到的是全部模块和光杆团队相当于活儿给他但要他自己找人虽然我给了他很多权限。所以石佳宁是很不容易的他几乎只靠自己原来的班底然后还要去熟悉C端、B端、D端Delivery物流业务把代码拿过来之后再拼起来。
他们从最难的交易系统开始做,搞定了之后,发现交易系统还不是最难的,最难的是营销系统。营销是千变万化的,运营介入最多的就是营销,因为营销有很多玩法,搞各种优惠活动。营销不好抽象,非常考验程序员对业务的抽象能力。
运营他们不管的提了一堆需求说给我实现这个、实现那个技术人员就要去抽象。最后我们的营销系统变态到什么程度那个界面刚开始做出来只有运营看得懂一堆Check Box而且还不能点错有些可以点错后台有告警但太多告警人也会麻痹。我们曾经因为运营点错按钮出过事故最后责任归到运营但人家也很委屈吐槽技术做得太烂说你们这个产品简直不能忍受搞这么复杂勾错就出问题。但技术人员就是一根筋他说我已经全给你抽象出来了所有的功能你只要点勾就能实现。所以营销系统是很难做的。
**极客时间:**可以谈谈你对中台的理解吗?
**张雪峰:**中台就是业务(商业)驱动的。我以大家更能理解的阿里来说,阿里后来做中台,其实真正的核心动力还是商业驱动。比如我在优酷注册了一个会员有一个优惠券,为什么不能在双十一的时候去淘宝买货?我在淘宝有积分,为什么不能在阿里其他平台用?所以淘宝得到一个终极结果就是 88 VIP就是会员体系这才是中台的原动力还是要从商业价值来看。把这些权益放在一起之后用户就有更大几率留在你的平台。
饿了么后来也搞会员系统,我们早期就是发营销券(外卖券),做营销券打通,开始还没有把它抽象成权益打通,后来有了会员之后,才想到要做权益,因为围绕会员的、跟消费有关的都叫权益,这个就更有价值了,包括把混合券这些东西都包容进去。
所以中台不是个业务,但它有业务的味道。
**极客时间:**接下来我们聊几个大的话题,你的人生理想或者说人生追求是什么?
**张雪峰:**除了家人,我还真没想过这个问题,如果抽象来说就是人和事两方面。
我先从人这个层面说我希望我把一些不同的人培养到超越我期望至少超越我的一个程度。就像我之前说做CTO的最大成就感来自团队的成长。超出期望就意味着他不是我原来可以掌控的我会在这过程中和同学一起成长对底下的同学来说他感觉是我把他培养出来但同时我也学习到很多。所谓相辅相成、相互成就大概就是这个意思。
我有这样的理想后来跟很多人也说过我非常不想做CTO我就想去挖掘高潜的人我感觉我可能更擅长做这个角色。当然我现在在做这种“冒牌中介”也是希望去把一个合适的人匹配到合适的岗位其实做这种红娘是很有成就感的不亚于去介绍两个同学或两个陌生人最后成为夫妻这种成就感。
从事这个层面,我只能说是追求美,是精神上的一种美,不是视觉或感官上的美。什么叫精神上的美,或者精神上的成就感呢?对我来说排第一位的就是数学,可能直到离开这个世界,我也会一直追求下去,既是兴趣,也是挑战。
**极客时间:**你有比较喜欢的行业吗?
**张雪峰:**我对一个行业很有热情我过去大概20多年的经历有一半时间是在这个行业里就是教育。
育人是一件很有意思也很有意义的事,有时候我自己看一些科普文章,很多很深的数学问题,有人就能把它用很简单的方式讲出来,让别人豁然开朗,我觉得很厉害。可能我对这样的事比较有热情,而技术只是我第二或第三兴趣,有时也是没办法,或者说你得先有饭吃,必须养家糊口。
**极客时间:**你有偶像吗?
**张雪峰:**历史上我有特别佩服的两个人一个是商鞅一个是李靖。但他们算不上偶像我好像过了需要偶像的年纪如果非说一个应该是我第一家公司的老板。他20多年前的理念甚至到今天依然前沿、足够前瞻20多年前他就已经在做标准化的事是通过公司的产品尝试标准化不止是停留在标准化理论上。
我的感受相当于什么呢?当时进这家公司,从编程来说,我算是小学毕业了,但是突然间一个中科院院士在那边给我辅导,就是这种感觉,而且他又非常平易近人,可以让我有学习的机会。一般的中科院院士即使再虚怀若谷,他也不可能跟一个小学毕业生去谈科学的。我至今还是一直认为,他对我的技术或技术观方面影响最大,但商业方面没有,因为他商业做得不太成功。
**极客时间:**你有没有自己坚持的人生信条或者是座右铭?
**张雪峰:**我总结六个字:活到老,学到老,再加上对精神美的追求吧。我希望一直到我生命结束,我都尝试去影响其他人对“活到老,学到老”的追求。从我的家人开始,这一年我已经引起我太太对历史的兴趣,开始买书看,还有我女儿,她以前也从来不看,现在算是有一些起步。
当然我能影响更多人更好但是影响更多人也比较难我也不想去做博客、去B站开个号甚至写书等等我不太想做这样的事。可能我觉得也很难影响到别人一本书里面的内容很难放之四海皆准就像我们今天的访谈即使把这些观点尽可能的普适化让别人真正理解也是很难的。
我更想个性化地去做一些力所能及的事去挖掘出一些不同的东西。“活到老学到老”的另一个说法就是持续去学一些不同的东西Difference