八九年前我在盛大创新院工作的时候,见识了各路神人。今天我想谈谈其中之一,他就是程劭非。
程劭非是谁?许多人可能都没听说过,一开始,我也没听说过。
大概是2010年夏天的一天中午,有同事介绍说:“这是新来的家伙,一起吃饭吧”。我一看,呵,好家伙!大个子,微胖,眼睛眯缝着,笑脸看起来一副人畜无害的样子,目光平和,看不出多少心眼。既然如此,那还等什么,一块走吧。
正好那段时间猪肉价格上涨迅猛,有新闻报道说政府投放了不少储备的猪肉稳定市价,这是我们第一次听说有“储备肉”。那时候大家都随便,开起玩笑来毫无节制,正在吃饭的Tinyfool一拍大腿:“你看,我们国家还有这么重要的资源啊。对了,你,就你,哎呀也不记得你叫什么名字了,以后你就是我们这儿的‘储备肉’了”。
就这样,这哥们连叫什么名字,做什么都没被我们记住,就被安上了一个“储备肉”的诨名。不过他脾气真好,憨厚一笑就接受了。要知道,有些程序员虽然很闷,表面看起来不善言辞,但真的被开这种玩笑,尤其是第一次见面就被开这种玩笑,内心会非常不爽,憋久了剑走偏锋的都有。但程劭非不是这样,他就是真接受了,安之若素。以我对他的了解,他绝对没有怀恨在心。
因为我和他不在同一层办公,所以也只是吃饭时碰到了打个招呼,但每次叫“储备肉”,他都只是嘿嘿一笑,然后加入进来闲聊。以至于开始那段时间里,我一直搞不清楚他到底是做什么的。
我的认识改变,来自一次技术讨论。当时正好是众人仰望的“大神级同事”,正在研发操作系统的潘爱民老师从北京来上海,和大家讨论在做的一个项目。当时3G网络还没有普及,要在远程做点事情还真是挺难,大家想了很多办法来提升用户体验,改进加载速度。
出乎我意料的是,程劭非发言了,我才知道他是做前端的。这人好像换了个人,丝毫不见平时嬉笑的憨厚,完全是一脸正经。更让我意外的是,我之前理解的“前端”,更多是熟悉各种类库、效果,好一点的熟悉协议,但程劭非他们把讨论引向了更深的层面:一个网页从开始开始传输源代码的第一个字节到用户能看到,到底经过了哪些步骤,资源是如何传输的,浏览器什么时候开始绘制,整个绘制流程分几步,每一步的瓶颈在哪里……
因为我主要是做后端的,故而许多知识我从没听过——要知道,以前这样类型的讨论只有后端做底层开发的工程师才有兴趣,前端的家伙们都是敬而远之的。而且那还是2010年,根本不像现在这样,有强大的profile工具直接给开发人员提供现成结论,当时许多都需要靠手工,必须先弄懂才能动手。我虽然不动前端,但是以我对后端的了解,我知道他说的是对的,是符合科学逻辑的。
过了一两年“全栈工程师”的概念开始热门起来,我赞同的说法是,真正的“全栈工程师”不是什么都会,而是“有足够的知识和能力,遇到什么问题就能解决什么问题”。我第一次接触这个说法的时候马上想到,程邵非应当就是前端出身的全栈工程师。
不过,这家伙虽然懂那么多东西,平时一点也看不出有什么架子,即便是谈前端的工作,他也只是谈好玩的。我印象最深的是他说自己之前在微软亚洲工程院做IE浏览器开发,看到一行注释(脑补用略带东北口音的英文念出来):
//this bug should be fixed in IE 4
可是下面再没有任何信息。也就是说,这个bug一直处在“should be fixed“的状态。
要知道,IE4还是1997年发布的,等这家伙去微软已经是2008年了,当时写这行注释的家伙早都离职,不见踪影了。十多年里无数人维护过这段代码,但谁也不敢去碰。这也成为“前人埋坑,后人装瞎”的经典案例,为大家津津乐道。
后来我才知道,程劭非的神奇之处还不止于此。那时候经常有一些老外来技术交流,有一次W3C(正式名字叫“万维网联盟”)的人要来,就听这家伙在四处搞“宣发”:“W3C老头儿要来了,过来听听;W3C老头儿要来了,过来听听”。本来挺正式的技术交流,许多人认为W3C距离我们太遥远,但是被“W3C老头儿”这个名字一带,就立刻显得喜感十足,最后去参加的人真还不少。
如果我没记错,当时来的大概是Mike Smith(我能查到的头衔是“W3C副理事、W3C Web Payment标准计划技术专家”)。交流现场负责接待的就是程劭非。老外讲一段,他翻译一段,再自己补充上相关的背景知识,间或还跟主讲人对聊几句,整个交流被他搞得其乐融融。冲这一点,我对他的佩服又多了几分,要知道,不少程序员的编程水平很高,但英语交流其实相当吃力,技术好英语也好的人其实并不多见,尤其当时更是如此。
再往后,我离开创新院之后,关于他的很多事情就都是从网上听说了。
首先是知乎出了“温兆轮三狗”,其中的“温”就是程劭非,网名winter。看大家的讨论,winter的好评是最多的,认为他“技术扎实,性格随和,有感召力”,许多人也开始叫他“winter大神“。
然后是出现了他“手撕前端圈”的江湖传说。具体细节我不知道,不过我觉得可信,这家伙看起来大大咧咧的,也只有谈技术的时候能爆发出“手撕”的狰狞面目。与之相关联的还有两条轶闻。一条是他去面试豌豆荚,结果被面试官评价为“前端基础不过关”,惨遭淘汰。另一条是他在知乎回答“第一次将薪水告诉家人是什么体验“,答案是”妈妈快来帮我看看这是几个零“。
后来这家伙在阿里成为了手机淘宝前端负责人,带领团队开发了 Weex 移动前端开发框架,可以支持手机淘宝这样的航母级移动应用。另外必须承认,阿里巴巴前端团队对移动网络、SPDY、HTTP/2的研究是相当领先而且细致扎实的,我司前两年的网络优化工作很大程度上也受益于此。我相信,这其中一定也有程劭非的贡献。
当然,随着他在职业上一路发展,这家伙的形象也在不断进化。在我那部早已淘汰的iPhone 4里,还保存着几张之前的照片,经他本人同意发在这里,大家可以自行对比。
2010年9月,最近处是winter(此处有彩蛋)。
2010年11月,最近处还是Winter
这是网上找的近照 据说现在已经把胡子刮了,不然太碍事
我最近听到这家伙的消息,是他在 极客时间 开了一门课,叫《重学前端》。依我看,这个名字多半是他自己取的,因为我和他有一样的困惑:前端有时候太热闹了,花花名堂太多,真正的问题却解决不了。
既然如此,不如彻底静下心来,跟他重新学一遍前端,重构自己的前端知识。我想,这应当是值得的。