您的位置:首页 > 其它

有一种境界叫感觉(三)

2010-02-11 12:30 363 查看

有一种境界叫感觉(三)

吴旻
泰岩网络工作室
程序员既聋,又哑,且瞎!
为什么聋呢?因为程序员很少能听到来自需求源头的声音,或者说,听不到有效的信息。
哑则是因为程序员发出的声音大多石沉大海,引不起有关人员的注意,说了也是白说,更何况技术人员一般都不善于表达了。
瞎则是因为程序员所处的位置太低,看不到大方向,一只“井底之蛙”,跟瞎也没什么区别。

那程序员是怎么完成工作的呢?
如果你拍拍一个既聋,又哑,且瞎的人的肩膀,然后再向前轻轻推一下他,我相信他一定会明白你是想让他向前走。
好多程序员干的就是这种被人拍拍肩膀,又轻轻向前推了一下的工作。如果你试着蒙上眼睛走上200米,你就明白我说的是什么意思了。
好了,当程序员觉得自己达到目的地了,觉得完成工作了的时候,客户会惊讶地说:这根本不是我想要的东西!

当技术不再是问题的时候,架构设计就会显得至关重要。我为此甚至提出了“面向变化编程”的概念,但“面向变化编程”的前提是程序员必须充分了解需求,也只有了解了需求,才能在设计中充分考虑到可能的变化。
现在的困难是,如果程序员既聋,又哑,且瞎时,他怎么可能设计出正确的架构?!
也就是说,如果程序员对需求一点感觉没有,他怎么可能把事情做对?

我隐约感觉到了那么多项目惨死的原因了,包括我经历的和我听说的。从前我大都会往技术能力方面上去想,因为传奇故事中,英雄的能力实在太突出了,没有英雄办不到的事情;但实际的情况不是这样的,至少传奇中的英雄不可能是既聋,又哑,且瞎的人。

其实在是否压缩流数据这个问题上,我几乎快要犯“政治性”错误了,因为我不明白为什么一直运行得好好的程序,要做这么复杂的改进(当时我还没找到简单有效的算法),而且对用户体验一点帮助都没有。
我甚至问了两个推动这件事情的人,以便查找原因,但得到的答复都是:你最好做压缩。很显然这不是一条有效信息,它只能暗示这件事情有隐情,但根本无助于我理解需求!无奈之中我发出了大讨论的邮件:《关于数据是否应该压缩后传输的讨论》。
从返回的邮件中我很快明白了需求的真正原因。公司要节省运营费用只是很小的部分原因,毕竟我们用这种带宽已经不是一天半天了,也没听说公司不能接受;实际的原因是公司打算将目前的机房数量加倍。也就是说,如果现在一年的网络流量费用是50万,以后就要变成100万了。这么大的费用,换了谁都会心疼的。
所以,如果我知道上面的原因,那我邮件讨论的题目就不是“否应该压缩”了,而是“如何才能有效压缩”了。
如果我不知道需求的真正原因,我会觉得有人故意难为程序员,要程序员做复杂的改动,收益却非常有限;而需求方却会觉得技术人员太自私了,根本不知道为公司的利益着想。现在我知道原因了,我不仅会觉得这么多钱可能是我们团队人员一年的工资,而且还会在相关的程序设计上考虑多点机房之间的可能存在的同步问题。
瞧瞧,当我能表达自己的疑惑,能听到来自需求方的有效声音,能看到未来发展方向时,我是多么愿意配合这件事呀!

我是不是可以这样说,当我们技术人员错得离谱的时候,是不是我们失去了视听感觉?你能想象一个既没有味觉又没有嗅觉的厨师能做出好菜来吗?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: