注明: 这个故事是池老师讲的.
由于互联网的浪潮汹涌而至,程序员们突然就站到了世界的风口浪尖上,互联网上的一花一草一木,都与程序员息息相关。作为生性腼腆的手艺人,程序员们还没来得及从手足无措转化到从容优雅,就被世界上的各种荣耀、赞美、错误和黑锅砸的晕头转向了。今天就说说程序员背过的那些锅吧。
无论是互联网服务,还是企业级软件,一旦出现了问题,很多企业最先想到说辞都是:这是个技术故障,这是个 bug,程序员跑了,程序员刚来,这是前程序员干的,写这部分代码的程序员已经被干掉了……为什么程序员会频繁躺枪或膝盖中箭呢?因为,这个世界上几乎不存在没有 bug 的软件,即使你是最优秀的那个程序员,即使你是沃兹!
1977年底,沃兹和苹果第六号员工兰迪·威金顿经过不眠不休的编程和调试之后,终于完成了Apple II 对软盘驱动器支持的大部分程序。于是二人起身飞往赌城拉斯维加斯,准备参加 CES 展会。到了赌城之后,拉斯维加斯的滚滚红尘彻底迷乱了两个土鳖程序猿的心,一出美剧正上演……
当天晚上,沃兹和兰迪完成了最后的调试工作,一切都很完美,两个好基友就差对饮一杯红酒然后相拥而眠了。这时候,沃兹做了一个「明智」的选择:兰迪,咱是不是该备份一下程序再睡?兰迪说,对啊,你不说我差点忘了。沃兹带了两张软盘,于是他决定在空白盘上再备份一份仅有的数据盘,备份过程进行的十分顺利,他把空白盘当成了数据盘……于是他得到了两张干干净净的空白盘!
沃兹心里很苦,沃兹不说,而是睡了。
第二天一早醒来后,沃兹恢复了上帝般的自信,他冷静的坐在Apple II 面前,一机在手,天下我有,用一上午的时间盯着屏幕、敲打键盘,他重建了所有的程序,并在展会上进行了完美的演示, Apple II 获得了「言语无法描述的成功」!
伟大的程序员如沃兹者,年轻时也会犯下如此的错误。
还有一位程序员,他在一家网络游戏公司工作,他的一部分工作就是手动维护数据库里的一些数据,这个库是生产库!终于,在一个懒洋洋的下午,温暖的阳光照在身上,他发现自己昏昏欲睡,鼠标光标神差鬼使的移到了用户表上,右键菜单弹了出来,「delete」被选中,并被重重的点了下去……数据消失了,就像一阵风一样。当时这位程序员的感受是:
我的所作所为带来的严重后果并没有立即击倒我。我只是感觉到灵魂似乎出窍了,悬浮在黑暗房间的某个角落,我看到各位同事都勾着腰趴在发光的显示器上,他们惊恐的发现,所有的用户数据都不见了。
随后的一记重拳彻底击垮了这家公司,他们的数据库提供商告诉他们,由于忘记付费,这个数据库实例的备份两个月前就停止了……结果是,程序员和这家公司都消失了。
事实证明,一个程序员干掉一家公司,是可行的。
在漫长的互联网进化过程中,这种血淋淋的事实虽然不多见,但从未消失。慢慢的,各种真·锅和黑·锅,都开始找程序员的麻烦,毕竟,一个技术故障,总比犯错后用公司的价值观、规则、脸面和其他东西去解释容易得多。
云主机用户的文件被系统的安全程序隔离了,导致服务大面积瘫痪,结论是由于程序员粗心写错了一行代码,从而将所有新启动的可执行文件都当成了恶意文件进行隔离……
我想,这个倒霉的工程师一定是安全工程师。
一家旅游公司的互联网服务全面瘫痪,不可用时间超过了12小时。系统恢复后,官方表示,是由于工程师的错误操作删除了生产环境上的代码导致的……
我想,这个倒霉的工程师一定是运维工程师。
一家电商公司闹出了产品预约人数的造假门事件,结论是由于系统出错导致前端数据被清零,于是一位自告奋勇的前端程序员冲上去把后续的预约人数乘了个三……
我想,这个前端工程师的勇气是真·勇气!
还有前一阵的招聘们,A 招聘公司的程序员不仅自告奋勇入侵了 B 招聘公司的系统,并成功下架了人家在 App Store 的应用……
我想,这个工程师,可能是之前几个工程师的合体!
锅如此多娇,让天下程序英雄竞折腰!
不可否认,很多坑是我们程序员挖的,有时候做做背锅侠也是义不容辞。但是,不犯错怎么成长呢?每个程序员都是在一个又一个的错误中成长为杰出的架构师、技术经理、CTO、创业者和产品经理。指望程序员不犯错是不现实的,我们能做到的是,不再会犯同样的错。
为什么有产品经理呢?可能是犯错太多转行了吧。
|
|