我在IT摸打滚爬了二十余年,面试过至少上万位程序员,自己也曾带过上百个程序员

程序员有很多的共性,这些共性阻碍了程序员的发展,或许只能被困在现有的工作中,只能往一个方向去发展。

现在社会讲究的是综合性的人才,大家可以对比一下是否有类似的情况发生:

达成需求

达成需求

很多程序员喜欢闷头开发,特别是对于工作内容就不知道如何交流和沟通,只知道用户要什么,用何种方式达成即可。

程序员给人的画面感就是这种闷闷的感觉,整天就泡在电脑中,厚厚的镜片,滴滴答答的打字键盘的声音。

这种人只能称为程序机器人,我相信总有一天,只要中文语言够规范时,程序可以达到自动翻译的程度,根本不需要程序员来编写代码。

为什么程序需要人来写,是因为一个功能的实现,需要考虑的关联性并非是开发本身,而是开发的目的。

达成需求这件事本身没有错,但是没有自己的思维意识,只是为了完成任务而完成,或许只是为了一份薪水。

这种开发,除了技术经验的增长没有任何意义,还会随时时间的流失,开发语言被淘汰时也将变成一无所有。

程序员必须从自我为中心走出,去融入集体,融入环境,多和用户沟通交流,才能了解用户的心声。

只求结果

只求结果

成人的世界中确实以“结果”论英雄,很多的测试也都是黑盒测试,看结果的正确度。但这种半成熟的思考,对程序员来说有何意义?

所有的事都是拿到手里想都不想,就开始开发,造成开发后用户一次又一次地碰到问题,开发一次又一次的调整。

在开发之前,需要画出逻辑思维图草稿,或是将整个功能先进行分解,做到先想后做。想全了,就能做到万无一失。

一边想一边做,没有人有这么大的能力,将大脑又当记忆体又当CPU,一次两件事同时做,肯定会丢三拉四。

所有的经验都是半吊子的,就算用户使用结果正确,但这个“雷”总有引爆的那个时间。

做完就好

做完就好

程序员的工作很多人认为就是开发啊,殊不知程序员的工作除了前面讲的要了解用户需求、要将需求功能点分解以外,还有最重要的就是写测试方案检查。

我知道IT最不喜欢写测试方案,认为文档是文科的工作,不属于理科。程序只要运行,结果正确就好,文档这件事是测试人员的工作,并非程序员要去完成的。

事无小事,由小看大。一个人连最基本的程序都无法保证正确,对自己都是不负责任地需要别人的帮助下,才能验证正确性,他能做什么大事,又会有什么大的成就?

测试方案对于开发人员不要求,不是说开发人员不需要测试文档。开发人员需要站在用户角度,去分析可能出现的业务状况,简单地做个草稿方案,模拟用户可能会产生的操作,自己先要验证程序的正确性

我们做事不是做完就好,而是要做好。问题并不可怕,而是从这些问题中反映出自己没有考虑完整的点、线或面,在思想上重视,重组自己的思维逻辑,避免下次再发生同样的问题。

人需要不断往前看,每一个工作岗位要做的很简单,但要做好并不是那么简单的一件事。

从了解用户需求的目的,到将需求分解到程序可运行的中文细节,补充好每一段程序,以便后续程序员可以调整。

最后,做完程序必须自我校验,这是对自己负责,也是对别人负责的一种表现。

不知道我说的程序员的三大误区,你中了几招呢?欢迎评论区留言讨论!