9月23日,我来杭州参加了百技培训。 不似百阿,开始前对于百技我倒并没有特殊的期待。因为一天的培训嘛,很可能只是走个过场,能学到多少东西我是持怀疑态度的。不过今天上完一天课,我认为百技确是算是不枉此行的。趁热打铁交作业,写下这篇感想。

Now, when it's fresh —— Dr.Grace 《Avatar》

今天有五位主讲嘉宾:一粟、沈询、范禹、南天、玄难。

​ 在我看来,玄难老师的课最具启发性与帮助,南天老师的课干货满满而风趣幽默,沈询老师讲的最为生动形象、深入浅出,一粟老师则在安利自家钉钉,而范禹老师的课则最具大哥范儿。

首先上场的是钉钉团队的高级架构师一粟。第一个讲座叫《前世今生系列 - 钉史变迁》。钉钉的广告确实打的很响,我住的地方电梯里都印上了钉钉的广告,所以嘛,第一节课的第一个问题,钉钉的slogan是什么,就让我拿了一血,获得淘宝开源勋章一枚。一粟老师为我们讲解了钉钉的设计理念:与“朋友圈”对应的“工作圈”概念。同时现场演示了Ding一下的功能和电话会议的功能。实用的技能, 实用的工具。但在我看来作为百技的开场讲座讲这个可能并不是非常合适,毕竟形而上者谓之道,形而下者谓之器也。第一节课的最后,一粟老师提出了“如何优化弱网环境下的链接,如何优化图片与语音传输”这类问题启发大家思考,在我看来这恰恰应该是这堂课最有价值的地方,可惜因为时间关系被截了。不得不说是个遗憾。

第二堂课《前世今生系列-TAOBAO.COM的坎坷之路》,则由中间件的资深技术专家沈询讲授。这堂课讲的非常的好,是沿着历史发展的顺序去讲述的,思路非常很清晰。介绍了淘宝发展历程中技术架构的演替,以及其中面临的许多问题。淘宝流量上涨带来的带宽压力,数据库load上涨的问题、开发成本随团队规模急剧增大的问题、硬件中转的瓶颈问题等等等等。毕竟不少东西都是他本人做的,讲起来直击思想本质。这些问题的解决方案不少倒都是耳熟能详,其解决思想也都是非常简单直观。一言以蔽之:一颗万能大力丸:中间层解耦;两把优化大板斧:Parallel & Hierarchy。当然我也非常清楚简单的解决思想绝对不意味简单的实现难度,毕竟有太多太多的corner case需要去解决。

讲座的内容细节我不会赘述,让我感到高兴的是沈询老师的授课方式,这一点我却是不得不特意提一下。沈老师的授课方式有两个特点:一是采用的是面向历史的授课方式;二是着重于认识见识而非知识的讲授,注重技术思想而非实现细节。(当然,其实南天与玄难两位老师也都是这样甚至更好)

课程从淘宝最开始的(WebApp—>DB)的架构到现在乍看眼花缭乱的复杂体系,对于每一次架构的升级,沈询老师都会点出问题是什么,问题来自哪里。告诉我们解决方案的思想而不是细节,最后是应用的效果。不少的课程培训喜欢长篇累牍地讲解“精妙技术实现细节”。但是我所关心的,是原来存在什么样的问题,这个问题是怎样被发现的,解决的思路又是什么,最后实现了什么效果。对于那些我很可能这辈子都不会用到的Domain specific trick, None give a shit. 那些是知识不假,但真正贵重的,一是能用于敏锐地看出问题所在、想出解决思路的认识,二是能运用知识解决问题的见识。对于淘宝发展的每个阶段,沈老师都阐述了自己对问题的看法,以及思考的过程 ,这些毫无疑问才是珍贵的。

另外一个特点,也正是与讲座系列的名字《前生今世》相关的,则是面向历史的学习方法。这个方法从我接触哲学之后便一以贯之,因为黑格尔有言:哲学即哲学史。我认为在很多学科的学习中学科历史的地位被大大的低估了,而在项目实战中这个趋势要稍微弱一些。在一些教科书、项目文档中往往都是所谓的“知识结晶”。结晶很美丽,但我们却无法仅仅通过观察结晶在这一刻的形态,来了解结晶形成时的环境与条件,发现结晶形成这一过程背后的机理。了解知识本身表示掌握了当前状态,了解历史则是把握了发展趋势。只有当位置与速度同时确定时,我们才能对未来有一个准确的判断,做出正确的决策。离开了对历史的了解与学习,我们就无法了解问题的来源,根本的需求,以及解决方案在那个特定时期的历史局限性。知识与方法只有与其配套的适用环境才构成完整的解决方案。很高兴沈老师的讲座没有说把现在淘宝的架构拿出来,拆成一个个部件BlahBlah说一通,而是以整体论的方法,进化史的形式阐述了其演进过程,感觉效果非常好。这个讲座系列,挂着《前生今世》系列的头是名副其实的。

、在此插一句题外话,在讲座中也有提到了知识图谱。对此我也有一点感想,也正好与面向历史的方法有点相关。现在的诸多“知识图谱”都有一个问题,知识图谱是一个网状结构,但它绝不应当是一张平面二维网络,它的第三维便是时间维度,历史维度。知识图谱中的连接,不仅应当包括原来每个时间切片平面内概念的联系,更重要的是跨越时间片的关联。囿于二维的展现形式,也许这个也只能是个想法,但也许最近的虚拟现实、增强现实技术可以为这样知识图谱的呈现带来新的契机。 最后,因为实习时正好在搞爬虫和推荐系统,沈老师的讲座中第一个,也是唯一一个问题:用五句话描述搜索引擎的工作。又让我拿下了一血。两枚奖品券,蛤蛤。

第四个课程是。《前世今生系列- 双11的这些年》。主讲是天猫双十一的负责人资深总监南天老师。

如果说沈老师的讲座打9分,那南天老师的讲座就要给10分了。双十一的故事讲的非常好!以后吹牛都有资本了(笑:D)。其实最主要的原因是:如果说沈老师探讨淘宝网整个的技术变迁可能显得离我们还有一些距离,那么南天老师以一个大家耳熟能详亲自参与(作为用户)的具体项目为切入点显然是极接地气的了。全程高能,除了各种第一手精彩小故事,这个讲座的干货分为两部分内容:从Leader视角看项目的方方面面,以及由具体需求推动的技术变革历程。 同样是技术架构的演替,因为刚上过沈老师的培训,南天老师的讲座就显得非常通俗易懂。在这个讲座中,抛却关于天猫双十一知识性内容以及对于项目起承转合认识见识的内容不谈,给我印象比较深有两点。

第一点是关于技术局限的两个核心问题:可规模性与开发冲突。这两个问题Havard E-75和《人月神话》倒是分别都已经讲的挺清楚了。我倒是宁可把这两个问题理解为:钱不能解决问题了和人不能解决问题了。这两个问题在技术水平和业务需求的赛跑中总是轮流出现。如果说上一次通过上云解决的是可规模性的危机,那么下一次面临的业务增长瓶颈则很可能会再一次发生在技术协同上,其实也已经可以看出一点苗头来了。(与其把协同开发危机当成技术问题,倒还真不如说是管理沟通的成本问题)

第二点是关于技术进步的前进模式:演化与规划。这倒是有点类似神经网络和专家系统的区别了。我请教了南天老师对于未来技术瓶颈的看法,他认为我们的技术是演化的,需求推动的。谁知道未来会走向何方呢。这里也不具体展开了。总之,这一场讲座也非常给力。

最后由研究员玄难老师压轴的讲座《技塑人生》,我认为是整个百技中最精彩的课程,在这节课上学到的东西可以说是价值无量,真真正正宝贵的人生的经验。(续一秒)。基本上玄难老师提出的所有观点构成了我在这些问题上看法的超集,所以听时真正感到非常激动,扼腕不已。 概要大致如下:

  • 程序员的视野问题:引发对于博与专的思考,顶级人才的技能构成应当是一专多长,专业特长+万能接口。作为程序员要去积极了解业务,思考产品(但不要越俎代庖把PM的活都替了)。又可以写一篇了。
  • 开发模式问题:敏捷开发快速迭代背后的意义。反正我自己已经逐渐由效率强迫症转向以灵活性适应性作为最高追求了。
  • 关注人的价值,把人当人看。这一点触动非常大。标签化的时代,我们究竟能愿意去探究多少人内心的状态,而不是仅仅通过外在的接口来快速打标签分类?
  • 融入团队:心态与定位的调整与转变,放下过去的成绩,脱下伪装,直面矛盾与冲突的深度交流。
  • 人生规划:与另外几位厂内老司机的教诲不谋而合啊,好好干,年趁轻拼一把。
  • 直觉:一种极为重要的非规则化决策判断模式,不如落落磊磊地承认人脑神经网络决策的有效性与不可解释性然后大大方方用起来吧。
  • 价值观:世界观,人生观,价值观是构成人精神内核的组件。我原有的真善美价值体系与阿里现有的价值观体系完全兼容,轻松建立了映射。其实这个才是真正重要的东西,但是很显然不适合作为作业发在技术交流社区。

玄难老师的讲座内容已经超越了技术的范畴,而且就算是程序员也到了该睡觉的时间了。因此最后一个课程的个人的经验感受只能提个梗概,就不在此分享了。

总之百技还是很给力的。全程收了四个答题币,拿了两个一血一个二血,换了个淘公仔,一枚淘宝开源小勋章,还有提高了的姿势水平,开开心心回家了。