第3章 部落(5)

2025-03-31 02:09:50

疏离了他的OS/2同事,伍德需要另找地方着陆。

因为他不能容忍与无能的人共事,自然而然他的早期前途看起来比较暗淡。

他发现计算机这块新领域的时候,他既没觉得它像个家,也没觉得它意味着成功。

而现在,计算机对他来说,意味着家,也意味着成功的所在。

他在微软的经历既可以说是不同寻常的,又可说是十分典型的。

像这样一个软件明星,对卡特勒的团队来说,肯定是锦上添花。

他是一流的程序员,工作效率极高,精力充沛,他可以让自己发挥得很好,也能代表微软的形象。

盖茨心里乐哉乐哉。

伍德为加入NT小组而激动万分,他在那儿发现了一些聪明人。

但他也感觉怪怪的,因为卡特勒的部落想依靠他来帮助他们来适应他们的新家,可是连我自己也不是很擅长微软方式。

卡特勒的团队就操作系统的想法跟伍德聊了好几个小时,他们希望这是为个人电脑创造出的最先进的操作系统。

我就在一个新的沙箱里。

伍德说,我们没有产品。

我们没有日程进度。

我们只有乐趣!他们也不赶时间。

鲍尔默希望这个部落花六个月到九个月时间来理出技术思路,了解微机特性,最后能列出一张可交付成果清单。

这样的节奏适合卡特勒,他想一举成功。

许多程序员的工作方式是步进式的,通过多个版本来逐步完善一段代码。

每个版本都为他们的想象和推理扮演着堡垒的角色。

卡特勒则相反,他在开写之前,先在头脑里形成代码图,然后再高精确度地写下代码。

我不是那种尽可能快地写出代码,然后再一遍又一遍地修改的那种人。

他还说,另一方面,我不怕重写任何东西。

如果它的结果并不是我想要的,我不怕全部推翻,重新来写。

对于编程,卡特勒是个实用主义者。

他相信形式优先于功能,但他也不是完全屈从于结构。

他总是有正确的开始,而结束时,他的代码也只有极少的错误。

通常,他先为团队写出最抽象的代码。

他把一个操作系统预先分为几十组代码,每组代码都附着详细的要求。

编写代码需求本身就是一项艺术。

工程师们早就从他们的职业经验里得知,一个糟糕的代码需求会导致整个项目的死亡,而一个好的代码需求则是一座灯塔,当程序员迷失方向时,灯塔会帮助他们回到正确的航线上。

然而代码需求不仅仅对它的创作者有用,它还能帮助所有参与开发程序的人。

每段代码共生共存,整个程序就好比一个精致的生态系统,如果一段代码有问题,甚至是和其他代码没有直接联系的时候,也可能会摧毁整个程序。

依赖代码需求有两个缺陷。

写出一份代码需求就要好几个月。

一旦编程开始,代码需求也需要不停地修改更新,否则它就会因过时而不起作用。

过时的代码需求可能会起到误导的作用,会导致混乱。

只要代码需求在有效期内,就需要专人来维护。

这个工作由卡特勒在DEC实验室的首席程序员卢?皮亚佐利(Lou Perazzdi)担当。

皮亚佐利是个高高瘦瘦的男人,很少挺立站直或提高他的音量。

戴夫是位实干家,他说,我喜欢给实干家工作。

皮亚佐利除了是位天才程序员,还是一位程序员教练。

他的管理哲学很简单:让你的人们快乐。

他认为他的程序员们迟早会做对的事情。

他一直是位重实际的人。

如果有人因疲劳过度或生气而不能继续工作,皮亚佐利会询问什么能缓解他的烦恼。

有时候,程序员会给一个直白的答案,会要求要一个大点儿的显示器或是一个装数据的大硬盘。

皮亚佐利有一笔基金,通常可以满足这些要求。

也有时候,程序员的心情太过抑郁,而疗方也比较贵重。

曾经有个程序员想要一个月的休假去意大利游玩,并在哥斯达黎加(Costa Rica)的海岸潜水。

皮亚佐利通常会这么解决这样的要求:你做这个,做这个,再做这个,做完后,就给你安排旅行。

善解人意的皮亚佐利是最能衬托卡特勒这朵红花的绿叶。

如果说戴夫是盐,卢就是糖。

伍德这样评价。

当人们害怕和卡特勒讲话的时候,他们会把他们的苦恼和烦闷诉说给皮亚佐利听。

当卡特勒非常生气,忍不住要惩罚一个人的时候,他先向皮亚佐利发火,皮亚佐利再依情况,或是平静地把坏消息传达给当事人,或是不告诉任何人。

许多部落成员对皮亚佐利都有极大的感激之情。

卢维护着一批自大、脾气糟糕的人,如果没有他,这帮人说不定会自相残杀。

其中一个成员说,当有些人因为受不了卡特勒而提出辞职的时候,他能把人留住。

然而,伍德却抱怨说卡特勒和皮亚佐利用的是红脸白脸的伎俩。

麻烦就是,戴夫太野蛮了,卢又太好了。

他曾经写道。