Java人才市场年度盘点:转折与终局

来自:100offer(微信号:im100offer),作者:雨蹊,图文:雨蹊,版式:永清

2019年的第一篇推送,我们来回顾100offer岗位和求职者人数最多的一个技术岗位——Java的一年市场表现。


2017 年底,100offer 曾用「风光背后的危机」来形容 Java 工程师们的处境。一年时间很快又过去,在全球红利消退的 2018 年,Java 人才市场蛰伏许久的「危机」,是否浮出了水面?


注:本文数据除另行说明外,均取自  2018 年 1 月1 日至 12 月 31 日,经筛选在 100offer 进行匿名展示的 3921 位 Java 方向求职者和 24617 份面试邀请(下文简称面邀)。100offer 致力于为 2 年以上经验的中高端互联人,提供北上广深杭、新加坡等地的工作机会。求职者收到的面邀薪资,普遍高于市场平均水平。


1

Java 语言依旧热门

Java 程序员却未必?


1、2018 年 Java 仍然是最流行、招聘供需量最大的技术语言


必须承认,Java 是一门「不再年轻」的语言。Java 生态日趋成熟,迭代速度下降,写 Java 也似乎没有 Go、Python 等新兴语言听上去那么「性感」、「时髦」,但Java在互联网后台、软件开发和企业工具等领域的通用性和流行度,使得它在编程语言界的霸主地位短期内牢不可破。

 

TIOBE 2018 年 12 月数据显示,Java 毫无悬念地又拿下了排名第一;自 2001 年以来,Java 表现最差的一次,也仅仅是在 2015 年 3 月退居第二。


来源:TIOBE


在此基础上,互联网行业针对 Java 开发的招聘需求,也是近年技术类岗位供需量最大,且变化最稳定的。

 

供给方面,与其他工程师岗位相比,Java 开发方向的求职人数连续两年最多,2018 年也只增不减:

 


同样,在需求方面,企业对 Java 工程师发放的面邀数占比也远高于其他岗位:

 


2、整体求职难度增大,人才市场由热转冷

 

然而,热闹和喧嚣并不是 2018 年 Java 的主旋律。比起 2017 全年较为稳定的市场,2018 年 Java 求职市场有两个明显的变化:整体求职难度变大,且全年波动更剧烈,淡旺季区别明显。

 

首先,虽然从总量上看,Java 生态和招聘大环境欣欣向荣,但进一步审视每位Java工程师到手的工作机会,我们发现,早有征兆的 Java 人才市场「僧多粥少」的隐忧,在 2018 年加剧了——人均面邀数量从去年的 8.8 份减少到 6.8 份。


 

这是因为,经过几年来 Java 的稳定发展,选择以它为互联网职业发展切入点的候选人越来越多;虽然市场需求量也在涨,但增速跟不上市场涌入的大量新增人才供给,导致人均工作机会缩水。

 

其次,Java 招聘市场在 2018 年有了更明显的淡旺季区分,简直可以说是上半年涝的涝死、下半年旱的旱死。



从上图可以看出:2018 全年在 100offer 观望 Java 工作机会的求职人数相较去年翻番。2018Q1 跳槽旺季求职人数达到了全年的高峰,甚至是去年同期的3倍。相比之下,2017 年 Java 的求职高峰期反而是在年底,而且各个季度的流动人数较为恒定。



企业需求的变动,凸显了 2018 年 Java 人才市场「高开低走」的动荡局势。企业发出的Java面邀总数,在 Q1 同比增长了 140%,此后几个季度连续下跌,Q4 甚至比去年同期下降了 17%。

 

Java 作为互联网需求量最稳定的「风向标岗位」,表现尚且如此,其它职位就更不容乐观。由此也可以从侧面证明互联网人才市场的整体下行。

 

不过,从面邀年薪水平来看,Java 不仅保持了上升趋势,同比 8% 的薪资涨幅也在各个岗位中名列前茅:

 


那么,2018 年的 Java 求职难度抬高,薪资却仍显著上升,如何解释这两个看似矛盾的现象?我们需要进一步挖掘:2018 年企业对 Java 的招聘需求发生了哪些新变化?什么样的候选人会遭遇求职难度陡坡,更高的薪水又都是被谁抢走了?

 

2

2018 年的 Java 人才供需

从哪来、到哪去?

 

1、资深专业人才增多,Java 供给进一步饱和

 

Java 岗位薪资稳步增长,一个重要原因是人才供给的质量在上升,今年跳槽看机会的 Java 资深人才比往年更多。

 

一方面,2018 年跳槽的 Java 求职者中,2 年及以下经验的初级人员占比减少,中高级人员在增加:

 

 

另一方面,从 Java 候选人上一份工作的岗位方向来看,2018 年有 60% 的跳槽者以往的工作也是 Java 开发,同比上涨了 13 个百分点;可见今年的 Java 求职者更专业,转型或换技术方向的候选人比往年更少。

 

 

资深、专业人群的议价能力更强,由此拉动了整个市场的平均薪资。

 

同时,我们爬取了求职者简历的上家公司背景,发现一个有趣的现象:今年涌进市场求职的 Java 程序员,除了来自华为、BATJ 等典型互联网知名企业之外,还有不少来自传统金融(如:平安、国有四大行、证券机构等)和互联网金融业(如:宜信、玖富、陆金所、用友金融、众安保险等)的跳槽者。

 


上图列出了今年流向 Java 求职市场的人数最多的几家公司来源,以及候选人的受欢迎程度。可以看到,金融背景的求职人数几乎和华为、BAT 和京东的总和持平。金融业的跳槽前薪资水平偏高,因此也推高了今年 Java 的面邀薪资水平。

 

总之,跨领域竞争者的加入,让今年 Java 的人才供给更饱和、竞争更激烈。

 

2、大公司和小公司招聘需求的「两极分化」

 

今年发放 Java 岗位面邀的企业,绝大多数来自实力强劲的互联网上市公司。不论是在数量还是薪资水平上,上市公司的 Java 需求都明显高过其它公司,占据了整个 Java 人才市场的定价主导权。

 

 

同时,电商、金融和移动互联网是最愿意出高价争抢 Java 候选人的领域。

 

 

2018 年年中是一道分水岭。进入下半年,Java 开发岗的招聘需求明显集中于大公司和明星企业,大、小公司阵营出现了两极分化。

 

100offer 资深职业顾问 Ellen 告诉我们:「以上海为例,从企业的招聘需求可以看到,下半年今日头条、拼多多等一线大型企业是吸收 Java 人才的主力军,只要业务仍在飞速发展期,招聘需求就始终是旺盛的。各个季度的岗位量变化也很稳定,顶多是招聘初中级开发还是资深架构的区别。」

 

具体的需求视团队扩张速度和业务需要来调整,比如,某些大厂会在 4-5 月份重点招聘初中级开发岗(对应阿里 P6 等级及以下),岗位基本饱和了之后,再按 5~10 个初级开发配比一个资深开发或技术 leader 的规律,集中招聘资深人才。

 

而 A 轮或 50 人以下规模的小公司,下半年受大环境影响,Java 招聘量的向下趋势比较明显,招聘预算更谨慎,一些以往的付费猎头岗位也转而采用内推和HR招聘机制。

 

3、Java 是程序员跨国流动的最佳跳板

 

作为深耕国内互联网一线城市和新加坡市场多年的招聘平台,100offer 也接触过不少出国工作的程序员。我们发现,Java 作为经典工程语言,适用面广、口径宽,是出国工作程序员的一个基础技能和求职跳板。

 

以下是 100offer 在新加坡市场的各岗位招聘需求(包括对新加坡当地和中国境内候选人的需求),Java 以 15% 的占比排名第一。另外,2018 年在100offer 拿到新加坡工作 offer 的中国国内用户中,高达 28% 的人是 Java 工程师背景。

 

来源:100offer新加坡分部 2018年薪资报告


此外,日本也是很多中国程序员出海的重要目的地,Java 的行情一直很吃香。比如拥有 9 年工作经验的 Java 工程师 John,就选择在 2018 年 6 月从深圳跳槽至日本东京,成为一名劳务派遣工程师。他告诉我们:「日本这几年对开发人员的需求量很大,我们国内程序员跳槽过来其实难度并不高。Java 的项目就更是多了,一些岗位对日语也没有硬性要求。」当然,跨国跳槽时,个人简历上有名校或名企(尤其是 BAT 或外企)背景,求职会便利很多。

 

3

Java 程序员的 2018 年跳槽表现

 

梳理了整体 Java 人才市场的供给需求情况后,我们再来看看,在 2018 年成功拿到跳槽 offer 的 Java 程序员们都交出了怎样的成绩单。

 

总体上,Java 候选人的跳槽薪资期望较为理性,也基本符合市场行情。通过 100offer 入职的 Java 候选人,跳槽后的平均年薪是 32 万(税前现金,不包括奖金和股票期权),平均期望跳槽年薪涨幅为 21%,实际年薪涨幅 18%。

 

「薪资翻倍」曾是很多程序员跳槽时的口头禅和梦想,然而现实却很残酷:近六成的跳槽者涨薪幅度不到 20%,当中又有一半的人是平薪甚至降薪跳槽。

 

 

跳槽涨薪最快的是工作 2 年及以下的 Java 程序员,人均涨 26%;随着工作年限增长,年薪高企,但跳槽的涨薪空间回落到 16% 左右。

 

 

在读这篇文章的你,也可以对号入座看看自己处于市场平均线的什么位置,为来年的跳槽计划做准备。在行情转冷的大环境下,建议合理控制自己的涨薪预期,当然也要对严重脱离市场水平的 offer 提高警惕。

 

4

招聘门槛抬高

什么才是企业眼中合格的 Java?

 

跳槽不易,知己知彼才能避免踩坑。市场是检验个人实力的试金石,以此为坐标明确自身的职业进阶计划非常重要。在市场日趋饱和的今天,我们从近千份 JD 中梳理总结出了 2018 年企业对一名合格 Java 工程师的要求,供你参考。

 

1、初级 Java 工程师(1-2 年)

 

职位描述案例 1:

 

来源:100offer


 职位描述案例 2:

 

来源:100offer


 一句话总结:初级 Java 工程师需要基础扎实,在精通 Java 之外,深入了解数据库技术也是必选项。计算机原理和思维逻辑清晰,能干活。

 

2、资深Java工程师(3-5 年)


职位描述案例 1:

 

来源:100offer


职位描述案例 2:

 

来源:100offer


一句话总结:有 3-5 年经验的 Java 工程师,要求算法基础和编程能力扎实,有分布式、高并发经验优先,可独立负责一个模块的开发。在技术上一专多能,不仅限于写好 Java,还要触类旁通,对公司业务所需的新技术能快速学习运用。

 

3、Java 专家/架构师(5 年及以上)


职位描述案例 1:


来源:100offer


 职位描述案例 2:

 

来源:100offer


一句话总结:在技术专家阶段,拥有成熟大厂的高并发、分布式经验很重要。各个公司对架构和专家型人才的要求与业务需求结合得更紧密,因此,除了吃透技术深度、高效解决技术团队的技术难题、做好团队分工之外,候选人以往的业务场景也要和公司相契合。有关于业务理解力,可详细参考 58 集团 Java 专家张凯曾经为 100offer 供稿的干货文章:《从码农到架构师,如何成长为技术领导者?》


除了以上常规要求,今年互联网企业对 Java 程序员的招聘门槛也在不断提高,重点体现在以下几方面:

 

1、对学历等硬性背景要求更严


北上广深杭的互联网企业在招聘 Java 岗位时几乎都要求学历全日制本科或以上;武汉、苏州等二三线互联网城市,招聘门槛可放宽至专科及以上。


而一线知名企业就更加严苛了:要求一本、重点院校的 CS 相关专业优先。甚至有些企业在筛选简历时只看第一学历,如果第一学历是专科或非一本院校,即便研究生是 985、211 都可能在简历关刷人,工作经历特别优秀者除外(比如 BAT 重点岗位背景、5 年经验以上,参与过核心项目等)。

 

2、更注重对算法基础和核心开发经验的考察

 

国外的一线互联网企业非常注重对开发者算法原理和基础的考察,以 Facebook 最为典型,五轮结构化面试都围绕标准的算法题展开。国内的一线大厂,近年也逐步在招聘 Java 开发人员时,开始重视对算法和计算机原理的考察。

 

此外是考核过往的核心开发经验,这对工作多年的工程师来说并不算难。但在繁忙的日常开发中,很多候选人容易对原理日渐陌生,建议跳槽时提前做好算法复习和准备,尤其在面试一些顶级大厂时。

 

3、有转型能力和意愿的 Java 人,机会更多

 

企业对候选人在技术广度上的要求,其实和注重算法基础是一脉相承的。

 

之所以注重考察算法原理,一方面固然是因为市场越来越饱和,企业希望能找到解决问题思路更清晰的优质候选人。

 

另一方面,互联网公司在拓展新业务时,也需要转型 Golang、Python 等更新更轻巧的技术栈,拥有 Java 和后端基础的程序员转型这些方向更有优势。比如,腾讯的主流后端语言是 C++,阿里、TMD 是 Java,百度则是 C++、Java 和 PHP;但新兴的几家独角兽企业对 Go 和 Python 的应用更普遍,尤其是今年 Go 的劲头很猛。据 100offer 资深职业顾问 Ellen 介绍,目前英语流利说、哔哩哔哩、今日头条和趣头条等公司,后端都应用了相当大比例的 Go。

 

因此,基础扎实、学习能力强的 Java 工程师,可适用于更多的业务场景和开发需求,在市场上更吃香。100offer 也遇到过一些精通 Java 的候选人,技术实力过硬,但很遗憾的是他们往往对转型技术栈意愿不强甚至排斥,容易错过一些 offer 机会。

 

5

2019年Java市场还会加速洗牌

 

对于即将在 2019 年「征战沙场」的 Java 程序员,100offer 最后送上几个小建议。

 

一是要有清晰的自我规划和定位。


职业规划是一个老生常谈的话题,但在局势迅速变化的今天,再怎么强调自我定位也不为过。是注重技术深度还是广度,是走管理还是技术路线,这些问题仁者见仁、智者见智,只有不断自我剖析和总结才能得出最合适自己的路线。

 

比如,一位今年通过 100offer 入职某互联网外企的资深 Java 工程师 Ray 这样告诉我们:「虽然现在中国的互联网大环境还是有些浮躁,不做管理岗似乎就前途渺茫,但我还是想往专家方向发展。至于技术广度和深度如何把握,是随工作时间的积累和资深技术成长而变化的。」

 

Ray 分享了他的个人经验:「刚接触 Java 的时候,做好前后端、宽口径的知识储备,工作三五年内应该追求深度发展;在此后又需要去拓宽眼界了,比如可以去关注另一门语言的设计模式。不同阶段的侧重点不同。」

 

二是知己知彼,了解市场的需求变化。

 

没有一门语言是经久不衰的,对于长期「一览众山小」的 Java 而言也不例外。因此要基于自身的求职计划,关注市场上各个公司的招聘动态和最新要求,及时查漏补缺。比如,从阿里跳槽到腾讯的 Java 候选人,最起码要提前开始有意识地积累 C++ 方面的经验。

 

许多人对转型和拓展深度「不感冒」,是因为 Java 尚处主流地位,没有紧迫感。然而如前文所言,2018 年互联网新兴公司对 Go 的需求也在迅猛增长,未来与 Java 的竞争关系也会加剧。切忌绑死在一门语言上,建议大家在术业有专攻的基础上,接触学习其他技术,相辅相成。

 

回望 2018 年,Java 仍在互联网技术圈占据主导地位,但 Java 人才市场却经历了诸多转折点。可预见的是,一系列变化还远未抵达终局。2019 年也将是整个互联网行业加速洗牌的一年,Java 的准入门槛只会越来越高,是时候从「躺赢」的美梦中醒来了。

推荐↓↓↓
Java编程
上一篇:外行人都能看得懂的Spring Cloud服务注册与发现,错过了血亏! 下一篇:Spring AOP是什么?你都拿它做什么?