如何理解这群高智商的人
“程序员不是一般的人,是具有某种超能力的人。但问题是,程序员往往意识不到自己的这种特异功能,在他们的眼里,总觉得自己很普通,跟常人一样。
所以,程序员觉得自己能做到的事情,其他人——比如他们的客户/软件用户——也应该很容易做到。
▌转载自CSDN
►由于大部分人——绝大部分人(包括软件开发公司的客户/购买软件的用户)——都是电脑小白(对电脑知识/计算机知识/软件知识知之甚少的人)。
一个对于程序员来说很显而易见的软件操作,换成让用户来操作,就会出现各种各样奇怪的事情。这让程序员非常痛苦。
程序猿眼中的你
记得有一次,一个客户打电话给我,说他电脑桌面上的大e找不到了,我没听懂,什么大e找不到了?客户解释说:就是那个长的像大个儿的英文字母e的图标找不到了。
我终于明白了他指的是桌面上的IE浏览器的图标不见了。
还有一次,有个客户提出一个需求,要求在页面上增加一个搜索功能,我问它,系统里有搜索功能,为什么还要在这个地方新增一个搜索功能,他说他要的不是那个搜索,他要的是在这个页面上搜某个关键词。
经过进一步的沟通,我终于明白了,他要的是浏览器上的快捷键CTRL+F的功能。
因为用户的这些特征,导致了程序员认为完美的程序,到了客户的手里,却变成极其难用的软件,投诉电话如乡下骂街的泼妇似的响个不停。
而事后分析发现,根本原因在于程序员低估了自己对软件的创造能力,高估了用户对软件的掌控能力。
于是,这导致他们在看这些客户使用他们开发的软件时,都是那样一种可笑的行为,如下图:
▍在程序员的眼里,用户是这样使用他们开发的软件的
如果是脾气暴躁的程序员,遇到这种情况,难免会对着客户发一顿牢骚,而且,程序员的脾气一般都不是很好,所以,通常跟客户沟通时,项目经理一般都是跟着一起,以免事态激化。
用户虽然给程序员带来很多麻烦,但其实程序员的所有荣耀感都来自客户,因为只有客户用得满意,程序员才会有成就感。
用户应该体谅程序员
程序员虽然脾气不好,但他们都是为工作着想,不带任何个人恩怨。
当开发软件有紧急任务时,他们都是任劳任怨加班加点;当发现在已发布的软件中出现了重大bug时,他们都会深深地自责,并连夜赶制出紧急修复bug;
如果不能在第一时间让用户满意,他们会茶不思、饭不想、觉不睡。即使在短期内实在没有完整的补救措施的情况下,他们也会想出一些歪招,但也是行之有效的方案,让用户暂时度过难关。
比如,下面就是一个紧急修复补丁:
用户应该体谅程序员。程序员的生活实际处在一种十分矛盾的状态中。
编程不像其它行业,比如泥瓦匠砌砖,砌一层砖墙就会高一次。编程不一样,有时候一个程序员写了一天的代码,急得满头大汗,但开发进度未必就有所进展,甚至有时候还会出现倒退。
软件编程是一个亦虚亦实的世界,有时候你搞不清一段代码为什么好用,有时候也会诧异由那样的代码构成的软件也能跑起来,正如下面这张图片中所示:
最后,说一下跟程序员打交道的一些注意事项。
程序员因为整天和编程逻辑打交道,所以对因果关系特别敏感。如果你的话语的因果关系不是很明确,这会让他们感到疑惑,如果你的话语的因果关系不完整,这会让他们办错事。如果你的话中有if,最好后面用then做结束,或者用else给出选择,主语要明晰。
如果不明晰,就会出现下图中出现的事故:
如果你是一个程序员,你会理解我说的话。