从以下几点来谈谈差别:
1.思路
编程思路,是系统的计划和设想,是程序员写程序时的条理和线索。优秀的思路背后一定是不断的积累。在熟知编程基础的前提下,优秀的程序员会积累尽可能多的经验,这份经验让他们更快的得出更好的思路。
2.解决问题的能力
解决问题的能力不是与生俱来的,还是要靠后天的经验积累。在写代码的时候会遇到各种各样的bug,优秀的程序员第一反应总是自己尝试去解决这个问题,首先确定这个问题,根据运行时产生的崩溃信息或者编译时出现的编译错误,找到错误的根源。关于各类问题的解决,解决办法总是能找到,只要愿意主动寻求解决方案。
3.代码优化能力
一般的程序员写一个方法可能有几百行代码,写一个类就想把所有功能实现,不考虑程序设计原则,也不考虑执行效率,更不去想如何让我的程序质量更好。“代码可运行”对一个优秀的程序员来说绝不是结束,而是开始。比如对于优化C语言来说,要选择合适的算法和数据结构、减少运算的强度等。优秀的程序员一定熟知各种算法和数据结构,会灵活运用,致力于写出更简单、效率更高的程序。
4.全局掌握
优秀的程序员有意识地知道自己不应该再局限于简单的技术问题,他们追求从全局上把握和设计一个较大的系统体系结构,从内核到外层界面,使用已掌握的技能解决问题,并且能够考虑到系统的扩展性、安全性、稳定性等问题。
5.学习先进的技术
一般的程序员到达一定境界后很难有突破。现状会让他们不自觉的产生编程无非如此的错误观念。优秀的程序员看到世界最新技术就能马上主动去了解、去学习并且掌握。计算机技术每经过几年就会有一个质的飞跃。一旦脱离技术潮流,就很难赶上。优秀的程序员跟上每一步技术,在这个领域看得更远,思维越开阔。
6.耐心
假如使一个程序实现某种功能有很多种方法,但在这些方法中,只有一两种方法是最好的,优秀的程序员会花时间实践,实践后总结出那一两种最好的方法。所以,要写一个好程序是很需要耐心的,要成为一个优秀的程序员也是。
薪水上的差别反映的是你个人能力上的差距,只有不断进步才能弥补!