治感冒与程序设计
吴旻
泰岩网络工作室
这确实有点搞笑,但它就是真实的!
我自己一般会得感冒,一年总会有一次半次的,但我的治疗成本非常之低,基本上不超过一片扑热息痛,一大壶开水,外加好好睡一天。睡够了,我还会爬起来洗个热水澡,吃点粥,没准还会自己做一个凉菜——拍黄瓜!我觉得这病生得太幸福了,可以这么舒服的睡上一天,没人打扰,夫复何求呀!
我写的代码、设计的架构偶尔也会出个BUG,但是几乎总能在第一时间内定位并找到解决办法。我相信,只要是我写的代码,我就知道问题所在,至少很快知道。所以我的代码极其稳定,经得起最终用户的考验,更不需要长期维护!
这样的事情次数太多了,我甚至不能理解我的家人稍有个头疼脑热的就三五天不好,还要看医生、吃药、打点滴,随随便便二、三百元就出去了!我实在看不出我的感冒和他们的感冒有什么不同。
当然同样不能理解的是某些程序员的程序设计,尤其是宣称自己使用了多么多么先进的技术的程序员,我的第一感觉是,他在夸大事实!我不相信我写的程序和别人写的程序有天地之差,但结果就是有很大的不同!
慢慢地我把它总结为理念之差。当然,理念来自于对生活与工作的理解和总结。对一个爱占便宜的人来说,你对他讲“吃亏是福”时,他无论如都会理解成:可以多占你点便宜了。
在我看来,感冒其实是就像程序出了BUG一样,偶尔会有。但如何应对,应对成本如何,应对时的出发点,就大不一样了。
我个人觉得,一般来说,像感冒这种事情,患者应该比医生更知道自己的情况。但不幸的是,我发现大多数医生和患者同样的不知道。现在去医院看感冒,大夫的处理手段很简单,先验血,如果指标正常,就开药,实在不行就打点滴。见得实在是太多了。
负责任的医生会说,一般的感冒,不吃药七天会好,吃药七天也会好!
更负责任的医生还会讲:80%的病都是自己好的,只有20%的是真的需要医生来帮助的!言外之意,医生只能帮你恢复健康,更多的还得是靠你自己。换句话说,医生治得了病,治不了命!要知道自己的身体状况,靠的是你对自己的了解,医生只能帮你一时!
可我的家人每次都把医生和药当成恢复健康的原因!我觉得这是一种心理自我暗示,病好了,是医生和药的功效,病没好,自己也不负任何责任。
程序设计也是一样的道理,使用了最先进的技术,如果项目成功,那就是技术好用,并且我掌握了最先进的技术;如果项目失败,那我已经用了最先进的技术了,用了最先进的技术都失败,那就不是我的责任了!
可见,这里面有一个谁来负责任的问题了!适当转嫁风险是对的,比如期货的套期保值;但把赌压在别人身上,成也技术,败也技术,就不合适了。
有病就去看医生,与一定要采用最先进的技术,都是在转嫁风险。用金融学的说法,这是聪明的选择,但一定会付出成本的!二、三百元治个感冒,与花5000万到几个亿引进最先进的ERP,道理是一样的!何况我们其实完全有能力达到同样的效果,而费用却可以忽略不计。还有,风险看起来好像转嫁出去了,其实是这样吗?风险真的在你这一方不存在了吗?很显然,如果对方没能有效化解风险,最终风险还是会回来的。国内失败的ERP项目多了去了,哪个风险不是企业自己最终承担,而“先进技术”拍屁股走人?
我不否认先进技术的重要性,但无论如何,技术都只是辅助性的,你不能指望技术解决一切问题。确实有通用的技术架构,就像有广谱抗菌药一样。他们在大多数情况下是好用的,但前提条件是你不能乱用,不能产生抗药性!还有就是它对特定问题可能无效,前几年的非典和这两年的甲流,都说明广谱药物是有它管不了的地方的,而有些人身体本身就有足够的抵抗能力而保证自己安然无恙!
如果你的程序设计足够键壮,没有多余的环节,没有冗余的代码,没有复杂的模块,那它就有了一个好的基础。如果你还能了解业务流程,明白你设计的程序是给哪些人用的,他们的使用方式有什么不一样的地方,那你的设计就已经离成功不远了。
了解你身体的是你,而不是医生!
了解程序设计的也一定是人,而不是先进的技术!