除了掉头发,你和年薪百万的大佬程序员还有啥区别?

作为一名程序员必须知道的事情:英雄无用武之地那是非常悲惨的一件事!

在各个年龄段的程序猿中,70后以年龄优势遥遥领先,80后开始油腻,90后开始掉发,掉发的迅猛程度隐隐有赶超80后的趋势,脱单已然不是他们最担心的问题,脱发才是!

程序猿敲掉不不光是键盘上的字母,更是头顶上原本可怜兮兮的头发……曾经小鲜肉如今变成了“地中海大叔”。

你和大佬的区别

1、没有编程思想

或许很多人觉得很扯,但确实是这样的。

高级程序员在看到一个需求的时候,总是能够快速在大脑里生成这个需求在现实生活中的映射。每当产品经理提一个需求的时候,高级程序员首先想到的就是,这个需求需要哪些数据库上的改动,对现有的逻辑有什么影响,需要提供多少接口,存在哪些可能的风险,以及需要多久的开发周期。

普通程序员拿到需求以后,首先表现的是一脸懵逼,因为往往产品经理的文档写的非常长,有时还难以理解,普通程序员难以提取里面的关键点。所以这时就需要项目经理这种角色,提取需求,然后告诉他,提供什么接口,对数据库做什么修改。

聪明的人在项目经理说完以后,总会自己去对着需求文档去思考项目经理为什么要这么做,还有一部分人闷着头就去开发了。很多工作四五年的程序员,工作经验一大堆,让他真的说出些什么,他却说不出来。 不懂得在工作中思考,工作十年也只是一个普通程序员。

2、不懂自己的学习路线

普通程序员在学完基本的知识以后,后续就不知道该学什么了,没有一条属于自己的进阶路线。

高级程序员不同,他们在学完基本工作知识以后,会思考下一步自己该如何提升,他们会拥有自己的选择。

知识是永无止境的,学完基础以后,还有框架,还有算法,设计。制定一条属于自己的学习路线,是非常有必要的。

自己也是一位IT从业者,相信这里有不少想学习开发,或者正在从事前端的小伙伴。

本次给大家推荐一个免费的学习qun,731771211,里面概括应用网站开发,css,html,JavaScript,jQuery,Ajax,node,angular等。对web前端开发技术感兴趣的同学,不管你是小白还是大牛我都欢迎,每天技术分享。

3、不会用Git

高级程序员的代码都是通过Git一类的版本控制工具维护的很好,针对不同的功能他们会建立不同的分支,以及测试分支,灰度环境分支,正式环境分支,有的还会建出发布分支。

普通程序员总是喜欢在主分支上面做修改,一旦同时有多人并行开发,或者需要回退分支到某一个功能点的时候,对于他们来说往往都是灾难性的存在。

普通程序员提交Git还总喜欢用 123 这种提交日志,高级程序员总会在提交日志中详细写出自己做了哪些修改,方便以后遇到问题的时候查找原因。

4、命名不规范

这是一个很大的问题,普通程序员很喜欢使用拼音或者是拼音加英文的方式来命名。

高级程序员哪怕自己英语很差,也懂得使用百度翻译或者谷歌翻译来把对应的中文翻译成英文。这样做最大的好处就是,别人看到你这个类,或者看到你这个方法和变量的时候,第一时间能够知道这个东西是干嘛的。

5、结构不规范

无论是什么编程语言,无论是面向对象还是面向过程,甚至不分前端和后端。

任何一个语言在开发的时候,代码结构都应该清晰。相同功能,相同模块的文件应该放在一起,针对不同的处理逻辑建出不同的文件夹或包。重复使用超过三次以上的代码应该考虑把它写进一个公共的方法里,大家都调用这个公共的方法,避免维护太多的重复代码。这样当项目发展的很大以后,开发起来也不至于很乱。

6、不知道如何解决BUG

普通程序员看到程序报错以后,第一时间是懵逼状态,他们会很慌乱,不知道该如何是好。有的还知道看一下控制台打印的错误信息,来百度一下,但往往这种方式能不能解决问题都看运气。

高级程序员如果做的是一个web程序,报错以后他们会首先看浏览器的控制台是否发送了对应的请求,如果发送了请求会看浏览器的错误码是什么,是请求超时还是发生了500或者是404的错误。然后再针对不同的错误码做出不同的调试方案,如果500的错误,报错日志明显就直接找到对应的地点修改,如果报错信息不明显就通过开发工具来进行断点调试,一步一步找到问题。

提升建议===培养编程思想

编程思想这个东西,不是说工作的久了就能有的,而是在学习和工作中要去思考。

思想思想,肯定要先思而后想,这样才能拥有思想。建议是大家可以针对项目中一些简单的功能去思考,如果让你来从头开发这个功能,你需要对数据库进行哪些操作,需要提供什么接口,需要什么类型的数据,数据需要进行哪些必要的验证,数据库的字段类型以及长度。

用笔在纸上把内容都列举出来,写完以后再看几遍,有没有哪些可以做的更好的地方。然后去看项目里原来的设计,是不是跟你的类似,如果不如你设计的可以在后面的优化中改进它,如果比你的好,那就去思考别人为什么要这么做。久而久之,遇到复杂的需求也能快速拆分成一个个的小需求,那个时候你离项目经理就不远了。

猜你喜欢

转载自blog.csdn.net/web666789/article/details/90182090