2010世界杯 – 俺的爬梯生活
(2010-06-17 13:59:41)
下一个
(一)
世界杯开赛前9天,收到老板一个邮件,标题是“2010世界杯~~~~~”。当时想,这美国老伴还挺关心世界大事,怕我们误了这场盛会,给大家提醒呢。
再往下看,好几个相同标题的邮件,有的还打着红色惊叹号。仔细读下去,不好了,是我们的产品在这场盛会的一个角落里掉链子了。
严格地说,是我主管的一个产品掉链子了。
没几分钟之后,老板过来谈情况,大体上是说,有个百年不遇的应用case,被用户挖掘出来,发现不灵,你看看怎么回事。
当即放下其他杂事,跳进去看。
一个小时之后,告诉老板,这个功能是有的,但是我们的用户界面几年前把这个功能删除了,所以产品未得到测试。现在把界面加上,测试一下吧。
加上界面,我自己测试了一下,结果还不错,似乎有效。赶紧电邮新的程序到地球的另一个角落。当地的测试感觉有些效果,但是没有彻底解决问题。
(二)
我知道问题没有彻底解决的时候,已经是第二天早上。对方在我们的夜晚工作。而且特意等到我们天亮,在电话里向我讲述问题依然存在之后才回家休息。
一听,问题还在,我就有点儿烦。这东西我测过的,没测出来?只好重新测一遍,加长时间。果然出错了。
再看看吧。这种以前从未测试的功能,火烧火燎的时刻,一步到位尚有困难。
两个小时之后,再次成功发现重大问题,修正后,自己再测,长时间测,都没问题。
与此同时,老板和市场部门的头儿加上地球上几个不同角落、都拴在这根绳子上的蚂蚱们,开了电话会议。讨论如何把链子装回去。跟我相关的,是给我配备了三个测试员,火线测试。这大概相当于在好莱坞当主角,配备三个化妆师吧?
信心满怀的我,把新的程序发给当地的两名测试员。其中一位是我们的头牌测试,他把发现产品中的问题当作吸毒,总是充满了热情、渴望和创造性地迅速找出问题。可惜他太忙,永远在火线上。平时不出大的差错,轮不到跟他见面。
当然,工程师的最大特征,就是面对这样的测试员,心理素质过关。比方说我自己。
在写给测试员的邮件里,我心情愉快地说:如同每次发给你们新版本一样,我信心十足。请你们有空的时候稍微测一下。
(三)
当天,女儿有年终的话剧演出。我向老板汇报,让测试员忙着,我先去看女儿演出。有什么问题给我打电话。把电话写在了老板办公室的白板上。其实我是装装样子,心里很踏实,就算头牌测试出马,这次也不大可能测出闪失来。
老板没松口,说,有问题我给你打电话,晚上得来。我说:明天我可以来(原本第二天我休息)。我还是在做姿态。老板说:明天就太晚了,我们的截止时间是明天早上4点。
(四)
看女儿演出,彻底忘了公司的事儿。回家吃饭、聊天儿。电话还真就响了。
老板说:头牌测出了问题,你还得来。
这下,我比较乱了。不是怕问题,也不是怕加班,是没有思路。挺简单的一个功能,用的是文件包里的老程序,接口能查的都查了,要是还有问题,就得进文件包,看汇编程序。这是晚上9点,到早上4点也不太远了。
放倒孩子们,告诉他们,世界杯能否正常运行,就等着娘这一晚上的运气了。你们放心睡觉,娘去练气功。这种在孩子们面前拔高自己形象的机会不多,我得用上。
(五)
到了公司,老板还没走。估计他心里急得都起泡了,见到我还是客气地说:这么快就来了哈。这职业修养太让俺敬佩了。
我只好打开文件包,对汇编语言开战。感觉有点儿不对,以为自己找到了问题。幸好老板在,就过去跟他唠叨。他觉得有道理,略有放心的感觉。
一个时辰过去,我发现自己发现的所谓问题不是问题。向老板认错,刚才咱诈喜了。老板没惊,这种问题哪个工程师出身的老板不是身经百练,早就见怪不怪。我安慰老板,你也不用跟这儿耗着,回家休息吧。我能撑住。
其实咱干这一行的,怕的不是问题,而是没问题。只要知道有问题,解决问题是迟早的事儿。只是现在时间有点儿紧。
决定放弃文件包,重新写一个相同功能的程序,调试起来也方便。自己动手,丰衣足食。
自己写的程序也是一写就错。老板熬不住,要离开的时候,我汇报说,自己写了个伤痕程序,正在调试。您回吧。弄好了,我会给你发邮件的。
估计老板快到家的时候,俺成了。邮件一过去,老板就回了,欣喜若狂。
凌晨一点半,程序飞往世界另一个角落,那边已经白天了。让他们来测试吧,我们这边的测试员早回家了。
(六)
回到家的时候,感觉公寓楼里住了很多周总理,到处是亮到后半夜的灯光。
半宿无梦。早上起来,看到地球另一边回来的邮件说,一切就绪,载着新程序的硬件马上快件发给用户。链子马上就要装回去了,拭目以待。我感觉,还好,自己这一程,没掉棒。
(七)
我决定去唐人街看中医。这几天花粉过敏症状严重,西药一吃,症状减弱,人也就飘起来。还是看中医比较适合咱这唐人体质。
一路上看着苹果公司为下周一即将召开的丐帮大会张贴巨幅苹果商标于会议中心。我也忙中偷闲,去一家专卖店,给女儿买了几块日本产的趣味橡皮。
(八)
看完病,在街上闲逛。慢悠悠到了中午才回到家。泡了一碗饭,打开电视,打开计算机,看看公司是否依旧平安。
不看不要紧,一看,问题又来了。本地二号测试员今天加班,发现新版本解决了核心问题,也创造了更新的问题。某个通讯渠道变得十分缓慢。
他没忍心告诉我这个消息,只是电话上给其他工作人员做了口头汇报。但是地球另一端的蚂蚱急了,发出一个邮件问:这hobo同志还没来上班吗?这个通讯速度是个潜在的棘手问题,客户可能会急。
客户可能会急,但是俺马上就急了。立刻发邮件说,稍等片刻,流浪者马上就到。抓起车钥匙就往外奔。
(九)
这才想起来今天早上是他爹挪的车。昨晚后半夜回来我把车停在了今天早上要扫街的一侧,早上必须挪开。当然不挪开更好,城市建设部急等居民犯错误,交罚款。
可是他爹把车挪哪儿去了?也没告诉我一声儿。此时此刻打电话过去,也没人接。全世界的人都知道,那是一个伪号码,十次有九次打过去没人接。要搁平时,咱也就一笑了之。可这不是平时,战争状态,您也不接电话,就怪不得俺没修养了。俺差点儿把自己手上的电话也扔了算了。
但是不能扔啊。俺还得给保姆打电话,请她也加个班吧。到点儿接女儿去练体操。这电话也还得留着等儿子来电。早上信誓旦旦告诉儿子,妈今天接你。孩子高兴一整天了,到了儿还得再懂事一回,委屈他自己坐车回来。
上上下下,爬了好几个山坡,才找到自己的车。
(十)
到公司后给二号测试员打电话,汇报我来了。对方做吃惊状,问:你怎么来了。俺说,别客气,你捎话儿也不带绕地球好几圈儿的,太不环保。俺还是把这问题解决一下。你先测个特例给俺,看看俺的假想对不?
(十一)
假想当然是对的。谁惹的祸谁心理最清楚。
二号测试走了。
俺开始大刀阔斧优化程序。
下午5点多,孩子该回家的回家,该练体操的练体操,全都安顿好了,俺也就绪了,可以回家了。看起来简直是赤裸裸地躲避家务。
这次,俺彻底谦虚了。新程序发出去,告诉蚂蚱们:又弄了个新碴儿,你们看看合适不,不行的话,俺随叫随到,要怎么改怎么改。看得起俺,就把俺的电话号码留下,有问题千万打电话给俺,别客气哈。
(十二)
第二天是周末,地球另一端也是周末。勤快的蚂蚱,异地测试员来电邮说,真的测试要等到客户周一上班才能进行。简单测试已过。你新给的程序我们留做备用。希望通讯速度不碍大局。
(十三)
周末的第二天,俺还是有些纠结。俺不放心那个文件包里的程序到底是怎么错了。另写的一个程序是没问题了,但俺还是想在客户的星期一之前,弄明白原委。以防突如其来的新问题。
世界杯又近了两天。
俺跟孩子们请假,再次来公司加班。
(十四)
弄清原委,其实不简单是责任心的问题,也是好奇心使然。好多日子没有这么让人好奇的事情发生了,事故如节日的焰火,让俺的心情喜庆起来。
带着这种喜庆的心情,俺开始阅读汇编程序,如同读一首诗。斟酌着每一个词,每一个句子,每一个标点符号。
当暗藏在文字中的诡计暴露出来的时候,我有点儿惊惶失措。不是因为惧怕这诡计,而是无法想象,这在外漂流了10年的老程序,居然混过了大小海啸、地震、甚至911,它是如何安全活到今天的,带着这么重的伤痕。
(十五)
后面的故事跟俺关系不大。最后他们使用了最后一个版本的程序,因为客户对通讯速度要求苛刻。为了使用这个版本的程序,载有较新程序的硬件,一到目的地,就被洗心革面一次。然后分送去十多个不同的比赛城市。赶在了开幕前。
(十六)
赛事开始后,不时地碰到来自欧洲的同事,感谢俺对世界杯的贡献。虽然绝对是夸大其词,但好消息默默地在办公楼里流传,俺也很感激。
地球另一端也发来一封本次活动精彩片断回放的信,给办公楼里相关人员。俺得说,写信的人,是个公平、细致、有责任的好同事,因为他把俺的名字列在了第一行。