为何差距会这么大?难道真的只是因为发量的原因?

当然不是!薪资的差别,实质上是初级程序员和中高级程序员的差别。
发现从初级程序员进阶为中高级程序员,至少需要做到以下三点:
程序员每天都是在实现需求、解决问题,拥有扎实的技术是毋庸置疑的。
值得注意的是,扎实的技术不仅仅指熟练掌握Mysql、Spring、并发编程等专业技能,还指代码的品质、细节等基本功。简而言之,代码不仅要好用,还要好看。
有部分程序员会想:我有我的代码风格,代码是写给自己看的,怎么爽快怎么来,能运行就行了。
一个优秀的程序员,代码一定是高质量的。他们写代码时会考虑很多,比如:代码是否遵循了规约?接口设计是否随意?代码出Bug的概率是否能降低?……
“认为代码能运行”是一个非常短视的行为,要知道,一个项目的生命周期不可能在写完某个功能就结束了,需求可能会变,新需求可能会增加。
对代码负责是一个中高级程序员的基本素质,也是决定你能否拿高薪的第一步。
新技术层出不穷,程序员如逆水行舟,不进则退。在基础技术打牢之后,程序员需要主动突破舒适区,不断扩大自己的技术视野,关注、了解热门技术。
很多程序员会固步自封,被现有的技术和业务牵着鼻子走,比如公司不需要分布式技术,他们就不会去尝试分布式技术。
互联网时代,程序员只吃“老本”绝对走不远。想要拿高薪,就需要跳出当前的层级和环境,思考问题。
中高级程序员都在不断尝试新技术,让自己的技术栈保持不断更新,快速把握事物的本质,并判断出它能用来做什么。
建议,在做任务时,可以多想一步。举个例子,在项目搭建过程中,有可能需要实现新需求点,比如用缓存,这时就可以先去了解缓存的API,以及相关问题。
如果技术广度是车架子,技术深度就是车轮。只会用别人的轮子,自己不学造轮子,你永远造不出轮子。
IT互联网界不缺普通程序员,要拿高薪成为实力派中高级程序员,就一定要比普通程序员站得更高,向下了解底层技术细节,向上能够设计出优秀的技术架构,构建自己的核心竞争力。
程序员没有技术深度,有很重要的两个原因: