捷梯教育 - 推荐课程
    捷梯教育 - 热门课程
    捷梯教育 - 热门新闻
  • Java 程序猿如何正确的工作才能达到年薪40W?

    发布日期:2018/4/18 13:56:27 查看次数:77


    Java 程序猿如何正确的工作才能达到年薪40W?
    Java 程序猿如何正确的工作才能达到年薪40W?


    【学校地址】张家港市河西路88号曼巴特写字楼14楼——捷梯教育(专注学习效果的培训机构) 
    【咨询热线】陶老师 15895439401(同微信号) 0512-56382690 QQ:2881601625
    【其它说明】写字楼不是海底捞那一幢,找不到的话联系陶老师下去接您




    前几天,上元喵在网上看到一个问题:《 搞Java的程序员年薪40w是个什么水平》,一下子勾起了我的兴趣。

    今天,咱就来简单分析下,到底是什么水平!



    那么我们先来搞清楚,年薪40W,这个工资是税前还是税后。

    如果40w年薪税前,400000/12≈34k。也就是说月薪在3w4以上;

    如果40w年薪是税后,那么税前年薪差不多要50多了。除以12个月,也就是说月薪达到4W2以上。



    这样下来基本上我们就了解基本情况了,那么实际税前月薪是34K~ 42K之间。

    查遍了所有网站发现,能达到这个月薪的Java大公司也就那么几家,比如阿里、百度、腾讯、华为等……

    以阿里巴巴为例:

    • 阿里薪资结构:一般是12+1+3=16薪
    • 年底的奖金为0-6个月薪资,90%人可拿到3个月



    再来看看百度公司薪资的大概范围:




    那么要达到这样的薪资
    专业技术水平上需要什么样呢?

    首先,我们来看看程序员必须具备的一些技术:

    互联网产品、大型企业级项目常会用到的:

    1、并发处理技术。

    具体到Java上通常是涉及java.util.concurrent、并发锁机制、NIO等方面,当然最近比较火爆的Netty框架也可以作为高并发处理的备选方案之一,这需要对Java的线程调度机制有着比较深的理解。

    不过这些可能会涉及并发控制的对象(比如reentrantlock等)只能存在于一个JVM里的问题,一旦系统规模大到需要部署多个JVM来处理并发的情况,则需要采用共享session的技术(比如spring-session),或者尽可能将系统后台设计为无状态的服务,这需要对RESTful有着较深的理解。

    2、高可用、负载均衡技术。

    互联网产品、企业级应用通常要求一年里的Downtime控制在很小的范围内,这需要足够的高可用和负载均衡架构来支撑,这个一般和Java技术本身没太大关系,但却是一名初级程序员向高级程序员甚至是架构师CIO进阶的必备技术,因此可以适当了解一下Nginx、HAProxy等对这方面的支持。

    另外现在最“时髦”的做法是将应用docker化,配合ETCD、kubernetes等工具在容器的层面上实现高可用和负载均衡,当然这需要看实际的需求,最时髦的不见得是最适用的,要考虑构建成本。



    3、缓存技术。

    缓存应该是大型系统中或高并发条件下提高响应速度的亘古不变的真理(虽然也看到过淘宝搜索商品功能采用的大数据处理技术实现的零缓存的文章,但能达到淘宝的体量和技术水平一般不太可能)。

    这方面的工具太多了,ehcache、memcached、redis……从Java的角度来讲,需要了解的一是Java对这些工具的连接器,二是缓存技术背后的JSR-107标准,可以参考spring-cache的实现,阅读一下源码加深理解。

    4、异步处理技术。

    这通常也是抵消高并发的处理手段之一,从Java的角度看最简单的异步处理就是新启动一个异步线程,这同样也需要对Java的线程调度有所了解,当然也可使用Spring中的@Async之类的也可以简单实现异步线程的处理。

    如果是非常消耗资源的业务处理,简单的异步线程是满足不了需求的,这就需要一些消息中间件来做这些异步处理了,消息中间件有很多,activemq、rabbitmq、kafka……需要了解的是Java对这些中间件的连接器。不过异步处理中最关键的是事务保证的问题,这可能需要对事务的两步提交有所了解。



    1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的。

    2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的。

    3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的。

    4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的。



    光有技术还不够:

    当然除了技术过关以外,还必须有Java领域有丰富的经验,独到的见解。能够从前台到后台独立的搭建完成,良好的沟通能力及团队协作能力等。

    有了这些,一般情况下就算不去大公司,很多小公司的技术总监年薪上也差不了多少呢。当然这些都需要一些时间沉淀。

    Java 程序猿如何正确的工作才能达到年薪40W?
    Java 程序猿如何正确的工作才能达到年薪40W?