达妹说
程序员不是一般的人,是具有某种超能的人。但是他们自己却不知道,认为自己很普通跟常人一样。
达妹的程序员朋友讲过一个故事,一次有个客户提出一个需求,要求在页面上增加一个搜索功能,朋友问客户系统里有搜索功能,为什么还要在这个地方新增一个搜索功能?经过进一步的沟通朋友才明白了,客户要的是浏览器上的快捷键CTRL+F的功能。
因为这些特征,导致程序员认为完美的程序,在客户的手里,却变成极难用的软件。事后分析,根本原因都是程序员高估了用户对软件的掌控能力,低估了自己对软件的创造能力。
于是导致了他们看到这些客户使用他们开发的软件时,是那样一种可笑的行为,如下图:
在程序员的眼里,用户是这样使用他们开发的软件的
虽然如此,但程序员所有的荣耀感都来自客户。只有客户用得满意,程序员才会有成就感。比如像下面这几个客户在使用一个新款软件时显露出的表情,足以让一个处在重度雾霾下午的程序员也露出笑容:
用户在使用一款新软件时的样子
当有紧急任务时,程序员都是任劳任怨的加班加点,当在已经发布的软件中出现了重大bug时,他们都会深深在自责,会连夜赶制出紧急修复bug,如果不能在第一时间让用户满意,他们会茶不思、饭不想、觉不睡。
即使在实在没有短期内完整的补救措施的情况下,他们也会想出一些歪招,但也是行之有效的方案,让用户暂时度过难关。比如,下面就是一个紧急修复补丁:
紧急修复补丁
用户应该体谅程序员。编程不像盖房子,有时一个程序员写了一天的代码,急得满头大汗,但开发进度未必就有所进展,有时候甚至还会倒退。软件编程是一个亦虚亦实的世界,有时候你搞不清一段代码为什么好用,有时候也会诧异由那样的代码构成的软件也能跑起来,正如下面这张图片中所示:
软件中有鬼
最后,说一下跟程序员打交道的一些注意事项。程序员因为整天和编程逻辑打交道,所以对因果关系特别敏感。如果你的话语的因果关系不完整,这会让他们办错事。如果你的话中有if,最好后面用then做结束,或者用else给出选择,主语要明晰。如果不明晰,就会出现下图中出现的事故:
程序员是这样理解这个指示牌上的话的
如果你是一只优秀程序猿,那你一定能理解达妹说的话。