现实生活中,有很多程序员看别人开发的产品,虽然知道以自己的能力实现不了自己所看到的别人已经实现的功能,但是他只要觉得不好用但仍然会吐槽,并且不会有“you can you do”的那种负罪感,这是为啥?
和讨厌产品经理如出一辙
这其实就是很多程序员不待见产品经理的原因是一样的。大多数产品经理只要脑子正常,都不会提一些不合理的要求。我为什么要说脑子正常?比如说要以手机壳颜色来适配软件主题颜色的这种需求就属于脑子不正常的需求。像这类需求,但凡产品经理稍微专业点都不会去提!
之所以程序员不待见产品经理,那是因为产品经理思考产品的设计方案的逻辑和程序员不一样。
产品经理在考虑一个产品功能表现的时候,他首先会参照市面上已有产品的案例,如果自己提的要求别的软件已经实现了,那么他就会提。他的心态就是,既然别人已经实现了,那么你就应该也能实现才对。
但是,这种思路其实是有问题的,首先就是技术层面的问题,别的软件的程序员实现了某些功能,不代表其他公司的程序员就一定能实现。如果按照这个逻辑,像一些国际上一些知名的生产型软件比如PS、CAD、3DMax等等,早就出现国内的平替了!而像一些芯片的设计软件也不会被卡脖子了!
因此,很多产品经理在提需求的时候,并没有去考虑本公司程序员的技术实力,而且即使有技术实力,公司实力也决定了程序员能不能开发好这个功能。
比如说我们经常吐槽一些使用频率比较高的软件,动不动就卡,我们之所以说它卡,是因为我们有参照物,像国内互联网三巨头开发的软件就不存在卡的情况,那是因为他们的负载均衡做得很好!这背后是有大量的服务器和带宽支撑的!
因此,产品经理在提需求的时候,如果没有考虑到公司实力,程序员也是不愿意做的。因为程序员在做一个功能的时候,如果只考虑功能的实现,不考虑负载均衡,显然到最后出问题了自己是要背锅的,一旦明白了这里面的道道,程序员就会找理由拒绝开发,因为他知道以自己公司的实力,根本不允许这么做,这些功能即使自己有能力开发出来,最后也满足不了公司要求。
那么,为什么程序员自己做不出来的东西,别人做出来了,他怎么好意思吐槽别人做得不好呢?
既然东西做出来就得好用,要么就别做
其实,程序员的心态和产品经理是差不多的,也是拿别的公司已经实现的功能和他看到的功能做比较。也就是说,虽然程序员所吐槽的功能他做不出来,但是他知道,做出来也不会有太大的技术壁垒。而且,给他一定的时间,他慢慢也能研究出来。
再言之,前面说了,有些功能不是程序员做不出来,而是功能做出来了以后,公司无法承担因为这个功能所带来的其他负担。但是,当有一个公司做出来以后,程序员想当然得认为这个公司是有能力解决他所顾虑的问题的。
也就是说,既然你都把功能开发出来了,但是如果没有解决实际问题,就不要怪别人吐槽,尤其是别的公司或者别的公司的程序员不愿意开发的东西,既然有公司开发出来了,就得把背后可能产生的影响给消除掉,要么就别做!这就是程序员吐槽一个软件功能的根本逻辑!
就拿以手机壳颜色来替换软件主题颜色这个功能来说吧,到底能不能实现,当初有很多程序员都给出了一些方案,比如说什么摄像头随时监控,当手机遇到有镜子的地方的时候,软件立马识别手机壳,并替换软件主题颜色,或者还有大神说手机摄像头监控手机使用者的瞳孔,根据瞳孔上映射的手机成像来获取手机壳颜色,从而替换软件主题颜色。
这些方案看似很扯,但是理论上可行,但我做不了!我相信大多数程序员也会这么说!
但是,突然有一天,有家公司说他们可以做,但是实现方案却是先让用户给手机壳拍个照,然后再根据用户上传的手机壳图片来替换软件的主题颜色,这时候我相信大部分程序员都会受不了!
在程序员眼里,这基本上就跟投机取巧、文不对题、夸大宣传差不多!甚至很多程序员可能会嘲笑说:“你要是早这么说,我分分钟给你实现了!”。
结语
程序员吐槽一个软件的功能其实根本原因就在于,软件是否能够支撑这个功能的运行、功能是否实现得比较鸡肋、软件功能是否夸大宣传等等。
不管这个功能程序员自己能不能实现,至少他觉得一个功能既然实现了,就得满足他对于使用这个功能的期望,至少得让他对开发这个功能的其他程序员要产生敬意而不是鄙视。