财新传媒
位置:博客 > 万战勇 > 我在谷歌弄啥咧之七:剃牛毛

我在谷歌弄啥咧之七:剃牛毛

在我小的时候,对计算机工作有一些不切实际的幻想。比如一群高智商的眼镜青年,穿着白大褂在全封闭PM2.5无限接近于零的机房里时而托腮沉思,时而奋键疾敲。不尽代码就随之在大显示墙上像俄罗斯方块一样滚滚而下,堆出一个个崭新瑰丽的功能,为社会主义或资本主义的明天添砖加瓦。这时候,整个机房里应该是除了键盘和鼠标的哒哒哒没有其它任何声音的。如果有谁胆敢在机房说话,那简直是亵渎神圣的计算机,会马上遭到老同志的痛斥“你丫新来的吧!”然后,一个大型项目攻关完成的时候,领导同志会率大批记者入场摘桃子,发表讲话:“同志们,因为你们的聪明才智和不懈努力,我们 XXX 项目终于,提前,两个半月,完工了!你们,又填补了一项空白!人民,为你们骄傲!组织给你们记二等功!来,小万,干了这碗鸡汤!”
 
等自己干上了码工,才发现提前完工的软件项目只在笑话中存在。自己大多时候做的是修理工的事情:每次当你成竹在胸豪情万丈地要大干一场,就会有各种臭虫和历史遗留问题跳出来挡道,束缚你的手脚,让有志青年不得开心颜。
 
在我们程序员的文化里,把这类历史遗留问题叫牦牛毛,清理这些问题的工作就自然叫做剃牦牛(shave the yaks)。这类问题通常不象程序里的臭虫一样紧迫,但是毛多了不理,就成了臭虫滋生的土壤。特别是系统复杂到了一定程度,不同部件之间有千丝万缕的联系,会出现牵一毛而动全身的情况,往往一个看似无害的小改动就引进了一个大臭虫,甚至把牛惹毛了造成系统崩溃。给这样的系统加功能,很可能会进一步退两步。这是很让人抓狂的事情。
 
所以,给牦牛理发就成了没多少人爱做但是又不得不做的工作。不过,林子大了什么样的猿都有,还真有喜欢干这个的。做为一枚有代码洁癖的理想主义青年,每次看到有问题的代码我都如芒在背坐立不安,十个指头不由自主地抖动,非得要把代码改顺眼帕金森症状才会消除。如果我是一名剑客,这时杀气估计已经到了十步之外。所以,这些年我剪牛毛的事没少干。除了剃自己家的牛,有时还因为实在看不下去,把其他项目组养的牛或者是全公司共享的一些牦牛也剃了。
 
公司里面这种雷锋还不少,很多人都在用他们的20%时间剃毛。其中有个在纽约分部的雷锋叫 Michael E Chastain,他的名字缩写正好和 C++ 大牛 Scott Meyers 的那本程序员圣经《更有效的 C++ (More Effective C++)》一样。Michael 对剃毛热衷到了病态的程度,据我观察他剃毛花的时间很可能超过了他的主业,除非他可以不睡觉。每次看到 Michael 又提交了一个改进,我都自动会脑补一句甄子丹的“我要打十个”!除了自己左右开弓上下翻飞剃得起劲,他觉得光凭一班热血青年业余时间给公司剃毛已经不靠谱了。于是 Micahel 牵头成立了一个小组,专职给那些大家都在用但是没人维护的C++模块剃毛。这就是我歌现在的 C++ Library Team。有趣的是 Michael 自己是个大胡子,大概是没时间给自己剃了。
 
毛剃掉了,过一段时间又会长出来。所以,剃毛的事业是前赴后继的。Michael 前一阵离开我歌了,但是他创建的剃毛组还在发展壮大,前两年又在俺们柯克兰开了分部,吸引到了两位颜值超高的帅哥加盟。去年,该组给一些为公司剃毛事业做出过贡献的小伙伴们赠送了一件小礼品,我也有幸名列其中。
 
收到礼品一看,我忍不住爆笑了。为啥?这是一条纯西藏牦牛毛织成的围巾。 
 



推荐 72