大家好,我是校长。
今天看到一个帖子,是一个产品经理在吐槽程序员开发的问题。
大家可以看看这位产品经理骂的对吗?
当然了,在这类的帖子下,有我们程序员的各种反击和互怼,这很正常。
毕竟垃圾的产品经理和垃圾的程序员是冤家。
程序员骂产品经理乱改需求,而产品经理会骂程序员开发的软件 bug 多,逻辑差。
有程序员吐槽这个帖子说:一般来说产品和开发水平差不多,才会在一家公司共事;
还有程序员吐槽说:垃圾产品不要太多,我们用脚想的需求都比他好。
但是,其中有一个吐槽,我感觉说的特别对:
确实如此,尤其是我之前和朋友一起合伙开软件公司的时候,遇到太多类似这样水平的程序员了。
我想说的是虽然那个吐槽的产品经理可能不咋地,但是他总结的那部分,确实是一个优秀程序员必备的素质和能力。
我在工作当中也遇到过很多类似的程序员,之前自己做开发的时候,是没有感觉的,毕竟自己做好自己的本职工作就行了,当做了领导之后,可能需要 review 团队员工的代码,这时候,就会发现确实经常存在类似这样水平的程序员。
最常见的几类问题:
1、很多程序员是不会写单元测试的,而且自己开发完功能也不会测试,就感觉我的工作就是开发,测试的工作是测试人员的事情。所以,自己开发完功能之后,都不会完整的跑一遍流程测试。水平好的程序员可能也知道测试,只不过是自己目前开发哪个功能就测哪个功能,不会跑整个流程。其实,做开发的应该都知道,一个产品,各个功能之间是有联系的,牵一发而动全身,即使自己改的是这个功能,也有可能会影响其他功能。
2、对于前端程序员来讲,我感觉一个好的前端程序员最起码是得有自己的审美的,明明 UI 设计师给的效果图很漂亮,也有很多前端对于 UI 的细节把握不到位,反正就是差不多就行,最后,呈现的效果确实不好,其实这就是态度和责任心的问题,并不是做不好,我就遇到过好几个类似的前端开发。
3、很多后端程序员提供接口的时候,自己写完也不自测,反正我接口写完了,就甩给前端,等着前端和他联调,然后再发现接口写的有问题,这样其实大大浪费了时间,每个接口写完,都应该自测一下。
4、懒得全面把握整个产品的业务逻辑,自己开发什么就熟悉哪个,这样的开发,最后整体呈现,绝对是 bug 很多的,其实,不管自己负责哪个模块,整体的业务逻辑也需要把握、熟悉和了解才行。
等等吧,类似的问题。
你看,我说的这几类问题,都不是技术问题,都是态度和责任的问题,并不是要求你写的代码性能有多好,代码有多规范和整洁,上述的问题其实跟能力没有关系,更多是是责任和态度。
一个程序员如果做好上面的那四点,我感觉代码至少从逻辑上不会遇到太大的问题,而且 bug 也会少很多。
所以,我作为一个程序员,对于产品经理的吐槽还是比较认同的。
我感觉一个优秀程序员的必备素质应该有以下几点:
1、写完代码知道自测,自测代码的业务和接口有没有问题;
2、写完代码知道自测功能,会把整个功能流程跑一遍;
3、对 UI 有一定的审美,不将就,在开发的过程中要严格把控 UI 细节;
4、代码整洁、命名规范;
5、知道对代码进行一定的组织架构,项目代码结构清晰。
做到以上 5 点,就应该属于一个优秀的程序员了。
乍看上述 5 点不难,其实,在开发的过程当中,随着时间的流逝和项目的紧急程度,很多人都会慢慢不再坚持和严格要求的自己的。
有很多程序员在开始一个新项目开发的时候,总会信誓旦旦的讲:这个项目是从零开发的, 我是一个有代码洁癖的人,所以,我在构建代码的时候,一定会命名规范,让代码更整洁,更漂亮的,我也一定会写注释的。但是,随着时间的深入,截止日期的临近,写着写着就忘了自己的要求,说:先完成了功能再说,等完成之后,我再来优化。其实,最后也不会有优化了,过去就过去了。
我相信很多程序员都会有上述心路历程的,最后,代码还是一地鸡毛。
有些要求看起来很简单,但是做起来是挺难的。
对此,大家怎么看?
点击下方公众号卡片,关注我
在公众号对话框,回复关键字 “1024”
免费领取副业赚钱实操教程