按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
繁体字版也在台湾上市,很快也成为销量第一名。很多读者喜欢这本书,也有些旁观者觉得这本书也不过如此——依仗微软的名声,搜罗一些题目,吸引眼球罢了。不过,这本书的持续畅销还是说明书的内容的确有过人之处,不是昙花一现的炒作。
我想贴一幅图展示《编程之美》这本书的创作过程,图中的两条按月变化的曲线,一条是我和其他作者交流的email数量;另一条则是我和编辑们就这本书交流的email数量。
谚语说,一幅图胜过一千句话,不同的人有不同的一千句话来解读这些曲线。《编程之美》从2007年2月构思,到2008年2月完稿,花了1年时间。我想说明一下为什么曲线在2007年10月左右会有大幅度的下降。一个原因是,那时候,我们写了不少题目,自己觉得该写的都写了,但是题目中很难看出来“美”,大家得喘口气,从“审美疲劳”中恢复出来。另一个原因是,编辑们也看出来书稿的质量并不像原来想象的那么好,有人建议干脆去掉“美”,封面大书“面试秘籍”或“我是如何打入微软的”即可——市面上质量一般的面试书也卖得很好,我们不如乘势也赚一笔算了;我们原定2007年11月份出版,如果这时,大家扛不住,稀里糊涂出了书,或者大家就此散伙,我想这一定不是一件美事。这段时间是项目比较黑暗的时期,后来责任编辑之一也离开了。
驽马的自白 邹欣(2)
后来呢?从图上可以看出来,我们经过10月份的喘息后,增加了人手,开始了一个新的里程碑(milestone),大家针对一些难题紧咬不放,从办公桌讨论到餐桌上;砍掉一些不够“美”的题目;请了三位同事给我们专门挑错;我的“drive”也升级到“hard drive” ——以请吃午饭为名,和每一位作者逐句复审,如果email 没有回复,就打电话敦促,在这个过程中,所有作者的信念都没有动摇——我们要把程序中的“美”介绍给读者。
当年大家背诵的古文里有“骐骥一跃,不能十步,驽马十驾,功在不舍”这样的话,也许开始大家都自以为是骐骥(千里马),蹦跶蹦跶,搜罗一些题目,辅以伪代码,并掺杂若干幽默,就大功告成。没想到后来发现我们自己都是一群驽马,一匹马蹦跶不出什么名堂,要大伙儿团结协作,长途跋涉,中途还要歇息几次,才能达到目的地。世上骐骥罕见,而驽马满大街,有些驽马能跑出一些好成绩,我看关键在于“功在不舍”这一句话。IT业界不少人嘲讽某公司的软件只有到了版才好用,看来这也是一群“功在不舍”的驽马在干活。
软件开发有一个阶段很少有人提及,叫“death march” 。就像军队攻城,一队队士兵冒着炮火出击,伤亡无数,但是敌人的城堡仍旧岿然不动,火力看似依旧那么猛。硝烟中,焦头烂额的指挥官还是下令新的士兵继续出发,开始又一轮的march。在软件开发中也有类似的情形,就是你每天都加班写程序,改bug,但是bug不见少,第二天,第三天,下一周,下一个月……还是这样。有军事家说过,最后的胜利往往产生于“再坚持一下”的努力之中。经过无数大大小小的“再坚持一下”和“death march”,最后,有些军队破城而入;最后,有些软件成功发布;最后,有些书出版了。
也许可以这样说,微软亚洲研究院这十年来的成绩,来源于领导的鼓励和自由的环境,更重要的,还是来自于每个员工坚持不懈的努力,和“再坚持一下”的决心。
作者介绍:
邹欣,现任微软亚洲研究院技术创新中心项目主管,主要负责研究成果向产品的转化。他于1996年加入微软公司,前后参与了 Outlook; Product Studio; Visual Studio等产品的开发工作。他利用业余时间写了《移山之道—— VSTS软件开发指南》(2007年),《编程之美——微软技术面试心得》(合作,2008年)。他还在清华大学软件科学试验班讲授 《现代软件工程》课程。邹欣于1991 年获北大计算机软件专业学士学位;于1996 年获美国韦恩州立大学计算机软件专业硕士学位。
在微软栽种未来 迪恩·思劳森 (Dean Slawson)(1)
2006年夏天当我迈入微软亚洲研究院的时候,这里的一切充满着神奇的色彩,许多只有在科幻电影中出现的技术在这里发明和诞生着。置身于此,我就像穿梭在时光隧道,进入了未来的时代!这一相同的画面,又让我情不自禁地联想起11年前第一次踏入微软位于美国华盛顿州雷德蒙总部时候的情景:热情高涨的员工和实习生,充满着无限魔力的技术,大家拧成一股绳的执著精神,似乎人们都在为了一件大事情而忙碌着——一件可以让整个世界变得更加美好的大事情,包括影响到成千上万可能成为微软用户的人们。我知道,自己来对地方了。
我来到了最“火”的实验室
夏季的天气又闷又热,麻省理工学院《技术评论》杂志的封面文章称MSRA是“世界上最火的计算机实验室”,看来还真是一语双关。作为微软亚洲研究院的外国专家,我受沈向洋博士邀请来到这个实验室,与许多优秀的研究员、工程师和其他一些我向来非常仰慕的计算家科学家们并肩工作,并帮助他们把创新性的技术融入到人们的生活中。沈向洋是少数能给我留下深刻印象的科学家之一,他不仅是一位成就颇丰的图形学专家,更是一位令人称赞的同事和领导——他是一个谁都想与之亲近的人。他饱蘸着感染力的微笑、和蔼的嗓音以及温暖的握手都让我感到自己还是很受欢迎的,不会因为自己是个老外而觉得像是个“外人”。2007年10月,当微软高层决定调任他回总部担任微软公司全球资深副总裁的时候,我心里仍铭记着他当初鼓励我来微软亚洲研究院时所说的话,并下决心留在这里去坚定地实现当时憧憬的梦想。幸运的是,沈向洋的继任者洪小文博士也是一位卓越的管理者,竭尽所能地支持我们团队的工作。
2006年夏天,我有幸成为TTG组(Technology Transfer Group; 技术转化组, 以下简称TTG)的负责人,这个组可以说是微软亚洲研究院近10年历史上成立的第一个开发团队。TTG是整个研究院的核心工程力量,是嫁接在研究组和产品团队之间的桥梁,负责把最新研究成果转化为产品中。同时,它还帮助微软在中国的一些新兴开发团队的建立提供了最初的孵化原动力,比如为新近成立的搜索技术中心贡献了第一批工程师。此前,它还为2003年成立的微软亚洲工程院输送了工程技术人员。所以,这是一支功勋卓著、身经百战的团队。
在我来华之前的几个月,我在总部担任全球微软研究院项目管理工作的总监,有幸与当时新上任的TTG工程技术总监田江森成为亲密的同事。我当时所在的这个部门负责技术转化层面的事务,田江森当时负责MSRA的项目,所以我总是邀请他来参加我们的团队例会,这样有利于相互通气,知道彼此都在干什么。
我越来越敬仰田江森的能力,他不仅是一个管理者,更是一名技术专家。我飞抵北京的时候,田江森已经在这里很有效地提升了团队的项目协调能力(虽然从个体层面上看,大家干的都不错,但在田江森到来之前的几次重组中,这个团队的人员分散于不同的研究小组中,这样的情形或多或少削弱了团队接手新项目的能力,甚至不利于工程师们的职业发展。)此外,田江森还在帮助这个团队以及微软其他部门处理技术授权业务,通过这个项目,MSRA的技术可以首次向第三方企业开放。
我的“特种部队”
沈向洋特别要求我帮助提升这个团队将MSRA技术转化为新产品的能力,我把这个过程称为“孵化”——与此同时,继续为“技术转化”(也就是研究员为现有产品增加新的功能)提供支持。孵化,或者说开办初创企业,这种事情我在微软和其他公司都经历过几次,所以很乐意利用自己的经验为这个团队的建设出力。
现在,田江森和我在共同努力让TTG变成一个更大的团队。我希望这个团队能够真正地关注高质量的工程开发,但同时也能够从事一些超越技术转化层面的新项目,其中包括新产品的“孵化”,此外还有沈向洋和洪小文(当时的常务副院长)一直在研究院里提倡的“基于部署的研究”。无论是新产品孵化还是更加以用户为中心的部署性研究——我们将原型产品投放到现实世界中,让研究员们直接从用户反馈中学习——都要求这个团队具备新的能力,采取新的工作方式。在技术转化上,我们依靠产品团队协助确保产品的质量,设计用户体验,以及进行商业模型分析。现在,我们需要自己的团队更像一个产品研发单位,从头到尾包打天下,部署或提供新的软件代码。
在微软栽种未来 迪恩·思劳森 (Dean Slawson)(2)
有鉴于此,我们把培训作为团队的工作重心。我们团队中许多新成员都刚刚离开校园,招他们进来是为了回补抽调到新团队的员工所留下的空缺,他们在产品提供方面的经验很少,甚至是零。团队开始为新招聘人员实施强制培训,教会他们如何用微软的方式来开发产品。这项工作由TTG工程研发负责人邹欣来领导,他来自雷德蒙总部,在产品团队研发方面有多年的经验。与他一同改进团队运作过程的还有曾经与他在微软总部共事的Peter Mau,Mau还负责MSRA的其他几个项目。
与此同时,TTG###、MSRA技术转化研发的先锋之一陈刚已经在着手搞一个新项目,它将把“基于部署的研究”变为现实,准备推出我们第一个面向中国的网站。我邀请来自雷德蒙总部的专家级项目经理、产品规划经理、用户体验设计师和应用研究员来到我们团队作短期“轮岗”,磨砺这个团队的能力,并且在早些时候为团队增添了第一位用户体验设计师王烁,他从王坚的人机交互研究团队调任到这里,担纲这个以用户体验为中心的孵化性产品设计。现在,这个团队已经做好准备,迎接我们期盼已久的更大挑战。
我把这个新的小组称为“创新工程”,以体现其更广泛的职责,不久,我们就投入了新的项目之中,与研究员和产品团队携手并肩推出新的特性、尝试新的想法,并探索新的商业机遇。
我们是“&”
过去两年间,这个团队成长壮大,在创新过程中担当了独特的角色,它跨越研究和产品开发,促进研究院迸发出新的思想火花。有时候,我把这个角色称作“R&D”中间的“&”,因为它的任务就在于“连接”。
我们已经开始着手的几个早期项目之一就是建立在我和王坚的良好私人关系基础之上的(他现在是MSRA的两名常务副院长之一)。有一次,王坚邀请我参加他们在北京郊区举行的一次户外会议,他们组一下午展示了50个左右的新技术原型。其中一个想法虽然还谈不上是一种软件原型,只停留在一系列草图上,却仍给我留下了深刻印象——它只是微软Office软件内的一个大号按钮,上面写着“Do it for me! (帮我完成这项任务)”。那次会议之后,我们又和研究经理陈正以及王坚团队里的研究项目负责人朱文力碰了几次面,这个新想法很快变成了用来扩展微软Office软件企业市场份额的概念,即我们后来完成了研发并推向互联网的“微软任务市场” 。这是一个非常有意思的项目,而且正在进一步开发中。
真的,我一时间是无法细数自从我参与开发以来所遇到的各种有趣的人和项目。
创新是一个社会过程
我有幸看到了自己的梦想成为现实,与微软亚洲研究院了不起的研究员和工程师们并肩合作,提供令人激动不已的技术,最重要的是我们相互帮助,在专业发展和个人成长两个方面共同成长。在这个过程中,我自己也获益良多。
在微软这样的企业中,成功几乎完全在于员工的努力。这就是说,无论我们想干什么,组成一个正确的团队是至关重要的——成员的技能、才干和激情的搭配都要合适,大家学着作为一个整体共同努力,并且与我们的合作伙伴和客户建立关联。作为总经理,我非常严肃地对待自己的职责,发展、指导和培养团队成员以及其他同事,真正地帮助人们发挥他们的潜力。为此,我深知自己也必须不断成长,这正是让我的工作变得如此令人着迷的重要原因。
为了携手“办一件大事情”,我们有机会共同面对,克服了技术上乃至人际关系上的挑战。这是我们从工作中学会的重要内容,而且我们是在相互帮助中学会的——无论我们作为经理,导师,同事,还是普通朋友。
我在微软这么多年,我认识到“创新是一个社会过程”。我们学习怎样合作,并建立这种信任关系,取得了辉煌的成就,而在此过程中,各种成功的价值得以体现。我相信,只有我们兑现甚至超越他人的期望或者我们对他人的承诺,才能谈得上创造了价值。我们在一起工作,不同的意见就会有交锋。人们多元化的才干让创新成为可能,也体现出了不同的观点和价值。从很多角度上看,我们最大的机会就在于把能力和兴趣各异的人们聚集在一起,共同努力,同时真正地把这些观点合成为更壮观的画卷,其成就比任何个人都要更大、更好。书 包 网 txt小说上传分享
在微软栽种未来 迪恩·思劳森 (Dean Slawson)(3)
与盖茨打成平手
自从我来到微软的第一年起,我就知道,一个人就可以让这个世界变得大不同,无论是解决一个看似多么不起眼的小问题或者小功能,还是创建一个新团队或新企业——但前提总是要与别人合作。
我在微软做了几个不同的职位之后,第一次接受了项目经理的任命,参与桌面出版软件“Microsoft Publisher”的开发。我们团队负责开发微软Office中的“Clip Gallery (剪贴图片库)”组件,用来管理文件中所使用的剪贴画或者用这个程序做成的网站。我是在微软开发Windows 95时加入公司的,当时多媒体软件可谓一石激起千层浪。我和团队里的同事们一道,为图片、音乐和声音等其他媒体形式提供支持,并开发了“一键上网”功能,让用户搜索和下载更多内容(与其他下载站点不同,这些内容已经得到许可,供个人或商业使用,这些东西深受许多国家的商务用户欢迎,因为他们不想因此而遭到内容原创者的起诉。)我将这项在线服务称作“Clip Gallery Live”(点击直播图片库),而且这实际上也是微软有史以来第一个以“Live”为品牌的服务,很多年后这个词才成为在线产品上常用的商标名。
很快,我的团队以及我本人都意识到,这个组件和服务必须升级,才可以应对呈几何级数增长的内容和用户需求。来微软公司不到一年的时间里,我有幸和我们的产品部门经理Alex Loeb一道与比尔·盖茨面对面交谈,希望能说服盖茨支持我们成立一个新的项目小组的提议。我至今仍记得,在那次一个半小时的会谈中,我花了大部分时间向盖茨做报告,可谓苦口婆心,并与之辩论我的架构愿景——那次会谈原定只有一个小时的,却延长了半个小时之久。他问道:“你为什么不用SQL,而非要开发这个新玩艺儿呢?”我尽全力阐释自己的看法和理念。直到最后,他仍然表示:“你没法说服我采纳(你的战略)……但我也说服不了你。”他最终还是答应提供经费支持,但只相当于我们申请预算额度的四分之三。不过,此举却创生出了一个最终成为Office在线产品的重要组成部分的部门,每天为全球数千万用户提供有关Office的在线内容,以及支持每日数百万次的下载量。(此后,我们发现另一个团队也有我们所需要的资源,于是与他们建立了密切的合作,最后使两方面的资源合二为一。)
过去这些年来,我有多次机会与那些出色的同事合作,提出新技术开发建议、组建团队、组织项目并发布产品,同时帮助其他人成长和成功。虽然我的职业生涯中大部分时间都在担任经理,但其中最有意思的时光却是在实干中度过的,无论是撰写文章,设计或编写软件,还是测试和改进产品直到它们漂亮到能够出嫁的程度。
我始终记得很多年前的一天夜里——那时候Web还刚刚起步,我正在尽一切努力尝试让我们新推出的在线服务能够兼容一款竞争性浏览器产品,因为我相信它对用户有利。即便是当时我们的开发经理,一位对技术无所不通的人,都想不出怎样才能实现无缝对接,甚至打算放弃努力。当时无知的我仍然坚持从各种角度尝试,直到我自认黔驴技穷,无果而终。但是,我顽固的秉性却始终不肯妥协,坚持奋战到了深夜,总算找出了办法,我立刻对这个解决方案进行测试,并以满意的数据结果而告终。紧接着,我把它写进一个规范文档中,以便工程师们可以在明天按照它来执行。忽然间我意识到天已经亮了,已经是第二天了。
这个功能最终成功发布了,但我并没有太记着这件事,而且也不曾指望有人能注意到它。令我吃惊的是,几个月之后有一次我在比尔·盖茨家里出席为实习生准备的一场烧烤午餐会,我的经理把我彻夜未眠的故事一五一十地告诉给了盖茨。虽然,能得到他们对我努力的认可是件值得自豪的事情,但这终究比不上当我知道全球上千万用户正在受益于我们的在线服务时所获得的满足感。
我在微软服务的13年间,遇到了无数了不起的人,从比尔·盖茨、现在的研究院院长也是我的老板洪小文博士,到我新招进来的员工和实习生。每个人都通过自己的独特方式为引以为豪的事业、为周围的人做出了贡献。我很幸运能够成为它的一部分,并能够与微软公司中非常优秀的一群人为梦想而走在一起。
我在微软亚洲研究院的两年间,更感受到了前所未有的个人和专业上的成长,遇到了值得与之毕生交往的好友,并对我的团队以及研究员们的成就给与了应有的帮助,我希望这些工作能够产生持久的价值。
我很高