從2017年 Java 市場(chǎng)需求看程序員風(fēng)光背后的危機(jī)!
不得不承認(rèn),經(jīng)歷過(guò)行業(yè)的飛速發(fā)展期,互聯(lián)網(wǎng)的整體發(fā)展趨于平穩(wěn)。為什么這么說(shuō)?為什么要放在 Java 程序員的盤點(diǎn)下說(shuō)?
的確,對(duì)于進(jìn)可攻前端,后可守后端大本營(yíng)的 Java 程序員而言,雖然供應(yīng)逐年上漲,但是市場(chǎng)似乎對(duì)他們依然青睞有加。這些承擔(dān)著技術(shù)招聘市場(chǎng)中高供給高需求的 Java 程序員在 17 年的招聘市場(chǎng)上,真的還能如此風(fēng)光嗎?還是埋下了一些「危機(jī)」的伏筆呢?
100offer 研究后發(fā)現(xiàn),2017 年的 Java 程序員的確很風(fēng)光,具體體現(xiàn)在市場(chǎng)需求和平均工資的上漲上,但這些風(fēng)光之后,埋伏了一些危機(jī):
1)市場(chǎng)需求增長(zhǎng)遠(yuǎn)少于 Java 程序員供應(yīng)增長(zhǎng),Java 程序員面臨更加激烈的競(jìng)爭(zhēng);
2)受供應(yīng)量的大幅增長(zhǎng)影響,Java 程序員平均跳槽薪資漲薪幅度較低;
3)需求方對(duì) Java 程序員提出更加嚴(yán)苛的選材標(biāo)準(zhǔn)。
回到開(kāi)頭,我們?yōu)槭裁凑f(shuō) 17 年互聯(lián)網(wǎng)整體發(fā)展趨于平穩(wěn),通過(guò)對(duì) 17 年招聘市場(chǎng)上的 Java 程序員面臨的危機(jī)梳理,我們來(lái)抽絲剝繭地解析這個(gè)問(wèn)題。
說(shuō)明:
本文中盤點(diǎn)的行業(yè)數(shù)據(jù),除單獨(dú)說(shuō)明外,皆來(lái)自 100offer 平臺(tái)。
一、Java 程序員面臨更加激烈的競(jìng)爭(zhēng)
2017 年在招聘市場(chǎng)上求職的 Java 程序員面臨的更加激烈的競(jìng)爭(zhēng)主要由以下兩個(gè)原因引起:
1)Java 程序員的供應(yīng)較 2016 年增加 25%;
2)Java 程序員的需求量漲幅遠(yuǎn)低于供應(yīng)漲幅。
在供應(yīng)量增長(zhǎng)的大背景下,Java 程序員還出現(xiàn)漲薪幅度較低的情況。
1. Java 程序員求職人數(shù)增長(zhǎng) 25%,所獲平均面邀數(shù)下降
自 16 年起,在市場(chǎng)上看機(jī)會(huì)的 Java 程序員在數(shù)量上不斷攀升,17 年增加 25%,但 Java 程序員 2017 年所獲得的總面邀數(shù)卻只增長(zhǎng)了 5% 左右。 這也就不難解釋為何 2017 年 Java 程序員收到的平均面邀數(shù)有了顯著的下降。
不斷增長(zhǎng)的供應(yīng)帶來(lái)的就是更加白熱化的競(jìng)爭(zhēng)。「候選人的充足供應(yīng),對(duì)于找工作的人來(lái)說(shuō),也許并不是一件好事,因?yàn)橛萌说墓究隙〞?huì)更加挑剔」,在 100offer 有 3 年工作經(jīng)驗(yàn)的人才顧問(wèn) Tony 道出了面試邀請(qǐng)背后的玄機(jī)。
那么,這些新增的 25%Java 程序員從哪里來(lái)?
17 年新增的 Java 程序員從哪里來(lái)呢?除了正常的人員流動(dòng)之外,100offer 感受到 2017 年的 Java 程序員的來(lái)源更加豐富了。
「除了正常的人才流動(dòng)的 Java 程序員,今年來(lái)市場(chǎng)上看機(jī)會(huì)的 Java 程序員還存在異常流動(dòng)」100offer 的資深人才顧問(wèn) Summer 解讀了這一部分 Java 程序員的來(lái)源。
17 年 Java 程序員的異常來(lái)源包括:非互聯(lián)網(wǎng)公司(包括但不限于傳統(tǒng)軟件公司、傳統(tǒng)硬件公司、金融公司等)、互聯(lián)網(wǎng)金融領(lǐng)域的公司、一些不知名的互聯(lián)網(wǎng)創(chuàng)業(yè)公司(這里的異常來(lái)源指的是相較于正常的人才流動(dòng)而言)。
這樣的情況在公司層面也有所反饋,在某 TMD 公司擔(dān)任技術(shù)面面試官的李一對(duì)于 17 年的 Java 程序員的整體情況反饋出了類似的結(jié)論,「16 年我們還是能夠招到一些互聯(lián)網(wǎng)背景不錯(cuò)的 Java 后端,進(jìn)了 17 年之后,這個(gè)情況反而更難了。要么就是一些不知名的二三線公司,要么干脆就不是互聯(lián)網(wǎng)背景的公司。」
2. C 輪以上的企業(yè)成為吸收 Java 程序員的主力公司
2017 年,Java 仍然是所有技術(shù)語(yǔ)言中,招聘公司需求最多的一個(gè)方向。
在 2017 年,對(duì) Java 工程師需求量較大的公司中,尚未融資公司、C 輪、D 輪和上市公司的需求明顯增長(zhǎng)。其中,上市公司發(fā)出了近 50% 的面試邀請(qǐng)。為什么會(huì)出現(xiàn)這樣的需求往 C 輪及以上公司移動(dòng)的情況。我們來(lái)看看 16-17 年市場(chǎng)投融資的表現(xiàn)。
2016年Q1至2017年Q3 新成立公司數(shù)量
(數(shù)據(jù)來(lái)源:IT桔子)
2016年Q1 至2017年Q3 互聯(lián)網(wǎng)領(lǐng)域投資事件數(shù)量及金額
(數(shù)據(jù)來(lái)源:IT桔子)
從 16 年 Q1 到 17 年 Q3,互聯(lián)網(wǎng)投融資市場(chǎng)不斷向下滑動(dòng)的曲線,側(cè)面反映出創(chuàng)業(yè)公司面臨的艱難處境。除了新成立公司數(shù)量有所萎縮外,17 年也出現(xiàn)了更多的公司并購(gòu)。
2016年Q1 至2017年Q3 互聯(lián)網(wǎng)領(lǐng)域并購(gòu)數(shù)量及金額變化
(數(shù)據(jù)來(lái)源:IT桔子)
從上述現(xiàn)象中,我們不難分析出需求流動(dòng)的原因:
(1)受到市場(chǎng)環(huán)境的影響,創(chuàng)業(yè)公司的招聘需求收縮
資本市場(chǎng)的投資逐漸走向聚集,即大部分的資金都涌入了一些頭部公司,再加上整體的投資偏向于理性,這對(duì)于處在 B 輪以前的公司,如果沒(méi)有突出的創(chuàng)新點(diǎn)和清晰的玩法,不容易從資本市場(chǎng)獲得投資。除了資金聚集之外,公司的合并也成為一種新常態(tài),合并之后的人員調(diào)配等,導(dǎo)致這一部分公司不再短期內(nèi)產(chǎn)生更多的招聘需求。
「對(duì)于創(chuàng)業(yè)公司而言,除了一些剛剛進(jìn)入團(tuán)隊(duì)搭建階段的公司,比如尚未融資的公司,剩下的創(chuàng)業(yè)型公司在人才的招聘上反而會(huì)更加保守」在 100offer 負(fù)責(zé)企業(yè)客戶的 Cathy 如此解釋 A-B 輪公司出現(xiàn)的招聘邀請(qǐng)降低的情況。
(2)大公司隨著業(yè)務(wù)增長(zhǎng),對(duì)人才的需求穩(wěn)步上升
首先,對(duì)于 C 輪以上的互聯(lián)網(wǎng)公司,他們一般擁有清晰的商業(yè)模式和穩(wěn)定的業(yè)務(wù)需求。因此,單單從常規(guī)的人員流動(dòng)角度,他們就會(huì)有穩(wěn)定的需求,「我們的開(kāi)發(fā)配比是按照產(chǎn)品經(jīng)理的招聘進(jìn)行配比的」李一跟我們分享了他們公司為什么會(huì)有穩(wěn)定的 Java 程序員需求的原因。「比如增加一個(gè)產(chǎn)品經(jīng)理,他會(huì)提出一些新的需求,這個(gè)時(shí)候開(kāi)發(fā)就不夠用了,就要招新人。」再加上通常 C 輪以上的公司業(yè)務(wù)發(fā)展可能不再會(huì)經(jīng)常出現(xiàn)指數(shù)增長(zhǎng),但是整體趨勢(shì)是上揚(yáng)的,因此他們往往擁有比較穩(wěn)定的 Java 開(kāi)發(fā)需求量。
其次,對(duì)于 C 輪及以上的公司,他們通常除了已有業(yè)務(wù)之外,還會(huì)積極拓展新的業(yè)務(wù),比如新美大推出打車業(yè)務(wù)、今日頭條推出的問(wèn)答社區(qū)等,這些背靠體量較大的互聯(lián)網(wǎng)公司的「新業(yè)務(wù)」,較純創(chuàng)業(yè)公司能夠獲取的資源和生命周期較長(zhǎng),因此他們對(duì) Java 程序員的保持著旺盛的需求。
看完整體的市場(chǎng)供需,Java 程序員在 17 年跳槽之后的薪資表現(xiàn)又如何呢?
二、 2017年,Java 程序員人均跳槽年薪漲幅不到 3 萬(wàn)
「我沒(méi)有感覺(jué)這次我的薪資有明顯提升」,一個(gè)通過(guò) 100offer 進(jìn)入某共享經(jīng)濟(jì)風(fēng)口公司的 Java 程序員卷毛對(duì) 17 年的這次跳槽顯然不是特別滿意。從 16 到 17 年,Java 程序員的跳槽前薪資的確出現(xiàn)了小幅上升,大家對(duì)于跳槽的期望薪資也有了提升。但現(xiàn)實(shí)卻是期望遠(yuǎn)沒(méi)有達(dá)成,相較于 16 年,17 年跳槽后的薪資平均數(shù)還出現(xiàn)了下滑。
為什么反而出現(xiàn)了跳槽薪資下滑的「異常情況」呢?先看看不同工作年限大家的跳槽前后薪資漲幅:
從數(shù)據(jù)表現(xiàn)來(lái)看,除了工作 4-5 年的 Java 程序員跳槽后年薪漲幅較大外,剩下工作經(jīng)驗(yàn)的 Java 程序員薪資漲幅都較小。2017 年 Java 程序員數(shù)量的上升并沒(méi)有帶來(lái)平均薪資的等比上升,側(cè)面也反應(yīng)了 Java 程序員在 2017 年出現(xiàn)的異常流動(dòng)情況:在分析 Java 程序員的來(lái)源中,我們提到,17 年的 Java 程序員除了正常流動(dòng)外,還多了很多異常流動(dòng)。
2017 年的 Java 求職市場(chǎng)涌入的異常流動(dòng)的 Java 候選人雖然增加了 Java 求職者的數(shù)量,但是卻并沒(méi)有提升他們的薪資情況,為什么呢?我們要具體看看公司的選材標(biāo)準(zhǔn)了。
三、 公司選材更嚴(yán)苛
1. 同一崗位 JD 要求更細(xì)致、更專業(yè)
以下分別是 16 年和 17 年,offer 薪資在:15K~30K×16 月的 Java 程序員 JD 要求:
同樣薪資崗位 JD,在 17 年如下:
雖然對(duì)于一個(gè)合格的程序員,多點(diǎn)一些技能點(diǎn)并不是什么難事,但單單從 JD 的要求上看,想要在 17 年尋找和 16 年薪資、級(jí)別差不多的工作,需求方顯然想要你能夠擁有更加豐富的技能。
2. 公司招聘更看重工作背景
從前面的 Java 程序員整體市場(chǎng)概況的梳理過(guò)程中,我們分析了 Java 程序員中的異常流動(dòng)現(xiàn)象,也分析了 Java 的整體招聘向 C 輪及以上企業(yè)流動(dòng)的現(xiàn)象。從具體的招聘表現(xiàn)上,100offer 發(fā)現(xiàn)隨著供應(yīng)增大后,需求方更加看重 Java 程序員的工作背景上。因此,那些背景不夠優(yōu)秀的 Java 候選人面臨被淘汰的危機(jī)。
(1)非互聯(lián)網(wǎng)背景 Java 程序員面臨的求職危機(jī)
在整體經(jīng)濟(jì)情況并不十分明朗的 17 年,外企裁員、傳統(tǒng)行業(yè)抵擋不住整體經(jīng)濟(jì)放緩的趨勢(shì),從中流出大量的 Java 候選人。這些 Java 程序員通常沒(méi)有互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),會(huì)被需求方擔(dān)心整體調(diào)性和思維方式不適合互聯(lián)網(wǎng)公司,最終遭遇求職危機(jī)。
(某一知名硬件公司,工作 5+ 年 候選人在被裁員后平臺(tái)上獲得的面邀情況)
與這位候選人有著類似經(jīng)歷的候選人,在2017 年的 100offer 平臺(tái)上并不是少數(shù)。即使你擁有「名校」畢業(yè)的背景和光環(huán),從非互聯(lián)網(wǎng)行業(yè)進(jìn)入互聯(lián)網(wǎng),如果沒(méi)有特別突出的能力,公司通常不會(huì)買單。
(2)被動(dòng)離職的互聯(lián)網(wǎng)背景 Java 程序員也不好找工作
和上一類不容易被互聯(lián)網(wǎng)企業(yè)買單的候選人不一樣,17 年還有這樣一群 Java 程序員,他們?cè)庥龅焦镜暮喜ⅰ⒌归]等情況,最后被迫走進(jìn)市場(chǎng)求職。這一現(xiàn)象從互聯(lián)網(wǎng)金融領(lǐng)域的 Java 程序員在 17 年的求職市場(chǎng)上的數(shù)量增加就可以看出。
「主要要看候選人的離職原因,如果是被裁員才離開(kāi)公司的話,他們可能會(huì)更難找」100offer 的人才顧問(wèn)解答道。雖然同樣是看機(jī)會(huì),是否在裁員前離開(kāi)反而變得「重要」,原因也很簡(jiǎn)單:當(dāng)你發(fā)現(xiàn)一個(gè)公司可能走下坡路的時(shí)候,甚至快要裁員,你沒(méi)有提前準(zhǔn)備好自己的發(fā)展方向,需求方會(huì)認(rèn)為你并不是一個(gè)有著清晰職業(yè)規(guī)劃或者職業(yè)追求的人。這樣的前置否定一旦被套上,就很難擺脫。
同樣的情況還發(fā)生在被并購(gòu)后淘汰出來(lái)的程序員身上。一位點(diǎn)評(píng)的前 Java 工程師告訴 100offer,那些遭受了并購(gòu)裁員的程序員,因?yàn)轭愃频模簺](méi)有提前進(jìn)行職業(yè)規(guī)劃、無(wú)法給公司創(chuàng)造價(jià)值等因素,導(dǎo)致他們的求職之路十分坎坷。
四、Java 程序員如何在新的市場(chǎng)競(jìng)爭(zhēng)中獲得優(yōu)勢(shì)
梳理完 Java 程序員在 17 年遇到的挑戰(zhàn)和危機(jī)后,Java 程序員應(yīng)該如何應(yīng)對(duì)這些危機(jī)呢?
我們從市場(chǎng)對(duì) Java 程序員的需求入手,分析了 Java 程序員的未來(lái)的發(fā)展道路。市場(chǎng)常常按照 3 年為一個(gè)界限,100offer 在這里把工作經(jīng)驗(yàn) 3 年以下的程序員稱為初級(jí)工程師,3 年至 6 年的程序員為高級(jí)工程師,6 年及以上的則是資深工程師。我們?yōu)g覽了大量的職位需求,這里列舉三個(gè)比較典型的例子分別分析市場(chǎng)對(duì)他們的需求。
1. 初級(jí) Java 程序員的核心考核要素
這個(gè)階段的候選人一般都剛加入工作,工作時(shí)間不超過(guò) 3 年,對(duì)于這一部分候選人,公司的需求通常是解決一些基礎(chǔ)的業(yè)務(wù)問(wèn)題。他們會(huì)考察應(yīng)聘者的基本功是否扎實(shí)、工作思路開(kāi)闊。以下是一份典型的初級(jí) Java 工程師的 JD:
扎實(shí)的基本功
從任職需求上看,面試官對(duì)于候選人的期望主要掉現(xiàn)在扎實(shí)的計(jì)算機(jī)理論基礎(chǔ),熟悉面向?qū)ο缶幊蹋私獬S每蚣艿鹊取!敢驗(yàn)檫@個(gè)階段,公司所需要的 Java 后端開(kāi)發(fā),主要是為了解決一些基本業(yè)務(wù)功能的實(shí)現(xiàn),扎實(shí)的基本功能夠幫助候選人更快、更好地熟悉業(yè)務(wù)」100offer 的人才顧問(wèn) Tony 如此概括這者階段的公司需求。因此,在這個(gè)階段,即使是非互聯(lián)網(wǎng)公司的候選人,也能得到一些面試邀請(qǐng),表現(xiàn)突出,則可成功轉(zhuǎn)行。
(上圖為工作1年,曾在某硬件公司任職的候選人)
工作思路開(kāi)闊
在某獨(dú)角獸企業(yè)帶領(lǐng)一個(gè)業(yè)務(wù)方向的技術(shù) leader 陳程為我們描述了這個(gè)階段的 Java 程序員最具競(jìng)爭(zhēng)的力的品質(zhì):能夠站在業(yè)務(wù)的角度去思考問(wèn)題。
這些品質(zhì)的 Java 程序員直觀上的表現(xiàn)就是,不會(huì)單一地去思考需求,而是會(huì)考慮需求背后的目標(biāo)。「這些特質(zhì)其實(shí)沒(méi)有那么難以鍛煉,不是孤立地處理問(wèn)題,多和產(chǎn)品經(jīng)理溝通交流,就很容易培養(yǎng)出從業(yè)務(wù)角度考慮技術(shù)開(kāi)發(fā)的意識(shí)」。陳程覺(jué)得這個(gè)階段的程序員反而是最好提升的,「害怕的就是,你不愿意去做這些溝通,閉門造車這種事情,其實(shí)不是程序員長(zhǎng)期規(guī)劃中的一個(gè)好習(xí)慣。」
2. 高級(jí) Java 程序員考核要素
這個(gè)階段的 Java 程序員不僅要熟悉 Java 語(yǔ)言本身,公司對(duì)候選人會(huì)有進(jìn)一步的要求,具體表現(xiàn)在能夠快速的進(jìn)行工作的輸出,能夠獨(dú)立負(fù)責(zé)小系統(tǒng)或者系統(tǒng)群。在這個(gè)階段,公司在考察工作經(jīng)驗(yàn)和項(xiàng)目的同時(shí),還看中的是你解決問(wèn)題的思路和方式。
這個(gè)階段的JD要求如下:
縱向的技術(shù)沉淀
對(duì)于技術(shù)沉淀的考察主要是從項(xiàng)目經(jīng)驗(yàn)中來(lái),通過(guò)對(duì)項(xiàng)目經(jīng)驗(yàn)的考察過(guò)程中,觀察候選人是否能夠把工作內(nèi)容轉(zhuǎn)化成自己的技術(shù)能力或者系統(tǒng)能力。
在 17 年收獲 30+ 個(gè)面試邀請(qǐng)的專科生王朋依靠著他在大型項(xiàng)目中的技術(shù)積累,在 100offer 平臺(tái)上收獲了包括阿里巴巴、網(wǎng)易等在內(nèi)的 36 個(gè)面試邀請(qǐng)。
(候選人王朋在100offer上的具體情況)
橫向知識(shí)面的拓展
除了縱向的技術(shù)沉淀外,在這個(gè)階段,作為系統(tǒng)群或者項(xiàng)目的負(fù)責(zé)人的橫向知識(shí)面也是非常重要的考核因素。橫向的知識(shí)面一方面包括技術(shù)上的,表現(xiàn)為不僅能夠有架構(gòu)上的整體認(rèn)識(shí),還能利用技術(shù)組件解決一些比較專業(yè)的問(wèn)題。另外還包括業(yè)務(wù)上的,比如是否能夠在解決具體的需求同時(shí),考慮到整體業(yè)務(wù)線上會(huì)涉及的各個(gè)環(huán)節(jié),提前考慮并且部署這些環(huán)節(jié)會(huì)出現(xiàn)的問(wèn)題。
3. 資深 Java 程序員考核要素
先來(lái)看這個(gè)階段的 JD 要求:
JD 中除了一系列的 Java 架構(gòu)、生態(tài)體系上的要求外,又增加了「技術(shù)發(fā)展趨勢(shì)」、「溝通能力」、「勇于擔(dān)當(dāng)」等關(guān)鍵詞。這些關(guān)鍵詞背后的訴求其實(shí)也側(cè)面反映了這個(gè)階段的 Java 程序員需要承擔(dān)的工作:負(fù)責(zé)一個(gè)業(yè)務(wù)方向或者業(yè)務(wù)群。
業(yè)務(wù)角度進(jìn)行技術(shù)規(guī)劃
除了扎實(shí)的技術(shù)功底外,能夠結(jié)合業(yè)務(wù)方向進(jìn)行技術(shù)規(guī)劃和有效管理技術(shù)團(tuán)隊(duì),保證團(tuán)隊(duì)產(chǎn)出成為最重要的兩個(gè)因素。怎么樣可以做到從業(yè)務(wù)的角度進(jìn)行技術(shù)規(guī)劃,這里考驗(yàn)的就是你能否發(fā)產(chǎn)品經(jīng)理提出的每一個(gè)孤立的點(diǎn)的邏輯和目標(biāo)系統(tǒng)的建立起來(lái),并且能夠在資源有限的情況下,爭(zhēng)取到最優(yōu)的解決方案。
技術(shù)團(tuán)隊(duì)的管理與激勵(lì)
如何在團(tuán)隊(duì)成員有限的情況下,完成需求量大的開(kāi)發(fā)需求;如何能夠更好地讓團(tuán)隊(duì)中的程序員發(fā)揮作用,建立有效的溝通反饋機(jī)制等等。這些都是作為這個(gè)階段的 Java 程序員或者說(shuō)是技術(shù)經(jīng)理無(wú)法避開(kāi)的問(wèn)題。
從這些建議中,我們抽象的看,整體來(lái)說(shuō)就是作為一個(gè) Java 程序員「宏觀」能力和「微觀」能力的把控。這兩點(diǎn)需要你不斷的循序漸進(jìn),一步一個(gè)臺(tái)階地走上去。
100offer 說(shuō):
在對(duì) 17 年 Java 程序員的盤點(diǎn)過(guò)程中,我們發(fā)現(xiàn),一個(gè)「優(yōu)秀」的 Java 程序員可以做的遠(yuǎn)比我們想象的多得多。
Java 因?yàn)槠淞己玫纳鷳B(tài)系統(tǒng)以及全面的領(lǐng)域覆蓋,成為許多公司技術(shù)棧的首選,也使得市場(chǎng)上總有「Java 工程師滿地走」的錯(cuò)覺(jué)。
17 年的招聘市場(chǎng)對(duì) Java 工程師提出了看似更加「苛刻」的要求,其實(shí)背后的核心卻是:過(guò)去市場(chǎng)也許可以允許你進(jìn)步得慢一點(diǎn),因?yàn)槭袌?chǎng)上總?cè)鄙?junior 的 Java 工程師,但是現(xiàn)在市場(chǎng)想直白地告訴你,當(dāng)一個(gè)行業(yè)的發(fā)展趨于理性之時(shí),留給 Java 工程師的進(jìn)步時(shí)間真的不多了。