35年之后 我仍然只是一个程序员

20年前我正处在一个十字路口。当我们为出版商打造Deltagraph的五年时间结束的时候(他们希望进入新兴的互联网领域),我的第二家公司开始逐渐没落。那个时候我作为一个程序员已经有13年了,而且有9年是在一家公司工作(在同一时间)。

我不再想两者都做。我的第一家公司是在85年到87年期间,不仅仅构建一种新的电子表格程序,而且还自己发行。我领导着这家公司,包揽了所有的记者采访,管理投资人,做所有日常的业务工作,还是三个程序员的其中之一,另外还是一名UI设计师。87年,当我们的产品发货的时候,我也住进了医院。试图同时作为一名领导者和一名程序员简直太难了。

因此,在1994年的时候,我要选择是从事任何技术管理工作或者继续作为一名程序员。我选择了程序员,因为它更容易。今天,我意识到我是犯了多大的错误,尽管在过去的20年中,我可以做所有了不起的事情。但如果再回去做选择,逐步转向CTO / CIO /工程副总裁的路线,会是一个更好的计划。

大概1995年的时候,我在旧金山湾区工作了一年,其中后一半的时间是在苹果公司工作。那时苹果看起来就要分崩离析了,因为我不想眼睁睁看着我最喜欢的公司在我身边死去,我选择回到了德克萨斯。这又是一个巨大的错误。

不仅是因为当史蒂夫回来的一年后,苹果开始了巨大的转变,而且是因为整个Dotcom公司开始爆发式发展。作为一名经验丰富的程序员和负责人,我必须对可能发生的需求有充分的预判(我在一张软盘里同时打包了9个版本,因为那时的技术很难做到热修复),这样一旦得到需求的要领,我就能根据预案迅速跟进。

30年前,我姐姐一开始也是一名程序员,但第一年她就跳入了管理领域,在过去的大概15年间,她一直在一家大公司担任副总裁。几年前,我供职的一家旅游公司的母公司有一个CEO,在他最初的15年间也是一名工程师。当然这类管理工作可能很困难也没啥意思,但他们的报酬要好得多。我姐姐的资产大概是我的10倍。

这些年来,我认识到程序员的力量太过微小。无论你写程序有多厉害,你都很难有权力真正改变一些失败的产品、失败的项目。我意识到作为一名程序员能够挑战的空间是多么的小(甚至和建筑工人差不多);再算上管理层在财务上的福利、更有可能深入参与公司IPO以及其它种种可能得到的机会,选择当程序员,就意味着你必须满足于开发好产品,其他就别想太多了。

在过去的大概5年间,在我工作过或担任过顾问的地方,其中出现的最槽糕的状况几乎总是由那些不称职或彻头彻尾的技术管理白痴造成的。受篇幅所限,这篇博客就不全部列出来了。

举个例子,记得一个银行的工程副总裁说过,他并不需要懂技术,依然也可以做一些技术决策,因为他管理的是人。还是那家银行,那里的首席信息官从不相信他的员工告诉他的任何事情,但他相信所有供应商告诉他的事情。当然,我们知道他是拿了回扣,因为我们一直在不停地买我们不需要的东西,而他总在不停地写一些赞美客户产品的报告。我们几乎没有用过这些产品。我离开后的一段时间,他被解雇了,可是刚走出公司的时候,他立马得到了另一个类似的CIO职位。

我做过最差劲的一份工作,恰恰是我本以为会是最好的一份。当时一个已创业一段时间的企业在他们的领域里取得了一定的地位,他们和定位不同的竞争对手都想占领更大的市场,于是竞争开始白热化。那时,我被聘为第二程序员。其他的程序员和管理人员被聘请建立一个新的更大的在线商店,因为现有的对于一个庞大市场来说显得太不灵活而又缓慢。而这家公司没有技术领导力,CEO和另两位创始人都没有技术经验或相关知识。那位工程师不断地吹嘘自己的后端代码是如何的出色,经理也支持他。而我则开发前端,做演示,每天都check in自己的代码。等到我认为是进行集成的好时机时,我才发现另一位工程师整整10个月都没有check in过任何东西。我向经理指出这一点时,经理却说“他只有等到东西已经完美才会check in代码”。 但是除了我以外没人认为这是愚蠢的话。接下来的 2 个月我绝望地想让那 3位创始人招能干实事的人进来(我认得几个),但他们很害怕做出改变,也不肯承认聘请那两个人从一开始就是错误的选择。最后我放弃了,离开了那家公司。

一年后,公司仍然从这几个家伙身上一无所获,于是他们才解雇了这些人。他们试图聘请一些咨询公司,但也没有任何收获。到这个时候一切已经晚了。而对手怎么样呢?他们成为了一个数十亿美元的上市公司,并且我在电视上还能时常看到他们的广告。当我看到它们的时候,我真的想将鞋扔向电视机。我们除了一个该死的商店之外,几乎具备所有条件,而且事实上技术上还处于领先地位。如果我是跟他们一样的人,而不是一个程序员,我肯定会让整个公司走上另一条路。但是,我是一个程序员。

我可以继续下去,但最关键的是,除非你有能力、有权力和机会,对于人们在技术上做事情的方式,你不能做任何改变。有了这些条件,并且找到正确的位置来发展,你才有可能摘星揽月。

1987年初当我在电视上(计算机编年史)展示我们的产品Trapeze的时候,另一个主持人是Mike Slade,是一个Excel的产品经理。当时的我还太年轻,以为他也不过是一个无名小卒。然而,他之后创立了包括ESPN这些公司,在苹果的各种领导岗位上工作过,他是史蒂夫•乔布斯的好朋友,并创立了自己的风险投资公司。

今天我仍然只是一个程序员,籍籍无名的技术工。我甚至觉得,我永远都不会有真正退休的一天。值得庆幸的是,我仍然善于交付代码(我被一个以前的经理招募从事目前的工作,他需要的正是我所能够做的事情),但在我老到做不动之前,我仍然只是一个小小的程序员。

作为一个有将近35年经验的程序员,值得欣慰的是我现在还能做东西,还能找到乐趣,这些年还能开发一些不错的产品。但我还是对没有直面走上管理层的挑战感到后悔。从某种程度来说,当程序员是一份简单的工作。然而,一想到我曾经距离互联网风暴的中心那么近,离乔布斯回归那么近,我也有一定的领导经验,我就无法不懊恼,我完全可能是另一幅模样。

所以,是的,我后悔没有做出那个选择,虽然我也可能会失去写代码所带来的所有乐趣,也无法感受编不出东西的绝望感。

我来到了一个岔路口,选择了少有人走的路。也许现在我明白了为什么。