微信号:programmer_club

介绍:程序员第一自媒体,与你探讨码农人生路上遇到的各类泛技术话题,定期为你推荐码农人生思考、感悟以及启迪!

在程序员的眼里,用户是这样使用他们开发的软件的

2016-11-28 21:56 程序员之家



我曾经说过,程序员不是一般的人,是具有某种超能里的人。


但问题是,程序员往往意识不到自己的这种特异功能,在他们的眼里,会认为自己很普通,跟常人一样,所以,程序员能做到的事情,其他人——比如他们的客户/软件用户——也应该很容易做到。


但事实上,由于大部分人——绝大部分人(包括软件开发公司的客户/购买软件的用户)——都是电脑小白(对电脑知识/计算机知识/软件知识知之甚少的人)。


一个对于程序员来说很显而易见的软件操作,换成让用户来操作,就会出现各种各样奇怪的事情。这让程序员非常痛苦。


记得有一次,一个客户打电话给我,说他电脑桌面上的大e找不到了,我没听懂,什么大e找不到了?客户解释说:就是那个长的像大个儿的英文字母e的图标找不到了。我倒。终于明白了他指的是桌面上的IE浏览器的图标不见了。


还有一次,有个客户提出一个需求,要求在页面上增加一个搜索功能,我问它,系统里有搜索功能,为什么还要在这个地方新增一个搜索功能,他说他要的不是那个搜索,他要的是在这个页面上搜在某个关键词。经过进一步的沟通,我明白了,他要的是浏览器上的快捷键CTRL+F的功能。


因为用户的这些特征,导致了程序员认为完美的程序,到了客户的手里,却变成极其难用的软件,投诉电话如乡下骂街的泼妇似的响个不停。


而事后分析发现,根本原因都是应为程序员高估了用户对软件的掌控能力,低估了自己对软件的创造能力,于是导致了他们看这些客户使用他们开发的软件时,都是那样一种可笑的行为,如下图:

在程序员的眼里,用户是这样使用他们开发的软件的


如果是脾气暴躁的程序员,遇到这种情况,难免会对着客户发一顿牢骚,而且,程序员的脾气一般都不是很好,所以,通常跟客户沟通时,项目经理一般都是跟着一起,以免事态激化。


用户虽然给程序员带来很多麻烦,但其实程序员的所有荣耀感都来自客户,因为只有客户用得满意,程序员才会有成就感。


比如像下面这几个客户在使用一个新款软件时显露出来的表情,足够让一个处在北京重度雾霾的下午的程序员也能露出笑容:



用户在使用一款新软件时的样子


程序员虽然脾气不好,但他们都是为工作着想,不带任何个人恩怨。


当开发软件有紧急任务时,他们都是任劳任怨的加班加点,当在已经发布的软件中出现了重大bug时,他们都会深深在自责,会连夜赶制出紧急修复bug,如果不能在第一时间让用户满意,他们会茶不思、饭不想、觉不睡。


即使在实在没有短期内完整的补救措施的情况下,他们也会想出一些歪招,也是行之有效的方案,让用户暂时度过难关。比如,下面就是一个紧急修复补丁:


紧急修复补丁


用户应该体谅程序员。程序员的生活实际处在一种十分矛盾的状态中。


编程不像其它行业,比如泥瓦匠砌砖,砌一层砖,墙就会高一次。但编程不一样,有时候一个程序员写了一天的代码,急得满头大汗,但开发进度未必就有所进展,有时候甚至还会倒退。


软件编程是一个亦虚亦实的世界,有时候你搞不清一段代码为什么好用,有时候也会诧异由那样的代码构成的软件也能跑起来,正如下面这张图片中所示:


软件中有鬼


最后,说一下跟程序员打交道的一些注意事项。


程序员因为整天和编程逻辑打交道,所以对因果关系特别敏感:


  • 如果你的话语的因果关系不是很明确,这会让他们感到疑惑;

  • 如果你的话语的因果关系不完整,这会让他们办错事;

  • 如果你的话中有if,最好后面用then做结束,或者用else给出选择,主语要明晰。


如果不明晰,就会出现下图中出现的事故:


程序员是这样理解这个指示牌上的话的


如果你是一个程序员,你会理解我说的话。



文章地址:http://www.vaikan.com/how-client-use-their-software/

来源于:外刊IT评论


 
程序员之家 更多文章 程序员不是一般的人 这是你要的生活吗? 你加班太多,是因为你的代码写的烂 你的编程之外,是什么样子? 程序员的猝死,怪谁?
猜您喜欢 双十一优惠活动最后6小时!错过就等明年啦! 【ES6入门系列(11)】-Set和Map数据结构 99%的人都不会问问题 | 怎样问出能得到很棒回答的编程问题 Uber 背后架构揭秘 九大策略 保护用户计算机远离黑客骚扰