我总会有时候什么事都做不了。
我当然还是会去上班,不过却是到处闲逛,每10秒就收一次信,逛逛 站,甚至做些付信用卡帐单之类不用动脑的事。就是没法子进入状况回来写程序。
真让我受不了的是,从我做开发工作以来,平均每天只有两三个小时能有效率地写出程序。当我暑假在微软实习时,另一个实习生告诉我他每天只有12点到5点在做事。做五个小时(还要扣掉午餐时间)的事,而他的小组却很崇拜他,因为他的成果还是比一般人多很多。我也发现一样的情形。当我发现大家都非常努力工作,而每天只有两三个小时效率的我却还是组里产出最多的人,不禁令人有点内疚。这或许就是《人件》和极限程序作业(XP,eXtreme Programming)坚持不加班而且每周只应工作40小时的原因吧,他们很确定这样并不会降低团队的效率。
不过一天「只有」两三小时有工作并不是问题,真正困扰我的是那些“什么都没做”的日子。
这件事我想了又想。我尝试回想我职场生涯中最有效率的时候。极可能是在微软把我放到一间漂亮豪华的新办公室,里头有着如画般的大片窗景(美丽的石头庭园,里面满是盛开的樱桃树)。那时候每件事都很顺利。在几个月内,我马不停蹄地写出Excel Basic的详细规格,非常厚的一份文件,巨细靡遗地叙述一个庞大的对象模型和程序开发环境。过程中完全没有停顿。有一次不得不去波士顿参加MacWorld,我还是带着手提电脑坐在哈佛商学院的漂亮阳台上,继续写著视窗类别的文件。
第8步和第9步之间似乎有点问题,因为我不是每次都能顺利跨越鸿沟。
当我还在以色列当伞兵时,有位路过的将军给我们讲了一小段关于策略的课。他告诉我们,在步兵作战时只有一种策略:边开火边移动。你要一边开火一边朝敌人挺进。开火让敌人抬不起头,不能向你开火。(这就是士兵喊「掩护我」的意思。也就是说「对敌人开火逼他低头,这样我冲过街时敌人就不能向我开火」这招的确有用。)移动让你攻占地盘并且更逼近敌人,这时候射击更容易打中目标。如果你不移动,敌人就能控制局势,这可不怎么好。另外,如果你不开火,敌人就会对你开火把你钉在原地。
这件事我一直记得。我也注意到由空中缠斗到大规模的海军演习,几乎所有军事策略都是由边开火边移动的概念延出来的。我又花了15年才了解这也是在生活中成功的方法。每天你都得前进一点点。你的程序不好有错还是没人要,这全都没关系。只要你一直进行,持续地写程序并修正错误,时间就会站在你这边。当竞争者对你开火的时候要注意。他们可能只是想逼你忙着应付,让你不能继续前进。
想想看微软所推出资料存取策略的历史吧。ODBC,RDO,DAO,ADO,OLEDB,还有最新的ADO.NET – 全部都是新生的!难道这些技术都是非要不可的吗是一个年年都在重新发明资料存取的无能设计团队的杰作呢这很可能是真正的答案。) 不过最终的结果却刚好成为火力掩护。它让竞争者别无选择,只能用尽所有时间进行移植和升级,没有时间去写新功能。仔细看看软件业界。成功的公司对大公司的依赖最少,不需要花所有工夫追随并重新实现,然后去修那些只出现在Windows XP上的问题。而跌跌撞撞的公司都花太多时间去揣测微软未来的方向。大家都担心.NET的出现,认为有绝对必要所以决定针对.NET重写整个架构。事实上微软是在对你开火,而且只是让他们前进并阻碍你们的掩护火力,因为这就是游戏规则,朋友。你想支持Hailstorm吗OAP呢DF怎么样nbsp;你支持这些东西是因为客户需要是因为有人对你开火而觉得应该有所反应呢公司的业务团队很了解火力掩护这一套。他们会去跟客户说「没错,你不一定要买我们的东西。要买就要买最好的。不过记得你买的产品一定要支持(XML /SOAP / CDE / J2EE),否则你就会被绑住了。」然后当小公司试图接触这个客户时,这个听话的CTO就会像鹦鹉一样说「你们支持J2EE吗尽管J2EE不会真正带来收入,他们还是得耗尽所有的时间加上J2EE,结果完全没机会让产品产生区别。这是个勾选项目,会去做只是因为需要有个项目打勾表示你也有,不过没有人会用也没有人需要。而这就是掩护火力。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!