BOOK NOTES

新机器的灵魂

Tracy Kidder

微信读书看原书 ↗

《新机器的灵魂》是特蕾西·基德尔(Tracy Kidder)的非虚构作品,1981年出版。基德尔在数据通用公司(Data General)位于马萨诸塞州韦斯特伯勒总部的日食小组(Eclipse Group)里做了约两年现场观察,记录这个约三十人的工程师团队设计、调试并发布一台32位小型计算机"Eagle"(上市后命名为Eclipse MV/8000)的过程。全书按时间顺序展开,覆盖项目立项、机器发布和团队解散。

书的观察者是作者本人。基德尔坐在小组的格子间里,深夜守着逻辑分析仪,参加小组的聚会、酒馆夜谈和博览会之行,也跟韦斯特出海。人物说过的原话被直接引用,作者对每个人的背景、动机和处境都有近距离描写。这类素材决定了本书的性质:一部以现场观察和访谈为基础的纪实叙事。

基德尔在书中几乎不直接表态。他把工程师的疲劳、玩笑、争吵和得意如实记下,把韦斯特的含糊与决断、沃勒克的尖刻与执拗、罗森的燃尽并列呈现。读者看到的是事件和说话人的原话,作者的概括很少,而且总是留在叙述之后。

开场:暴风雨里站得住的人

序章讲了一次从缅因州波特兰开往纽约的航行。一艘35英尺的小帆船遇上了东北风暴,船上六个人里包括一位六十多岁的律师船长、一位心理学家、一位医生、一位教授,以及他们几乎不认识的汤姆·韦斯特。整夜颠簸中,韦斯特没说过晕船,几乎没合过眼,还站在船头为狭窄的港湾水道找出每一个无灯浮标。船长后来在饭桌上说:"那家伙韦斯特是风暴里站得住的人。"心理学家记住的是另一件事:"他四夜没睡!整整四夜。"韦斯特在航行中说自己"造计算机",却拒绝多谈工作,说那是干活,现在是假期。

序章以他人眼光勾出主人公的轮廓。这位船长口中"风暴里站得住的人",后面被放进办公室、调试间和自家作坊里,读者会看到同一股劲头——不肯认输、不让自己晕船、睡不着觉——在别处怎样发作。

行业背景与数据通用的来路

第一章先交代计算机行业和数据通用公司的来路。二战后晶体管(贝尔实验室三位科学家凭实际发明获诺贝尔奖)和集成电路出现,芯片让计算机变小、变便宜、变普及。大公司IBM靠360系列和软件兼容垄断了大机市场,"IBM与七个小矮人"是当时的说法。小计算机(小型机)的市场被IBM忽视,留给了创业者。1968年,从DEC出走的埃德森·德卡斯特罗等几名年轻工程师在哈德逊镇一家前美容院里创立了数据通用公司,启动资金80万美元,第一台产品NOVA于1969年推出。

NOVA的设计以简单著称,工程师称它"包装的胜利":印刷电路板特别大,减少了整机硬件量,造得便宜。创始团队把销售、设计、融资都当回事,还按里奇曼的说法主动稀释股权、让律师入股、趁公司值钱时先兑现一部分钱——他们管这叫"去你妈的"理论。公司十岁那年(1978财年末)进了《财富》五百强,排名总营收第500位,但利润率排在行业前列(税前约20%)。

数据通用给自己造了个好斗的名声。第一则广告让德卡斯特罗亲自出镜:"我是数据通用公司总裁埃德·德卡斯特罗。七个月前我们创办了史上最富有的小型计算机公司……"未刊出的一则广告草稿写着:"他们说IBM进入小型机市场将使这行当合法化。这些杂种说:欢迎。"1970年代初,竞争对手Keronix指控数据通用高管纵火烧了它的工厂,法院后来认定指控没有依据,但消息一出,数据通用的股票暴跌,纽约证交所一度暂停交易。多年后仍有老员工私下相信公司里有人与那场火有关,基德尔说他们没有证据,更像是"想相信"。

到1970年代末,数据通用遇到了麻烦:它还没有32位"超级小型机",而DEC的VAX已经上市并热卖。韦斯特称局面"是场灾难",说"我们不回应VAX就会被抹平"。这句话引出全书的中心问题:一个落后于对手的公司团队,能不能在一年里造出一台新机器,完成一次"恢复行动"——这是1979年初一位经理人用来形容韦斯特小组工作的词。

战争:Eagle 是怎么来的

1976年前后,数据通用把大型新机器FHP("源泉项目")的团队派往北卡罗来纳州研究三角园区。总部韦斯特伯勒一些工程师不愿搬家南下。留下来的设计师们熬夜做了一台带"模式位"的机器EGO——名字比FHP字母各退一位,含义也直白——想让一台16位日食兼任32位快车。韦斯特说这些人想"干掉北卡罗来纳"。1977年9月,两个项目在德卡斯特罗面前各自承诺一年交货。韦斯特回忆德卡斯特罗说:"这是个两难。"EGO被取消。

EGO死掉之后,小组里有人辞职,有人立刻去度假,剩下的人玩电脑游戏Adventure消磨时间。韦斯特做了一连串"预期先升后降"的演讲,先是说以后只做99%的工程开发、不做研究,又说要造一台比现有一切都快两倍甚至四倍的16位机,代号Victor——韦斯特自己承认"Victor是个假目标",只是给手下找事做。EGO的班底不愿放弃,韦斯特几次试着让它复活,都被德卡斯特罗挡回来,理由是不许用模式位。

之后韦斯特把注意力转向市场。VAX已经上市热卖,数据通用的老客户想要32位机,但还想要软件兼容。韦斯特几乎住在市场部一位主管的办公室里,反复问客户到底想要什么。他得出的结论是:数据通用应该造一台完全兼容日食系列的32位机。顾问工程师卡尔·阿尔辛给这台还没存在的机器起了代号Eagle——念起来像EGO。小组内部有人骂它是"日食边上挂的包"、"赘疣上的赘疣",甚至"拼凑货",好几个工程师当场退出。留下来的和新人被告知:明年四月以前把它做出来。

这里穿插一个韦斯特的侦察细节:1978年一个假日,韦斯特溜进某处一间机房,把一台VAX拆开又装回去,数了芯片型号和数量,估算其硬件成本约22,500美元(DEC售价十万美元以上)。他看完觉得"太复杂了",想象那台机器里映着DEC的公司组织——过度讲协议、求稳。他说这是"有用的理论",真相不重要;数据通用要"把赢面最大化,让Eagle跑得像飞一样快"。

组建团队:招来的孩子

韦斯特决定招聘刚从研究生院毕业的新人。他看了塞莫尔·克雷的录像,克雷说自己爱用没经验的毕业生,因为他们通常不知道什么被当成不可能。韦斯特问阿尔辛:"咱们招孩子吗?"新人薪水低,用新人也等于给真实意图打掩护——没人会相信一群新手能造出与北卡抗衡的CPU。1978年夏秋之间,小组从十几个老手扩到约三十人,新人被称为"孩子们"。

地下室是开放的格子间,墙高约五英尺半,种着许多植物。韦斯特的办公室没窗,桌上只放一叠边缘对齐的纸。小组的生存逻辑是"把机器送出公司大门,上面带着你的名字"。新来的孩子被告知:在组外连Eagle的名字都别提。女工程师贝蒂·沙纳汉是小组里唯一的女性工程师;四个新人挤在一间叫"微坑"的工位里,膝盖碰膝盖。小组的秘书罗斯玛丽包办预算、催件、招呼新人,邮件室搬走那几周她每天自己去分邮件,怕误了项目。

"签约"是小组内部不成文的入门仪式。签了约,就等于答应为成功做任何必要的事,必要时放弃家庭、爱好和朋友。老手们"嗯,我来"就算签约,阿尔辛自己默默接下了招聘的活。对新人,签约往往发生在与阿尔辛的面试里。阿尔辛问应聘者想做什么,听对方有没有"眼里有火",然后照例说"我们要造的机器走在技术最前面"、"会很苦、会加班到很晚",末了说"我们只收今年最好的毕业生"——再把他招进来。阿尔辛事后说,这"有点像为自杀式任务招人:你会死,但你会光荣地死"。

新人不为加班拿钱(新人年薪约2万美元,阿尔辛这样的老手3万多,加班没报酬)。吸引他们的是项目本身:别处不会把这种项目交给新手。霍兰伯格说"我不为钱工作"。韦斯特的说法是:这些孩子都听过VAX,而我们说要造一台更便宜更快的32位机,"这种事一年到头都有人签"。

沃勒克的金色时刻

韦斯特需要一名架构师来定义这台32位、完全兼容日食、不许用模式位的机器。他的首选是史蒂夫·沃勒克。沃勒克当场回绝:"去他妈的!我才不给日食挂包。"他受够了:在Honeywell和雷神公司,他亲手做过的机器要么被砍掉,要么造出来没人买;FHP南下,EGO两次被取消。沃勒克在布鲁克林长大,他记得小时候邻居小孩打了自己不还手,被父亲罚,因为没回击。他进数据通用时带着两样东西:想要一台"能出大门"的机器,也想报复。

韦斯特反复找他谈,说"证明别人错了的办法,是把正确的东西造出来",最后摊牌:"要么你干这个,要么你的职位描述作废。"沃勒克去找德卡斯特罗,问"你到底想要什么",德卡斯特罗说"我想要一台32位日食,不用模式位"。沃勒克这才坐下。

他用一张黄色便签纸画开32位地址。方案出自MULTICS那一路的"环"保护体系:地址前三位同时充当段号和环号,8个环就是8级安全。阿尔辛看后说这方案"又简单又甜,又便宜又干净"。沃勒克自己盯着图,一时想不出"这是从哪儿来的"。他后来把这套想法写进两百多页、改写七遍的规范书里,每章开头放一句题词,从《麦克白》到托尔金,为此在弗雷明汉公共图书馆翻了二十小时的名言集。他办公室墙上有他踢出来的鞋印和凹痕。

"金色时刻"是工程师之间的说法,指问题答案突然出现的瞬间。沃勒克在婚礼上想起过雷神那台海军计算机的解法,写在火柴盒封面上。他的解释是:"我会在脑子里一直琢磨,把我的数据库翻个底朝天。"

深夜编程者:微码与模拟

阿尔辛负责微码队。微码是机器电路和程序之间的那层语言:用户写的高级语言(比如BASIC里一个"除号")先被翻译成汇编指令,每条汇编指令再变成由75个0和1组成的微指令,直接指挥电路里的门。书里用一整章跟着那个"除号"走完这条链。写微码很难:几百条指令要编成几千条微指令,存储空间有限,每条微指令还得保证不干扰别的指令。

阿尔辛自己就是"深夜编程者"。他在麻省大学念书时半夜溜进机房,用那台老IBM机器写程序,结果挂科退学,后来复学拿全优。他引用韦森鲍姆《计算机力量与人的理性》里描写的"编程强迫症"来对照自己的青年时代。他为日食系列写过数据通用几乎全部的微码,方式非常个人:拖到不能再拖,再躲进图书馆或自家纱门廊里一口气写完。韦斯特相信第一台日食的微码阿尔辛两天两夜就写完了。

微码队有一个关键工具:模拟器。阿尔辛过去每次都要在原型机上调试微码,机器硬件本身也在调试,出了问题分不清是硬件、微码还是诊断程序的错。他多年跟韦斯特提"我想造个模拟器",韦斯特总说"等你造好,机器都调完了"。这次阿尔辛坚持要。他让老程序员戴夫·佩克写一个"快而脏"的版本,六周完成;又让22岁的新人尼尔·弗思写一个正式版本。弗思花三个月想清楚概念,一个月写代码,做出一个纸上的Eagle——一台程序里的机器。微码队在自己的终端上测试微码,不用排队抢原型机。弗思说:"我做得成,是因为我不知道正在发生什么。"他记不住自家电话号码,却能记住办公室里用来拨号的代码。

规则与赌博:倒飞

韦斯特常说要"倒着飞"——阿尔辛从他的话里听出,那是指冒大风险,而且冒险被认为值得。小组的游戏规则有迹可循:第一,什么都不会自己发生,你要去争资源;第二,你得承诺比别人更早完成;第三,签约;第四,赢了有奖励。阿尔辛补了一句:"有一条规则大概是:没人明说在按这些规则玩。"德卡斯特罗说过一句被引为名言的话:"我想,唯一的好策略是没人懂的那个策略。"小组活在"雾和镜子的国度"里,上层不知道他们在干什么,新人完全不知道真实赌注和政治。

1978年秋,预赛结束:人招齐了,签约完成,副总裁卡曼给组员开了"泄压阀"——可以随时离开地下室而不受惩罚。然后韦斯特开始加压。他带几个新人在会议室里见高层,被告知VAX即将出新型号,Eagle已经很晚了,四月必须完成。新人回到工位,觉得"我得赶紧"。爱泼斯坦被问微序列器要多久,他说两个月,拉斯阿拉说"别逗了",他改口六周,干到一半又跑去说"我想四周能干完",回来才意识到"我刚签约四周干完"。

韦斯特在技术上有几项赌注。他决定用新型芯片PAL,当时只有一家小厂在生产,按行规新机不该用只有单一货源的芯片;如果PAL真是未来的东西,这就赢了。他还赌软件部门到时候能顶上,赌新手能造出大CPU。为了给公司各环节打气,他在设计完成前就让人画电路板、订原型、印电路板、拍录像——二十小时的录像带,他打算等时机对了放给全公司看。办公室白板上写着:"并非一切值得做的事都值得做好。"他翻译这句话:"要是有个又快又脏的办法能行,就用它。"

设计原则随之定死:用的硅越少越好,CPU装进远少于VAX的27块板——目标是7块——每块主要部件一块板,跑得比VAX快,兼容日食软件和外设。韦斯特审所有设计,砍功能,只给"对"或"不对"的评语。设计在六个月里完成,可能创了速度纪录。基德尔总结:计算机工程大量内容是把长长的逻辑链接起来,跟电工活儿相去甚远。

机器:调试的漫长季节

设计完成后,机器以两台原型机的形式存在,一台叫Coke,一台叫Gollum。接下来是调试——让机器真正跑起来。调试没有想象中顺利。韦斯特原以为调试Eagle会像调试日食,结果新机器的"性感"部件让他无从下手。他自称擅长调试,想冲进实验室亲手把机器"弄活",但那就等于承认不信任团队。他待在办公室,禁止门口有人笑,在家把坏水泵砸了,然后上床睡觉。

北卡那边传来消息:他们要大幅延误。这意味Eagle从"保险"变成公司必需,四月的死线不再是吹牛。韦斯特开始整夜睡不着,对人说"一万个工作悬在上面",说自己"在假装一切都好"。

调试在拉斯阿拉的领导下进行。韦斯特说拉斯阿拉"最大的长处是,这家伙不放弃";拉斯阿拉自称"也许不是世上最聪明的设计者,CPU巨人,但我笨到能坚持到底"。调试现场:实验室里两台机器风扇轰鸣,电路板背面是密密麻麻的绕线,工程师用逻辑分析仪给机器里的信号"拍照"。每220纳秒机器走一步,分析仪存256张快照。改动写成ECO单,每晚更新电路板。机器偶尔"发飘"(flakey),出些说不清的错。拉斯阿拉说,掉一根细细的绕线丝在板子里,就可能让机器犯"发飘"的错,调试者可能花几天找原因。他把这活儿比作手术:"大部分我们造成的错还能修,大部分手术不能。"

机器不是一次调好的。小组先逐板把机器弄到能跑最基础的测试,然后上更狠的诊断程序。故障分几类:设计逻辑里的大错要早发现,晚了就得重新设计;"发飘"怕的是机器永远不可靠;还有"妖怪"——"你没想到的无限页故障","你的脑子装不下的那个空间"。拉斯阿拉说"离自己做这件事越远,你看见的鬼就越多"。他自己熬到半夜惊醒,想"机器是不是又停了"。

个案:Eclipse 21 与八美分的NAND门

5月中旬,两个原型机跑诊断程序"Eclipse 21"时偶发失败:Gollum一夜跑921遍,只错30次。错得越少越难找——"修东西的第一步是让它坏"。霍兰伯格和韦雷斯用逻辑分析仪追踪,把失败范围缩小到指令处理器(IP)和系统缓存。IP里的小缓存(I-cache)在目标指令换地址后还留着旧内容,导致机器拿到一个错误消息当指令执行。这是个"定时炸弹"式的问题:真正的起因埋在诊断程序很早的地方。

韦雷斯改了思路,不往回找,而从程序开头向前查。他让机器在每次跳转处停下拍照,印出一大堆连续纸。纸铺了满地,他终于找到:第158次迭代时,I-cache里还留着过期的标签21,而系统缓存早已命令它换成45——IP没执行换块命令。原因是一条信号被另一条信号改了道。修法是在电路里加一个NAND门,成本八美分(批发价),它产生的信号被命名为"NOT YET"。霍兰伯格写下记录:"装了这个ECO之后,Eclipse 21跑过10遍。"装上后机器又犯新错,他们一度怀疑是NAND门干的,最后发现是电路板伸到外架上导致的接触问题,把板子放回原位就好了。

这个案例展示了小组的调试方法:不追求逻辑上的完备证明,而是"运动机器",让它跑尽量狠、尽量不公平的诊断程序,错了就修。机器永远调不完——老手们说大多数计算机从没被完全调试过,上市第一年还会冒出小毛病。

短于一个季节:乔什·罗森

乔什·罗森设计ALU板。他1978年夏天进组,还没看懂规范就被要求开始设计,后来想换芯片重做整块板,拉斯阿拉说"没时间"。12月他的设计用的芯片数量超标,韦斯特让另一个人审查他的工作——对罗森是公开的贬斥。业绩评估也没给他好话。罗森在特别系统部曾是明星,到这里"不被当明星对待"。他觉得韦斯特从不跟他打招呼:"他雇了我之后从没跟我说过一声你好,真的从没说。"他形容自己"在这个组里像个示波器一样没人权"。

罗森从小拆东西,做过火箭,大学靠一个浮点处理器拿了全优。他为数据通用设计过"九头蛇"终端控制器,去加州修那个机器时看到一屋子人用它,吓得发抖又激动:"那是我设计的,那是我的机器,那是数据通用的机器,那是我。"他加入Eagle是想参与一台真正全新的大机器。结果失望、失眠、胃疼,每天"像完成任务"一样上班。他觉得自己烧尽了:"你一烧尽,就没了热情。我一直爱计算机,突然之间就不在乎了。突然之间,它成了个工作。"

冬天到春天,罗森还在调自己的ALU板。他有时利用卡曼开的"泄压阀"离开地下室,走前在终端上留一张纸条。最后一张纸条写着:"我要去佛蒙特的公社,不再跟短于一个季节的时间单位打交道。"他后来真的离开数据通用,去另一家公司定义另一台32位机的架构,一周五天、一天八小时,他说自己终于开心了。

弹球与资源

"弹球"是韦斯特造的词,老手都懂:"你赢一盘,就有资格再玩一盘;这台机器赢了,你就去造下一台。"签约背后没明说的报酬就是这个,对很多人来说比股票期权更实在。霍兰伯格说签约时他就认了:"这是个苦活,要是干得好,我们还能再干一次。"韦斯特自己在攒筹码,为小组保住"再玩一次"的权利。

小组的物质条件很差:实验室小、吵,夏天热到88华氏度,他们开门通风被副总裁卡曼踢上,最后靠"森林火灾模式"的罢工才让维修修好空调。想要一台自己的计算机得跟全楼抢Woodstock,霍兰伯格甚至发假的"紧急警告消息"把别人赶下线来用机器。申请名片被韦斯特一句"不行"顶回去。传说韦斯特拒绝买新逻辑分析仪时说:"分析仪要一万美元。工程师加班是免费的。"

组员觉得韦斯特把他们关在信息真空中,什么都得按"需要知道"来。罗斯玛丽却有另一套看法。她跟韦斯特吵过,也替他说话:他让所有人把抱怨都倒在他身上,好让年轻人更快放下烦恼继续干活。"他显得不在乎他们,但他做的是在乎他们的人会做的事。"基廷后来也说,韦斯特那种距离感"提供了一个层级上的缓冲——一个远到足以让你把责任推给他的人"。

夏末,芯片供应商要破产的传言让PAL供应告急,拉斯阿拉每天数手头的PAL。韦斯特在家里的沙发上,一支接一支抽烟,给组里每个年轻人默画肖像——他知道他们的爱好、每个人的长处和短处。他说:"这项目做完之后的产后抑郁会非常厉害。这些家伙还没意识到他们多依赖那台机器来确立自己的身份。所以我们得把新项目安排到位。"他已经在构思大约六台新机器的轮廓。

去博览会:行业的另一面

每年六月的国家计算机大会,小组坐大巴去纽约一天。他们在DEC展台前围观VAX,被DEC的女销售轰走;数据通用的招牌照旧全馆最高。沃勒克带作者逛展:IBM的4300系列订单堆了三年,只能靠"插接兼容"厂商跟进;32位超级小型机正热,DEC的VAX据估计订单快上千台,折合约五亿美元。沃勒克说:"我们在告其中一些家伙。"卖"插接兼容内存"的小公司摊位上,他像看橱窗一样扫过去。

这一章里基德尔借展会讨论计算机的社会影响,态度克制。他引用维纳在1947年的预言——"超高速计算机"可能让平庸的人"没什么可卖"——说这句话常被抽出来当预测引用。他写计算机革命"没有显形":出了展会,街上没有机器人、没有失业游行,计算机缩得越小越安静,越普及越不起眼。韦斯特的说法是:"咱们聊聊推土机吧。推土机对人生活的影响大得多。"

基德尔不把计算机说成纯福或纯祸。他记下一位研究者的估计:约四成商用计算机应用在经济上不划算。他写计算机用于航天,也用于垃圾邮件;让卡特扫描仪出现,也让遥控武器扩散。工程师们对机器用途的态度不一:霍兰德说"我不会去设计直接炸人的东西",布劳在迎新酒会上问过德卡斯特罗数据通用跟南非做不做生意,德卡斯特罗答当时不做,但公司未必被政治左右。布劳说:"每想到一个计算机的坏用处,我都能想出一个好用处。"

最后的冲刺

八月,卡曼问拉斯阿拉调试什么时候能完,拉斯阿拉直视他说"我不知道"。韦斯特觉得这很有意思。调试计划改了又改:四月、五月、六月,最后定在九月底。拉斯阿拉说:"我们的信用,我觉得,快用完了。"这个夏天他们提前庆祝:荣誉微码员奖、PAL奖、非同寻常压力奖、通宵奖,还有给妻子的"鹰奖"。阿尔辛总结:"我们祝贺自己完成了Eagle,然后回去把它完成。"

机器那时已经能跑绝大部分测试,剩下的错越来越难找。布劳补进了罗森的空缺,调试ALU;他说"长期性疲劳,回家解决不了"。八月一个周六,Gollum在"中断"测试上栽了——多种内存块跨越和中断叠在一起。盖伊尔发现:Gollum比Coke少一块内存板,诊断程序让它跨到不存在的板子上,"掉出了世界的边缘"。拉斯阿拉说"我们没改掉用日食编号习惯想的毛病"。他们插上第二块板,中断就好了。

九月底,机器通过了日食和Eagle多重编程可靠性测试。十月四日,Gallifrey跑起了Adventure——小组定的规矩是机器能玩通游戏才算真的活了——然后当天Whetstone基准测试成绩出炉:单精度比VAX公布的数值快约一成,是最快日食的两倍。十月六日,卡曼在实验室抓起ALU板摇了摇,机器当场出错,故障点就此找到。十月八日,Gallifrey被装上手推车推进软件部。拉斯阿拉说"它是一台计算机了"。他没有开香槟,他说太累了,也怕那股"la machine"消失后的空虚。

谁造的这台机器

Eagle原定更早发布,因PAL供应问题推迟到1980年春。推迟给了软件和诊断更多时间,也让小组有功夫把机器磨到"板子可以互换"。发布前还出过一个"邪门"的错,霍兰伯格加一根线修好,说不出原理,"就是知道能行"。拉斯阿拉赌它不行,输了,给霍兰伯格买了两周咖啡。

Eagle上市后的订单据说在1981年初占到数据通用全部新订单价值的10%以上。北卡到1981年春还没拿出机器。功劳归谁?基德尔写了德卡斯特罗的采访:他说项目"从一开始就很重要",说小组"干得漂亮";问他有没有刻意培养小组那种独立创业的感觉,他说"你要是刻意去培养,反而做不成",公司只是"提供那种事情该发生的环境"。一个老工程师当面反驳:"德卡斯特罗没那么神。他运气好,人也聪明,但最重要的是他身边有韦斯特这样的人,替他擦屁股,还把功劳都记在他头上。"

酒馆里的争论更直白。盖伊尔说:"我们的承诺不是来自德卡斯特罗、卡曼或韦斯特,是来自我们自己。"霍兰伯格笑着打断:"他们的想法是被灌输进我们脑子的!"盖伊尔坚持:"公司没要这台机器。是我们给他们的。"拉斯阿拉安静地说:"韦斯特创造了那个设计。"大家停下来,避开彼此的目光,话题换了。

这一章基德尔第一次正面给出自己的判断:从管理角度看,这是"竞争资源"的本地管理系统起作用的案例;但更准确的说法是,一群工程师因为想造一台计算机而兴奋起来。机会无论是公司失误还是有意安排造成的,都得有人去抓,这个意义上主动权和功劳都属于韦斯特和他的团队。他用罗斯金《哥特式的本质》里关于工匠手艺的话作对照:判断一件东西,还要看它是被什么条件造出来的。小组的成员多次说他们不全为钱干活,事后有人说没拿到应得的钱和承认,有点苦涩,但一谈起项目本身,他们的热情就回来了。盖伊尔说:"百分之九十八的快乐来自知道你做的东西能用,而且基本按你预想的方式工作。那样的话,有一部分你就在那台机器里。"

基德尔给出一组数字:4096行微码(约八英寸厚的册子)、几千行诊断程序、二十多万行系统软件、几百页流程图、约240页原理图、上百份ECO、二十小时录像带,还有几台能跑的白蓝色机器和更多订单。"这一切,到头来,不是假目标。"

恐龙:项目之后

布劳清理细节时发现一根叫不出名字的电缆,霍兰伯格说"那是韦斯特特制"。布劳这才意识到项目背后有几十个他不知道的小问题,都由韦斯特提前安排掉了。韦斯特私下赌得很大,他几乎从不在公司里承认:"你得够相信自己,才说得出一些相当出格的话。"他把自己当成对整个项目负责的人——团队签约造机器,他签约保证机器出门、大卖、团队拿到奖励和"再玩一盘"的资格。

六月产品委员会上,韦斯特第一次正式把Eagle呈给德卡斯特罗,后者给了个"惜字如金的祝福"。夏天,韦斯特突然想起小时候跟父亲周日骑车,又重新陪大女儿骑车。八月他和作者出海,船上的柴油机坏了,他闷头修了许久才修好,事后承认他从没修过柴油机,"我以为我修不好"——他已厌倦扮演"我能修好一切"的英雄。

接近完成时,公司组织变大,新经理进来,不懂小组那套不成立文的规则。拉斯阿拉、霍兰伯格和韦斯特都说"打人"这招不灵了。霍兰伯格把小组比作枪手:镇上雇枪手解决问题,问题解决后,体面市民迟早要把他赶走。"这是个经典的美国故事,"阿尔辛附和。韦斯特和小组的旧敌打了一场持久战,他解释说是在保卫小组的自由。

十一月,韦斯特召集全组,宣布他要离开小组,去楼上的市场部,常驻日本。他对大家说,拉斯阿拉、沃勒克和阿尔辛会接管小组,新项目都已排好,"基本面是对的"。拥护者觉得地动山摇,年轻人大多无所谓。罗斯玛丽清理他的办公室,最后搬走那座橡木座钟,阿尔辛说"我扶着钟,免得过坎时摔了",拉斯阿拉和布劳也跟在后面。上了楼他们迷了路,问一个"穿西装的陌生人"才找到新办公室。阿尔辛后来觉得"像刚参加完一场葬礼"。

韦斯特说他有"戒断症状",凌晨三点惊醒出汗;又说"让我回头沉浸在Eagle里太有诱惑力了——但那是陷阱,答案是:对,很可能是。"他要去日本教合资公司的工程师造数据通用的机器,"日本!东方!伙计,我真的可能爱上在日本造机器!"

之后的事:罗森去了别的公司,一周五天八小时,说终于开心了。佩克辞职,发现能领退休金——65岁时每月53美元。沃勒克在同行面前讲完Eagle架构,听众站起来鼓掌,他说那是"终极奖赏",然后也离开了数据通用。阿尔辛和拉斯阿拉去了加州。阿尔辛说走不是因为钱,"我觉得我自由了,可以走了"。数据通用随后几年财务不佳,多次盈利下滑,多名副总裁离开,包括卡曼。小组在1980年秋被解散,成员分进新的小团队。韦斯特说"都散了,但风气还在",又说"那是个夏天的罗曼史,但那也不错,夏天的罗曼史是人能遇到的最好的东西之一"。

尾声:机器不再属于造它的人

申请专利时,小组聚在一起逐项登记每个人的贡献,会上有争吵。有人问韦斯特的名字凭什么上专利。讽刺的是,这些会议恰恰证明造Eagle是集体活——完成之后,他们自己都难以说清谁贡献了什么。散伙后,北卡的负责人给沃勒克、阿尔辛、拉斯阿拉和韦斯特发来祝贺电报。

1980年4月29日,数据通用在纽约罗斯福酒店发布这台机器,名字已改成Eclipse MV/8000。展示现场128台终端接一台Eagle(用Gollum的电路板),演示中机器崩了一次,公司工程师眼疾手快修好,几乎没人察觉。第二天《华尔街日报》和《纽约时报》金融版都登了消息。市场部把机器讲给记者听,负责讲的人跟造机器毫无关系。阿尔辛在发布会现场听见市场部讲完,回家会想"哇,那是我干的吗"。韦斯特也来了,站在后台。记者问他跟这台机器有什么关系,他摆摆手含糊带过;阿尔辛看不下去,把记者拉到一边说:"那家伙是整个项目的头儿。"

散场后走往宾州车站的路上,作者对韦斯特说:"它只是一台计算机。说真的,在世界上是件小事。"韦斯特轻轻笑了:"我知道。"第二天,数据通用的销售队伍在纽约听区域销售经理训话:"什么能激励人?自我,和买得起家人想要的东西的钱。"作者写道:这是另一种游戏了,机器显然不再属于造它的人。

观察者位置与证据

这本书的素材是基德尔约两年里的现场观察和访谈。他坐在小组的格子间里,夜里跟调试者一起守着逻辑分析仪,参加小组的聚会,去酒馆,去博览会,也跟韦斯特出海。引语来自在场的人和当事人多年后的回忆,两者在书里被并列处理,读者常能看到同一个人物对同一事件前后不一的说法(比如Eagle到底是"从自己内心来的"还是"被灌输的")。

需要区分几层:韦斯特、阿尔辛、拉斯阿拉等人的话是当事人陈述,基德尔把它们与事实描述分开呈现;德卡斯特罗在采访里的说法(项目"从一开始就很重要")与老工程师"德卡斯特罗没那么神"的说法相抵触,书里并置,不下结论。数字——VAX硬件成本估算、Eagle订单占比、微码行数——是书中给出的具体材料,来源分别是韦斯特的估算、传言或业内人士的说法、项目记录,作者都标明了出处的大致性质。

书里有一些不可复现的单次事件,比如韦斯特偷偷拆开VAX那次的细节,只有韦斯特一个人的叙述。这类材料属于当事人回忆,基德尔没有试图去核实或标注怀疑,读者应把它当作当事人的说法。

可以带走的经验

这节提炼本书提供的、与具体事件分离后仍站得住的经验,并说明它们的边界。

  • 动机不必来自金钱。小组加班没有报酬,事后也没有可观的股票或升职,但活干完了,大多数人说自己很高兴。书里给出的机制是:把有意义、有边界、看得到成果的任务交给能自由安排的人,让"作品"本身成为报酬。盖伊尔的"有一部分你就在那台机器里"是这个机制的直接表达。
  • 控制与自由的搭配。韦斯特很少说"你好",审设计时只给"对"或"不对",却把大量决定权留给一线工程师:选谁、写哪段码、怎么安排时间。罗斯玛丽和基廷事后都认为,那种距离感让年轻人有地方卸责任,也保住了他们的自主感。这条经验有个前提——组员大多年轻、想要证明自己,而且当时公司文化鼓励这种风格。
  • 虚假期限和内部竞争的代价。韦斯特靠"不可能按时完成"的承诺争到资源,也用恐慌驱动团队;代价是精神消耗、罗森那样的"烧尽"、以及调试后半段近乎赌气的紧张。基德尔没有把这些做法当成功学推荐,他记录的是它们的真实成本。
  • 调试的现实:机器永远不会被完全调试,重要的错常常"错得越少越难找";先让机器"坏"出来,比分析证明更实用。这类知识有明确的行业背景(1980年前后的小型机),今天未必直接适用。

限制条件要写明:这些经验出自一个特定的公司、一个特定的项目和特定的人群。基德尔自己也强调,数据通用的环境("打人"、内部竞争、小公司文化)是Eagle得以成立的条件,换一家公司未必能复制。书中对"谁创造了机器"的争论最终没有裁决,基德尔给出的结论是:机会得有人去抓,而抓的人是韦斯特和他的团队。