谁能成为“代码勇士”(4)——《观止》

来源:互联网 发布:java 状态机 流程引擎 编辑:程序博客网 时间:2024/04/30 15:40

 

 

 

 

 

图书内容:

 

      “ 微软创建Windows NT 这个计算机技术领域惊人突破背后的故事,揭示了成功创新的艰难和痛苦。集中表现了卡特勒的反复无常、激励和鞭策团队的能力,色彩鲜明地描述了这个巨大企业的人间戏剧,揭示了他们的压力、失望以及最终胜利。而胜利来自于战胜没完没了的最后期限,与对手的竞争,与不可避免又无处不在的程序缺陷的无休止的斗争——其中可能就包括致命的问题。”

 

 

 

       对于他的同事来说,卡特勒是一位英雄,一个不能用平常规则来评判的超人。“他让你感觉你是他的一位同伴,一起成就伟大的同伴,而且你再也不会有更好的和更值得信赖的同盟,”一个同事这样说。卡特勒希望所有人都表现得很完美。为了传达紧急的消息,他会把大家召集到一起。他喜欢奚落他的伙计们,但是为了改善他们的代码质量,他会不遗余力。有时,他甚至捡起被扔到垃圾桶里的代码,用红笔纠正了上面的错误后还给代码的作者。

    

      卡特勒不仅很严厉和冷酷无情,他还要求他的团队要绝对诚实。“如果你对他花言巧语放烟雾弹,或者你试图欺骗他,那么他会残忍无情的,”一个同事说:“他不会只是让你自杀,他会攻击,而且他不会忘记。”

他也很吝啬表扬别人。罗杰·海恩(Roger Heinen)是卡特勒很喜欢的一名程序员,他经常渴望他的导师可以对他说句好话。“当你不在那里犯了错,他批评的很快,”海恩说。在经历了这样的一次打击后,海恩想知道卡特勒是不是还很看重他。因为太害怕而不敢问,他把手伸进办公桌里,取出一张字条,那是卡特勒一段时间以前写给他的。纸条写的很简单:“罗杰,你真的把工作做得很好。谢谢,戴夫。”

 

      一个强有力的贵人让卡特勒有可能在DEC红了起来。在早期,卡特勒对待编码的认真态度和积极主动的领导风格吸引了戈登·贝尔(Gordon Bell)的注意,戈登·贝尔是DEC的最高工程官员,也是大多数重要计算机产品的设计者。贝尔是很少见的既有技术天赋,又有策划才能的人,他在1960年加入DEC,当时他二十六岁,刚才MIT毕业。在接下来的十五年中,他“领导、论证、思考并建立了很多计算机策略,这些策略把DEC变成IBM的最强大挑战者。”

 

      工程师们很喜欢贝尔,喜欢他的温和活泼。他的关心问题的非常广泛,这种广度既让人高兴,又让人生气。他的思想会到处漫游,以至于那些真正想和他谈话的人要努力把他隔离起来,防止他的注意力转移。“要和戈登交谈,你必须把他带到小汽车里,行驶而且不让他打开收音机,”一个人说。

 

      在1975年年初,贝尔觉得DEC正在失去前进的动力,尽管财务报表还很不错。当时,PDP-11计算机已经面世五年了,而且IBM正准备引入它的第一款真正的小型机。贝尔觉得DEC需要大大改进的机器来在IBM面前保持领导地位。经过了整整一个冬天,贝尔构思出了一个新的计算机产品线,通过这个产品线他认为会让DEC继续走在竞争对手的前面,而且同时也会让那些已经在PDP-11上投资了很多钱的客户满意。这个新的产品线被称为Vax,会运行一个新的操作系统,被称为VMSVMS会允许用户既可以运行新的程序,又可以运行的为PDP-11编写的旧程序。“向后兼容”意味着Vax一问世后,就可以在上面运行许多现存的程序,而不是要等待程序员编写新的程序,这样的事情以前经常发生。同时,Vax的设计是“可调整的(scalable)”,这意味着同一个软件可以在不同配置的Vax计算机上运行。用户可以在保留他们熟悉的软件前提下,切换到更高配置的Vax

 

       这一切表明Vax会成为计算机历史上的一道分水岭。在组建团队时,贝尔挑选了DEC中最聪明的工程师。他要卡特勒来领导创建VMS操作系统的团队,在贝尔心中,卡特勒时DEC的一流程序员。


      把卡特勒和其他四个高级工程师召集到一起后,贝尔在
1975年四月1日开始了Vax项目。这个小组开了很多火辣的会议来反复推敲设计概念。“他们开始时很安静,先花十五分钟简要介绍议题,接下来就不可避免的进入到了大声争论,表面看来一片混乱,而且像是很敌视对方。但不知什么原因,他们总是能高调的结束,工程师们面带微笑鱼贯而行走出会议室。”

 

      贝尔帮助卡特勒,不让他受到那些爱管闲事的局外人的干扰。“我不会容忍任何人插进来影响戴夫做事,”他说。即便如此,VMS项目还是让卡特勒承受了巨大的压力。这种压力体现出来了。有一些早晨,当他从床上爬起来时,会感到头晕眼花,甚至不能把身体站直。化验表明他的血压非常高。他立刻开始吃药来把血压降下来。作为一种预防措施,DECVMS团队中的其他经理也检查了血压。做检查的护士说,卡特勒的血压是见到过的最高值。

 

      经常受卡特勒唇枪舌剑之苦的同事们不由自主的会拿卡特勒的健康问题来奚落他。在异常非常激烈的争论中,一个同事开玩笑说悬而未决的等待令他痛苦不堪。还不如卡特勒的心脏受了伤害,那样他们就可以不再为这个项目忧虑了。“难道你就不能一下子把这个项目做完了事?”他解释说。


      很清楚,这个时候卡特勒需要有人来帮助他开发
VMS软件。这个团队很小——最多时只有十个人——而且卡特勒是高级程序员。但是卡特勒不会求人帮忙。他从来不做那样的事。他有一句他很喜欢的话:“当把所有事情说一遍然后再做完时,要说的话比要做的事多得多。”

当卡特勒忙着做事时,这个项目的总经理(被卡特勒戏称为“老板”的男人)打算雇佣一个高级程序员来帮助卡特勒把VMS软件弄成样子。当卡特勒离开一周去休假时,这个老板面试了最好的候选人,并在卡特勒回来时雇用了他。卡特勒不觉得他需要一个签署代码的人,但是实际情况证明,这个新来者在技术方面也是胜任的。卡特勒默认了这个帮助,什么也没有说代表了他的感谢。

 

      1977年十月,第一台Vax计算机问世了。它的巨大成功把卡特勒推到了一流软件设计师的前列。举例来说,贝尔就毫不犹豫的称卡特勒是这个世界上操作系统的最好编写者。财富和荣誉——成就的体现——都送到了卡特勒面前。但这些没有一样能改变他的脾气。DEC中日益增涨的官僚作风令他讨厌。“我是一个实干家,但是做事情变得越来越艰难,”他说。令他最难以接受的是,他再不能以他习惯的管理方式来指挥VMS项目。因为这个程序现对公司的前途如此重要,所以一群经理都希望来改进它。卡特勒发怒了:“这个项目给所有的汤姆、迪克和哈里提供了机会,无论你要做什么,他们都过来找茬,挡住项目的去路。当然,应当有一定数量的审查。那是正常的。但是和这个项目根本不相干的人也会突然出现,询问为什么你在做这个,为什么你在做那个?”

 

      为了少受滋扰,卡特勒离开了VMS团队。他想要摆脱DEC这种荒谬可笑的气氛。有一天,他威胁说要离开公司,告诉贝尔他希望自己成立一家公司。贝尔的回应让卡特勒无法拒绝:“带上你想要的任何人。去你想去的任何地方。做任何你想做的事。而DEC会支付所有费用。告诉我你需要多少钱,我们会给你提供资金。”

 

      卡特勒兴高采烈的接受了这个机会。在1981年春天,他把他的忠实伙伴聚集到了一起,希望搬到离DEC的马萨诸塞办公室尽可能远的地方。他在西海岸区域旅行寻找新的家。在西雅图呆了一天后,卡特勒做出了决定。吸引他的有那里的山(他喜欢滑雪)、野物(还喜欢打猎)和太平洋。他在一家可以俯瞰秀秀湾(Shilshole Bay)的饭店享受了一顿很好的海鲜大餐,这让他的情绪焕发了活力。因为从波斯顿到西雅图没有直飞的航班,如果他的公司主管们想到他这里来就要花更多的时间,这一点进一步增加了这个地方的魅力。

 

      卡特勒很高兴有了自己掌管的实验室。“我们知道我们想要建造什么,而且我们可以就在这里做所有决定,”他说。贝尔准备好了推销卡特勒的想法。在这个实验室里,卡特勒的穿着很随便,大家很熟悉的汗衫和胶底运动鞋,连那种军用的所谓“高质量T恤衫”他现在都不穿了,在东部时,他经常穿这样的T恤衫。每周有几个晚上,他会邀请所有人去酒馆,在那里,他会毫无顾忌的喝下大量当地酿造的一种酒,称为Red Hook,卡特勒将其当作是天赐的琼浆。在冬季,他会带领他的伙伴们去滑雪旅行,很多时候,他比年轻十几岁的人滑得还好。“和他一起滑雪可不是好玩的,”一个同事说:“我只能在后面吃他掀起的雪。”

 

      卡特勒是有远大志向的,但是人们对他的计划反响不一。他希望和软件一起设计整个计算机。DEC同意把他的一款计算机推向市场,但是这种支持在1983年贝尔离开DEC后消失了。“当戈登离开时,我们在DEC的支持网络开始消散了,”海恩说。一下子,卡特勒缺少了神通。“很清楚搬到西雅图是一个错误,”一个同事说:“距离总公司那么远,他没有能力来有效的拥护他的想法。”

 

      不过,他还有他的自由。在他的名片上,他毫不害羞的把自己称为“最高指挥官(SupremeCommander)”。他的同事把一些有趣的照片收集在一起,成为实验室的“年册”,有一张照片,卡特勒穿着没有袖子的白色汗衫,一条很便宜的条纹领带松松垮垮的绕在他的脖子上,这是卡特勒故意嘲弄公司斯文礼仪。还有一张照片,据说是他的办公桌,可以明显看到的有三样东西:一个喷雾罐,上面写着“牛屎驱除剂(Bull Shit Repellent)”;一个由“英国鸡务局(British Chicken Authority)”签发的证书,上面写着:你的公鸡鼓起的够么?还有一个喝水的杯子,上面带着一句标语:快乐是紧紧的女阴。

 

      可以把卡特勒的粗话平衡一下的是,他信仰和追求卓越。平庸是留给弱者的,要成就伟大就要有愿意去打破荒谬或者突破传统(而且不管什么后果)。“首先,质量是每个人都必须坚信的东西,”卡特勒在年册里写道:“这意味着要管理到所有层面,从上面到最下面的工人。不给那些总是顺着市场部门的风向倒的无能经理们留一点空间。也不给工程师们留空间去通过降低质量伪装做了更多的工作。要站起来对质量问题说不有时需要勇气,不过我项目里的所有人都拿到了这样的许可。如果某个地方的某个笨蛋想要发布没有准备好的软件,那么我们会告诉他滚蛋。”

 

      在1985年,卡特勒勉强赢得了DEC的批准,设计一个新的计算机系列,称为Prism。它的硬件是基于内部创造的一款芯片。它的操作系统称为Mica,会是一个全新的设计,尽管它有能力运行Vax应用程序。卡特勒召集近两百人做这个项目,一切完全像一个独立的公司那样运作。他设计的第一款Prism计算机是供科学家使用的,供他们做专门的向量计算,以非常高的速度进行计算。这样的运算可以帮助科学家们模拟所有东西,从天气到核爆炸,到合成大洋的洋底。通常,这样的数学密集型仿真需要所谓的超级计算机,价格在几百万美元。因为创新的硬件和软件,第一款Prism计算机的价格可能只是超级计算机的十分之一。

 

      正当卡特勒的团队抓紧开发Prism时,DEC其他部门的竞争者对他的计划下手了。到1988年六月时,卡特勒已经被要求修改和放弃很多个项目,直到有一天,他飞到DEC总部,被告知Prism取消了,这时他已经不那么震惊了。DEC希望解散卡特勒的硬件小组,强制要求近一百名工程师在公司的其他部门寻找工作。卡特勒觉得这是“最后的稻草”。在返回西雅图的飞机上,他喝了很多酒。第二天早上,也就是1988年的六月18日,当他走进挤满员工的会议室时,他似乎还在醉酒的状态中。他无法忍受DEC拆散他的人。他可以承受从这里走开;他有二十万美金的年薪和一套两百万美金的房子,位于普及特海湾(Puget Sound)。

 

      在说话前,他看了看大家。一些人开始哭了;其他人像冻僵了一样。几个跟随卡特勒多年的老战友甚至无法面对被挫败了的卡特勒,他们去酒吧避开了这次会议。

 

    “你们都显得这么悲伤,”卡特勒说。

    

     然后,他告诉大家:Prism死了。他无能为力来阻止这件事发生。他哭了。

 

     努力控制住自己后,卡特勒给这个实验室里的所有人一个月假期——带薪的。