对于大部分 Java 开发者说“60W 年薪是无法逾越沟壑”你赞同吗?
对于年薪 60 万的程序员,不只是技术过硬,还有一个原因是他们所在的公司福利高,或者会直接持股。在 BAT 中就是一个很好的案例,例如阿里巴巴 P7、P8 级别的员工不仅是年薪 40 到 80 万不等,还有更多股票持有。
当然现在很多互联网公司,只有在盈利的条件下才有资格谈这些年薪几十万。一个小公司,或者一个私企,刚开始起步的公司是不能做到这个地步的。举个例子,一线城市,早一个小的企业中,工资就是 10K——20K 的范围,有工作经验,加上自己的技术。也许会做到一个经理的位置,到时候可能年薪 30 万,或者 40 万不等。
工作年限长,经验丰富
这类程序员是 Topcoder 的主力军,他们的共同特点是:10 年以上的工作经验,在大公司当过螺丝钉,也在创业公司做过技术 leader,有过一两段不算成功的创业经历。这样的程序员无论是去 BAT 还是去创业公司,都能拿到 60 万年薪以上的 offer。
硅谷回国派
从硅谷回大陆的程序员同学,轻松达成 60 万年薪。
真正的技术高人
虽然前面说技术水平不是决定薪水的唯一因素,但如果技术牛到一定程度,高薪 offer 也是探囊取物
举一个例子:传说网络安全大神道哥在面试阿里的时候,面试官提出这样一个问题:你怎么证明自己的技术水平?
然后道哥接过电脑,当着面试官的面关掉了阿里的内网。据说当时运维人员都傻了眼,内部引起一阵骚动。面试官赶紧把道哥签了才把问题解决了。如果技术水平牛到这种境界,没有理由会不成为 Topcoder 啊。
再来说说假如年薪超过 60 万,公司养人差不多是 1.5 到 1.7 系数的成本,好歹公司不能白养你,总的赚点,综合说你得为公司创造每年 100 万以上的效益。作为以编写软件为生的人,你的主要贡献是代码在产品上能发挥什么作用。概况点,三个作用,别人做不到的你做得到;别人做得到的,你能做的成本更低;别人做的到成本也低,你做的更好。这就是温州商业经验“人无我有,人有我廉,人廉我优,人优我转”。第一个作用参考各种安全类厂商;第二个作用参考各嵌入式厂商;第三个作用参考巨头软企。由于你的作用,公司能够规避各种安全风险避免损失超过 100 万以上每年;由于你的作用,公司能在程控芯片上有更大的灵活度,每年成本节省 100 万以上;由于你的作用,公司每年比竞争对手多卖 100 万以上,你都能拿到年薪 60 万以上。
对于代码而言,任何代码背后的努力比代码本身更多。有的人曾经花两年时间编写了一个软件,代码不过 8000 行左右,公司在他身上花费超过 40 万。问题是 8000 行的代码,背后的软件设计方案、算法推演仿真、数据分析的工作量换算成文字打印出来估计能有一人高,如果再加上试验检验,人力物力投入更大。这么多工作量,从 8000 行代码的工作量拿 1 万块钱就够了,背后的工作该拿 39 万。再比如黑客,编写病毒不需要多大工作量,因为病毒代码越短小越好。但知道怎么写需要巨大的工作量,你得知道怎么插入到其他程序中去,怎么加壳,怎么规避安全软件等等。
明白我的意思没?任何拿高薪的程序员都是披着程序员外皮的其他职业者。
比如黑客是黑客,不能因为他的工作需要编程去实现就归为程序员;设计师是设计师,不能因为他要用编程去实现算法、架构之类的就归为程序员;分析师是分析师,不能因为他要用编程去分析数据就归为程序员。
综上所述,真正意义上的程序员如果公司给不了你年薪 60 万以上。但是你可以从事披着程序员外皮的其他职业,既满足了兴趣又能拿高薪.
给自己更高的要求,积极的学习,程序员年薪超过 60 万不话下。
普通程序员写代码叫编码,而架构师写代码就叫架构设计。这是因为他们在编码时考虑的角度完全不同。普通程序员只需要考虑如何实现功能,而优秀的程序员(预备架构师)却更多考虑性能、可读性、可维护性等问题。
差别在哪里?眼光和格局!
可以说,架构师是站得更高、看得更远的优秀程序员。所以,别指望一步到位地跳过优秀程序员而直接成为架构师。在这里我也将开发生涯中学习到的一些经验分享了出来,先给大家列个目录:
架构师内功心法(软件架构设计)
软件设计原则及设计模式概述
创建型模式
结构性模式
行为模式
各设计模式对比总结及应用场景
JDK 源码
JDK 源码是一切的基础,许多框架都参考了 JDK 源码的实现思路,因此弄懂 JDK 源码是一件非常重要的事情。而 JDK 源码又可以分为下面 5 大块:
集合源码
并发集合源码
并发包源码
阻塞队列源码
线程池源码
框架源码
学习完 JDK 的源码,我们就需要把我们常用的框架源码都弄清楚。这样在遇到框架问题的时候,我们才可以快速地排查问题。
架构师必备技术栈(分布式架构 内容较多,分享部分)
分布式并发编程
漫谈分布式架构
分布式架构基础
分布式通信框架
分布式协调服务
分布式服务治理
次时代架构技术(微服务架构)
漫谈微服务架构
SpringBoot
SpringCloud
ServiceMesh
架构师修养(软技能提升)
中英文档阅读能力
数据结构算法
面试技巧技术
文档编写
UML 建模
最后
关于这份 Java 工程师进阶清单的问题
我个人认为,作为技术人就要保持终生学习的态度,让学习力成为核心竞争力,才能不被时代所淘汰,而高效的时间支配能让你变得更加优秀,所以,我在这里将这份耗时几个月整理出来的核心技能知识点做成了 PDF 文档,送给有需要的人,点击此处免费获取资料,希望这份资料能对大家有所帮助!
评论