当前位置: 首页 > 科技观察

算法难,编程不易,程序员受苦,谁懂?

时间:2023-03-18 02:49:05 科技观察

今天,我们来聊聊程序员的痛点。算法难,编程难,但这并不是程序员吃亏的全部原因。作为一名程序员,你一定听过以下笑话:产品经理有3个奇怪的口头禅。必须添加此功能。需求不能被切断。老板有三个奇怪的咒语。这其实很简单。我不关心具体的细节。有三妙咒:我不要这个,我要那个,我不要那个,我要这个,都不是我想要的。关键时候客户是见不到老板的。产品经理要么下班就走,要么留下来看着别人加班。剩下的程序员没日没夜的敲代码……1.程序员和客户充当客户说:你先开发,我要。说到一个软件项目,项目的要求是能够处理公司客户服务中心收到的各种服务请求,包括服务调度、设备跟踪、工程师的服务请求,以及一些设计问题。“我很认真,拿了笔和纸,和各个部门的负责人一一交谈,尽量记录他们的需求或意见。”小鱼儿心疼的说道。“他们给我的回答都是一样的:‘不知道,你先大概了解一下,然后我们再看看。’”小鱼儿并不气馁,他又去找潜在用户在各个部门征求意见。但是这些家伙就像他们的老板一样。他们对小鱼儿的回答是:“我们先想个大概,然后再出谋划策。”小鱼儿苦思冥想:“如果没有具体的需求,我们如何做这个项目呢?”突然,他有了一个主意。向上。不久之后,他开始邀请所有部门负责人参加他的项目介绍。连公司的总裁都请来了,当总裁真的出现在会议室的时候,小鱼儿都快被吓尿了。可此时,他又忍不住回头看了一眼。会议室里坐满了人,小鱼儿打开投影仪开始演示自己的项目。项目的标题显示在大屏幕上。几秒后,电脑的光驱自动开机,又过了几秒,又自动关机。演示结束。“装备有问题吗?”某部门负责人问道。“没问题,”小鱼儿道,“要不要再看一遍?”他双击项目图标,项目名称再次显示在大屏幕上,光盘自动打开关闭。“但它的功能只是打开光盘,”负责机械工程的副总裁说。“对了,那就关吧。”小鱼儿说着,对着满屋子愤怒的面孔尽量笑了笑。“但这不是我们想要的!”电子部副总说,其他部门负责人也表达了不满。小鱼儿大声说道:“你们,没人告诉我你们想要什么,我就按照自己的想法做了一个,要不要再看一遍?”会议室鸦雀无声,充满了愤怒的声音。感觉直到坐在会议室最前面的老大从椅子上摔下来,这股沉寂才被打破。“我当时吓死了,以为他是因为我心脏病发作的,直到他妈的才放声大笑。”小鱼儿后来说。“那天下班前,我接到了各个部门的项目要求,但接下来的几个月,他们都不理我。”2.程序员与项目3.程序员与用户我曾经说过,程序员不是普通人,而是拥有某种超能力的人。但问题是程序员往往意识不到自己的特殊功能。看看下面这段话:1.从前,有一个程序员买了一辆车牌尾号为404的车,但是车却找不到了。2、对于程序员来说,世界上最远的距离不是生死,而是自己做的一个bug就在眼前,却怎么也找不到。..3.程序员最常说的冷笑话:提交代码不写注释的人,xxx和注释一样长。4.一个程序员在肉店买了1斤肉,回家后跑回肉店跟老板说:少了24克...5.服务器可以分为:数据库服务器,webserver服务器,缓存服务器,下载服务器等。下片...6.十行代码,九个警告,八个错误,敢说你七天精通,六天学遍天下,还有你看不到这么三心二意的项目经理。7、网上聊天时,如果想表达对方是猪,一般人会打“xxx你是猪”。程序员将键入xxx.isPig=TRUE。8、这个人肯定是程序员,因为他的估算能力暴露了他的身份。9、写代码到崩溃时,程序员经常这样鼓励自己。10、女程序员的报喜方式。但在他们眼里,他们会认为自己很普通,就和普通人一样,所以程序员能做到的,其他人——比如他们的客户/软件用户——应该很容易做到。但实际上,由于大多数人——大多数人(包括软件开发公司的客户/购买软件的用户)——都是计算机小白(对计算机知识/计算机知识/软件知识知之甚少的人)。一个对程序员来说显而易见的软件操作,如果换成用户,就会发生各种奇怪的事情。这让程序员非常痛苦。记得有一次,一个客户给我打电话,说在他的电脑桌面上找不到那个大e。找不到图标。我倒。终于弄明白他说的是桌面上缺少的IE图标。还有一次,客户提出要求在页面上增加搜索功能。我问他为什么要在这个地方加一个搜索功能,因为系统里面有搜索功能。他说他要的不是搜索功能,他要的是在这个页面上找到某个关键字。进一步沟通后,我明白他要的是浏览器上快捷键CTRL+F的功能。由于用户的这些特点,程序员们认为最好的程序在用户手中变得极难使用,投诉电话像乡下的泼妇骂街一样响个不停。事后分析发现,根本原因是程序员高估了用户控制软件的能力,低估了自己创造软件的能力,导致他们看到这些客户以同样的方式使用自己开发的软件。可笑的行为,如下图所示:在程序员眼中,这就是用户使用他们开发的软件的方式。如果你是一个脾气暴躁的程序员,遇到这种情况,难免会向客户抱怨,员工的脾气一般都不太好。因此,在程序员平时与客户沟通时,项目经理通常会跟在后面,以免事态愈演愈烈。虽然用户给程序员带来了很多麻烦,但其实程序员所有的荣耀感都来自于客户,因为只有客户使用满意了,程序员才会有成就感。比如下面这些客户在使用新软件时的表情,就足以让北京雾霾重重的午后程序员会心一笑:为了工作,没有任何个人恩怨。当开发软件有急事时,他们都毫无怨言地加班加点。当发布的软件出现重大错误时,他们会深深地自责,连夜紧急修复错误。如果用户不能在第一时间得到满足,他们就不会想茶、饭、睡。即使短期内没有彻底的补救措施,他们也会想出一些歪门邪道,但也是让用户暂时渡过难关的有效方案。例如,这里有一个紧急修复:用户应该为程序员着想。程序员的生活其实是处于一种非常矛盾的状态。编程不像其他行业,比如泥水匠砌砖。砌一层砖,墙就高了一次。但是编程是不同的。有时候一个程序员写了一天代码,满头大汗,但是开发进度不一定进步,有时候甚至会倒退。软件编程是一个既虚拟又真实的世界。有时你想不通为什么一段代码运行良好,有时你会惊讶于用那段代码做成的软件竟然可以运行,如下图所示:***,我来说说处理时的一些注意事项程序员。程序员对因果关系特别敏感,因为他们整天都在处理编程逻辑。如果你的话因果关系不是很清楚,就会让他们迷惑,如果你的话因果关系不完整,就会让他们做错事。如果你的话里有if,用then结束***后,或者用else给出选择,主语要清楚。如果不清楚,就会出现如下图所示的意外:如果你是程序员,你就会明白我在说什么。但程序员的“苦”不止这些:做程序员太苦了,想转行怎么办?