Java程序员,如果年薪达到40W,需要技术到达什么样的水平?
前几天在网上看到这么一个问题,搞Java的程序员年薪40w是个什么水平?
一下勾起了我的兴趣,今天就来简单分析下,到底是什么水平。
那么我们先来搞清楚”JAVA”是谁家姑娘?
不不不,方向搞错了。。
那么我们先来搞清楚,年薪40W,这个是税前还是税后。
40w年薪税前,400000/12≈34k。月薪在3w4左右。
40w年薪税后(算起来有点复杂,就直接放答案差不多就是这个数。)
税前年薪差不多要50多了,
那么税前月薪大概就是42K。
这样下来基本上我们就了解基本情况了,
那么实际税前月薪是34K(34000元)到 42K (42000元)之间。
做Java的大公司无外乎就那么几个。
先来看看马云爸爸的阿里巴巴的级别定义:
•阿里薪资结构:一般是12+1+3=16薪•年底的奖金为0-6个月薪资,90%人可拿到3个月
在来看看阿里巴巴的对应薪资年薪。
也就是说做到P7这个级别就差不多达到年薪40W的范围了。
我们在看看去到招聘网上看看要求,基本上只要工作一定时间的,基本上能接近这个标准的税前工资。
再来看看百度薪资的大概范围:
达到T5-T6就是基本上跨入了40W年薪的概念了。
当然一个应届毕业生刚刚进入公司一般工资不会太高,但是程序员的工资是随着工作时间越长越高,当然还有靠自己的努力。
哪些城市的Java工资比较高?
下面这个是某雇主点评网上的一份做JAVA开发的工资调研数据,其中还有67%的587人表示数据过偏低。
其中上海,北京,杭州,深圳,月平均工资均已经过1W2。
最火的语言还是Java?
下面是2017年7月编程语言排行榜 Top 10榜单:
Java语言在2016-2017依然占据榜首。
那么要达到这样的水平
专业技术水平上需要什么样的呢?
假如你去阿里巴巴或者其他的一些电商公司,你至少要会购物车,支付等系统的开发,这些都是大型电商平台的核心技术。
还有像百度网盘这样的开放云,智能储存系统,如果你连这些东西都不会,别说去百度,阿里巴巴了,相关业务的小公司工作都不一定能胜任的了。
还有最近热门的流媒体在线直播,大数据,人工智能AI机器人,等等这写都是增加自己竞争价值的一些核心技能。
关注我:私信回复“架构资料”获取往期Java高级架构资料、源码、笔记、视频
Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、
高并发等架构技术
光有技术还不够
当然除了技术过关以外,还该有Java领域有丰富的经验,独到的见解。能够从前台到后台独立的搭建完成,良好的沟通能力及团队协作能力等。
一般情况下,就算不去大公司,很多小公司的技术总监年薪上也差不了多少呢。当然这些都需要一些时间沉淀,没办法速成。
但是一个技术过关的JAVA程序员能拿到10k+是肯定没什么问题了!
下面推荐一个年薪40w的Java进阶学习路线
具有一到五年开发经验的Java程序员必须要掌握的内容列举到以下:
设计模式
设计模式是可复用面向对象软件的基础,学习设计模试是每个程序员从菜鸟走向大神的必经之路,巧妙地运用设计模式可以使我们的代码看似复杂实际简洁、复用性更高、更容易被别人理解等好处,同时也是学习软件工程的基础和必然。
并发编程
主要培养编程者深入了解最底层的运作原理,加强编程者逻辑思维,这样才能写出高效、安全、可靠的多线程并发程序。
开发工具工程化
通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。程序员的战斗,往往不是一个人的战斗,我们如何在一个平台下高效的去重,进行代码review,对功能进行调整,debug,做到在统一的规划下步步为营,混乱的堆代码的过程中找到自己的记录。这一切都依赖于有效的工具。
性能调优
我们不仅仅对项目要运筹帷幄,还要能解决一切性能问题。只有深入学习JVM底层原理,Mysql底层优化以及Tomcat调优,才能达到知其然,知其所以然的效果。除了性能优化之外,也能提供通用的常见思路以及方案选型的考虑点,帮助大家培养在方案选型时的意识、思维以及做各种权衡的能力。
源码分析
程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这也造成了很多错误看源码的方式。
那要如何正确的分析源码呢?
我们的目标应该放在最常用的框架上面,下面就介绍两个:一个是Spring,另一个是大家用来觉得一直不怎么出问题的Mybatis。
△spring源码
△mybatis源码
分布式架构
随着我们的业务量越来越大和越重要,单体的架构模式已经无法对应大规模的应用场景,而且系统中决不能存在单点故障导致整体不可用,所以只有垂直或是水平拆分业务系统,使其形成一个分布式的架构,利用分布式架构来冗余系统消除单点的故障,从而提高整个系统的可用性。同时分布式系统的模块重用度更高,速度更快,扩展性更高是大型的项目必不可少的环节。
分布式架构(一)
分布式架构(二)
微服务
关于微服务架构的取舍
在合适的项目,合适的团队,采用微服务架构收益会大于成本。
微服务架构有很多吸引人的地方,但在拥抱微服务之前,也需要认清它所带来的挑战。
需要避免为了“微服务”而“微服务”。
微服务架构引入策略 – 对传统企业而言,开始时可以考虑引入部分合适的微服务架构原则对已有系统进行改造或新建微服务应用,逐步探索及积累微服务架构经验,而非全盘实施微服务架构。
B2C项目实战
要想立足于互联网公司,且能在互联网浪潮中不被淹没,对于项目的开发实战演练是不必可少的技能,也是对自身能力的一个衡量,有多少的量对等于获得多少的回报。看似简单的一个项目需求图谱,其中的底层原理,实现原理又能知道多少?你搭建一个完整的B2C项目平台到底需要多少知识?这一切都是需要我们考量的。
JVM和性能优化
架构关键基础设施