和大师们共事的机会——金昀(摘自《微软360度》)

来源:互联网 发布:债券销售岗 知乎 编辑:程序博客网 时间:2024/05/22 00:52
微 软最大的财富之一就是强大的员工阵容。在微软的研发人员里,有一批信息技术(IT)业的顶尖高手,其中包括三位图灵奖得主Tony Hoare,Jim Gary和Butler Lampson;12位美国工程院的院士;Lotus Notes的创始人Ray Ozzie;Windows NT的鼻祖David Cutler;XML标准的奠基人Jean Paoli;超级计算的领军人物Burton Smith;Delphi和C#的主要设计者Anders Hejlsberg;数据库领域的泰斗Peter Spiro,等等。“近水楼台先得月”,微软员工有幸和这些大师们共事并向他们学习,不啻是站在了巨人的肩膀上。
我 在共同语言运行库(CLR)组工作期间,有机会结识了微软的两位杰出工程师(Distinguished Engineer):编程语言运行环境专家Chris Brumme和Patrick Dussud。两个人的性格截然不同,Chris有问必答,Patrick则惜语如金,但他们都给了我极大的帮助。
共 同语言运行库(CLR)是一个庞大的软件系统,由70个左右的软件设计工程师共同开发,共包含数百万行代码,没有一个人能拍着胸脯说自己了解整个系统从内 到外的全部设计。但是大家公认,如果共同语言运行库(CLR)有什么问题别人都回答不了,就应该去问Chris Brumme。我就经常向Chris请教,每次不管我的问题多么简单,他都会不厌其烦地解答,Chris的讲解总是从系统架构出发,高屋建瓴,不仅让我搞 懂了一个问题,还触类旁通,对整个系统的软件设计都有了更深的认识。有一次我遇到一个非常棘手的软件错误,我和2个资深工程师同时调试也没有发现问题的根 源。但是如果这个问题不能及时解决将影响到微软一个大产品的及时发布,Chris干脆亲自下场和我们一起调试,他指出了几处最有可能出错的地方并提出了一 些我们以前完全没有考虑到的可能性,但是一整天我们也没有找到症结。Chris 下班回家前约定明天再继续帮我解决这个问题。当晚我决定再按他的思路试一试,结果一个通宵后,我突然灵光一现,抓住了问题。原来这正是Chris提到的几 种可能性之一,只是略有变化,被我们一时忽略了。我在那一天所学到的东西和那一刹那的感悟,只怕是再读10年书也换不来的。
共 同语言运行库(CLR)里最复杂的组件之一是垃圾收集器(Garbage Collector),这个部分在各种编程语言环境里都是最核心也是最难的。共同语言运行库(CLR)的垃圾收集器是Patrick Dussud一手设计的,如果有问题大家只能去问他,但是向Patrick请教问题必须做好功课,如果提的问题太浅或者他不感兴趣,Patrick是没有 耐性解释的,就算回答了也让人不得要领。在几次碰壁之后,我在找他之前都保证对要问的领域尽量领会透彻,Patrick 才对我有了耐心。渐渐地,我能从他简洁的话语中领悟到一些这位大师的软件设计哲学来。有一次我和他探讨一个垃圾收集器的错误,我谈了问题的表象和我的初步 分析后,他沉默地想了一会儿,就在白板上画了起来。他画的是托管内存堆(managed heap)的分布图,画着画着,他在图上一角划了一个圈,我一下子就明白了问题的所在。有人说当年西屋诊断电机故障的时候画的一个圈就值一万美元,对我来 说,Patrick画的这个圈也同样重要。
我 现在工作的高性能计算(HPC)部门里也是高手如云,有视窗(Windows)内核异步输入输出系统的专利发明人,有视窗(Windows)网络文件共享 系统的设计者,还有参与设计系统定义模型(System Definition Model,SDM)的软件架构师。每天和这些人在一起工作,每天都会有新的收获。这样的机会,对一个程序员来说实在是千金难买的。
 
原创粉丝点击