精英程序员跟普通程序员区别在哪里?应该如何针对性的提高自己?

半城烟沙断桥雪


大家好,我从事嵌入式软件开发十多年,欢迎关注和交流。



精英程序员和普通程序员,最大的差别是思维方式与工作方法。

普通程序员码字是边写边想,主要是想着怎么实现功能实现需求。遇到问题时,一上来就想着怎么解决,习惯用试一试的办法。普通程序员以自我为中心,很容易对其他人的方案视而不见,见而不理,理而不懂。

精英程序员在码字之前,会把需求吃透,把功能模块化,预想可能会出现的各种情况,以及采取哪些方法来解决。码字有框架性,模块性,健壮性,可扩展性性。遇到问题时,复现现象,定位问题,解决问题,验证问题。其中解决问题又细分为抽象本质,多种解决方案对比择优,如何实施或实现。



精英程序员在码字时,就自觉地分析代码,让代码在大脑中试跑,能扼杀许多编程错误和逻辑错误。普通程序员一心只想着快点码完,尽快调试,尽快提交。

精英程序员善于使用辅助工具,如果没有,则会自己写工具。普通程序员总是在无路可试时才想起是否有铺助工具,如果没有或者用得不习惯,就算了。



精英程序员事半功倍,普通程序员事倍功半。但谁也不是天生的精英程序员,都是从普通程序员成长起来的。普通程序员如何有针对性的成长呢?根据经验,我试着给一些建议:

1.勤奋好学,多练多想多总结多反思。

2.借助技术论坛,开源代码,经典书籍来丰富知识。

3.多请教行业前辈,至少多看多分析前辈代码,尤其是精英们的代码。

4.以工作中的业务知识为中心,从广度和深度两方面来不断的拓展深挖。



最后,祝各位都能成为精英,谢谢大家。


宏思微想


我带软件研发团队多年,遇到过不少职业素养和工作能力都非常优秀的程序员,所以我来回答一下这个问题。

精英程序员往往具备以下特点:

第一,解决问题的能力非常强。在软件开发的过程中难免会遇到一些技术边界的问题,这个时候能力强的程序员就会凸显出来。普通功能的开发并不能凸显能力强的程序员,但是到难点、关键点时,精英程序员的价值就体现出来了。

第二,学习能力非常强。程序员的工作特点决定了程序员需要不断学习新技术,精英程序员往往具有非常强的学习能力。我带过一个程序员,从学习一个新技术到完成项目开发用了短短2个月的时间,普通程序员往往需要3个月的学习时间,差距明显。

第三,沟通能力强。其实沟通问题是与程序员合作的一个大问题,解决好了与程序员的沟通问题,其实就能解决软件开发中的大多数问题。沟通能力强的背后是理解能力强,没有理解力当然也就无法形成有效沟通。有一次我们团队在做一个金融方面的项目,当需求人员描述完规则之后,有的程序员马上就能理解,而有的程序员却完全不理解,这也是差距。

第四,具备良好的职业素养。职业素养是衡量一个职场人的综合素质,从工作能力、工作态度、敬业精神、团队协作等多维度来进行考量,精英程序员往往都具有非常好的职业素养。作为一名程序员来说,不给别人找麻烦就是一个基本的要求。

其实,精英程序员是可以培养的,并不是所有的程序员刚开始工作就是精英,但是一定要承认一个问题,就是并不是每个程序员都能成长为精英程序员。

我目前在带移动互联团队和大数据团队,也在带大数据方向的研究生,我会陆续在头条上写一些关于软件开发方面的文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。

如果有软件开发方面的问题,也可以咨询我。

谢谢!


IT人刘俊明


正常来讲程序员之间的差异,主要还是解决问题的能力,一个好的程序框架不但可以兼容性强而且长时间运行还能非常的稳定,后续即使增加很多的功能也能不出大的问题,如果是普通程序员搭建的框架,在稳定性以及后续功能的兼容性上都存在很大的问题,差距还是非常的明显,也不是单纯的用数据能表现出来,现在在这简单的介绍下精英程序员的一些特性

1.非常重视编程基本功的学习,很多东西看起来很深奥其实都是一点点的基础构建出来的,所以越是厉害的程序员越是重视基本功的学习,很多java工程师,看java编程思想能做到十几遍甚至更多,而且每次又都有不同的感受。

2.非常重视编程思想的总结,没有天生下来就能把程序写的非常棒的,都需要一个时间的总结归纳,而且不停的打磨,不停的尝试折腾,即使有一点点的天分也是站在折腾的基础之上。

3.非常注重对新技术的学习,现在很多的程序员工作个三年五年的就觉得编程也就是那回事了,然后放松了对自己的要求,随便表面上很多知识都是相通的但真要具体实施还是存在一些差异性,而这些细节和差异性在具体实施过程中又会会消耗时间,做过和知道是完全的两种概念,做过代表实践过,知道知识知道大概的意思而已,是不同的概念。

无论多厉害的程序员的都是从基础一点点做起,都会不停的归纳编程思想,不同吸收新的知识,加强自我学习能力。

希望能帮到你。


分享到:


相關文章: