Java行業(yè)在當(dāng)下人才是供不應(yīng)求,但是作為Java程序員的你也得居安思危,你要知道你身處的是一個(gè)高速變化的行業(yè),稍不留意你的位置還是存在被取代的風(fēng)險(xiǎn)。這些承擔(dān)著技術(shù)招聘市場(chǎng)中高供給高需求的 Java 程序員在 17 年的招聘市場(chǎng)上,真的還能如此風(fēng)光嗎?還是埋下了一些「危機(jī)」的伏筆呢?(看到文末有驚喜)
2018 年在招聘市場(chǎng)上求職的 Java 程序員面臨的更加激烈的競(jìng)爭(zhēng)主要由以下三個(gè)原因引起:
1)Java 程序員面臨更加激烈的競(jìng)爭(zhēng)。
2)公司選材更嚴(yán)苛。
3)目前技術(shù)強(qiáng)、牛的Java 程序員太少,供不應(yīng)求。
Java 程序員很多,現(xiàn)在達(dá)到千萬名還有每年從學(xué)校走出來的。但是很多是根據(jù)目前行業(yè)的趨勢(shì)而慢慢轉(zhuǎn)行以及剛剛加入,那么已經(jīng)進(jìn)入的 Java 程序員肯定有著很強(qiáng)的優(yōu)勢(shì),無論是技術(shù)、年限、經(jīng)驗(yàn)都是剛剛進(jìn)入這個(gè)行業(yè)不能比的。
一、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)帶來的就是更加白熱化的競(jìng)爭(zhēng)?!负蜻x人的充足供應(yīng),對(duì)于找工作的人來說,也許并不是一件好事,因?yàn)橛萌说墓究隙〞?huì)更加挑剔」,在 100offer 有 3 年工作經(jīng)驗(yàn)的人才顧問 Tony 道出了面試邀請(qǐng)背后的玄機(jī)。
那么,這些新增的 25%Java 程序員從哪里來?
17 年新增的 Java 程序員從哪里來呢?除了正常的人員流動(dòng)之外,100offer 感受到 2017 年的 Java 程序員的來源更加豐富了。
「除了正常的人才流動(dòng)的 Java 程序員,今年來市場(chǎng)上看機(jī)會(huì)的 Java 程序員還存在異常流動(dòng)」100offer 的資深人才顧問 Summer 解讀了這一部分 Java 程序員的來源。
17 年 Java 程序員的異常來源包括:非互聯(lián)網(wǎng)公司(包括但不限于傳統(tǒng)軟件公司、傳統(tǒng)硬件公司、金融公司等)、互聯(lián)網(wǎng)金融領(lǐng)域的公司、一些不知名的互聯(lián)網(wǎng)創(chuàng)業(yè)公司(這里的異常來源指的是相較于正常的人才流動(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)背景的公司?!?/p>
2. C 輪以上的企業(yè)成為吸收 Java 程序員的主力公司
2017 年,Java 仍然是所有技術(shù)語言中,招聘公司需求最多的一個(gè)方向。
在 2017 年,對(duì) Java 工程師需求量較大的公司中,尚未融資公司、C 輪、D 輪和上市公司的需求明顯增長(zhǎng)。其中,上市公司發(fā)出了近 50% 的面試邀請(qǐng)。為什么會(huì)出現(xiàn)這樣的需求往 C 輪及以上公司移動(dòng)的情況。我們來看看 16-17 年市場(chǎng)投融資的表現(xiàn)。
2016年Q1至2017年Q3 新成立公司數(shù)量(數(shù)據(jù)來源:IT桔子)
2016年Q1 至2017年Q3 互聯(lián)網(wǎng)領(lǐng)域投資事件數(shù)量及金額(數(shù)據(jù)來源:IT桔子)
從 16 年 Q1 到 17 年 Q3,互聯(lián)網(wǎng)投融資市場(chǎng)不斷向下滑動(dòng)的曲線,側(cè)面反映出創(chuàng)業(yè)公司面臨的艱難處境。除了新成立公司數(shù)量有所萎縮外,17 年也出現(xiàn)了更多的公司并購。
2016年Q1 至2017年Q3 互聯(lián)網(wǎng)領(lǐng)域并購數(shù)量及金額變化(數(shù)據(jù)來源:IT桔子)
從上述現(xiàn)象中,我們不難分析出需求流動(dòng)的原因:
(1)受到市場(chǎng)環(huán)境的影響,創(chuàng)業(yè)公司的招聘需求收縮
資本市場(chǎng)的投資逐漸走向聚集,即大部分的資金都涌入了一些頭部公司,再加上整體的投資偏向于理性,這對(duì)于處在 B 輪以前的公司,如果沒有突出的創(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)定的需求,「我們的開發(fā)配比是按照產(chǎn)品經(jīng)理的招聘進(jìn)行配比的」李一跟我們分享了他們公司為什么會(huì)有穩(wěn)定的 Java 程序員需求的原因?!副热缭黾右粋€(gè)產(chǎn)品經(jīng)理,他會(huì)提出一些新的需求,這個(gè)時(shí)候開發(fā)就不夠用了,就要招新人?!乖偌由贤ǔ?C 輪以上的公司業(yè)務(wù)發(fā)展可能不再會(huì)經(jīng)常出現(xiàn)指數(shù)增長(zhǎng),但是整體趨勢(shì)是上揚(yáng)的,因此他們往往擁有比較穩(wěn)定的 Java 開發(fā)需求量。
其次,對(duì)于 C 輪及以上的公司,他們通常除了已有業(yè)務(wù)之外,還會(huì)積極拓展新的業(yè)務(wù),比如新美大推出打車業(yè)務(wù)、今日頭條推出的問答社區(qū)等,這些背靠體量較大的互聯(lián)網(wǎng)公司的「新業(yè)務(wù)」,較純創(chuàng)業(yè)公司能夠獲取的資源和生命周期較長(zhǎng),因此他們對(duì) Java 程序員的保持著旺盛的需求。
二、 公司選材更嚴(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)概況的梳理過程中,我們分析了 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 程序員通常沒有互聯(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),如果沒有特別突出的能力,公司通常不會(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ù)量增加就可以看出。
「主要要看候選人的離職原因,如果是被裁員才離開公司的話,他們可能會(huì)更難找」100offer 的人才顧問解答道。雖然同樣是看機(jī)會(huì),是否在裁員前離開反而變得「重要」,原因也很簡(jiǎn)單:當(dāng)你發(fā)現(xiàn)一個(gè)公司可能走下坡路的時(shí)候,甚至快要裁員,你沒有提前準(zhǔn)備好自己的發(fā)展方向,需求方會(huì)認(rèn)為你并不是一個(gè)有著清晰職業(yè)規(guī)劃或者職業(yè)追求的人。這樣的前置否定一旦被套上,就很難擺脫。
同樣的情況還發(fā)生在被并購后淘汰出來的程序員身上。一位點(diǎn)評(píng)的前 Java 工程師告訴 100offer,那些遭受了并購裁員的程序員,因?yàn)轭愃频模簺]有提前進(jìn)行職業(yè)規(guī)劃、無法給公司創(chuàng)造價(jià)值等因素,導(dǎo)致他們的求職之路十分坎坷。
Java 程序員技術(shù)才是最實(shí)用的,你工作年限沒有但是你的技術(shù)能夠達(dá)到他的需求那么你就能適用與這個(gè)工作。也就是說技術(shù)才是最最最的重要的硬性標(biāo)準(zhǔn)。
Java 程序員如何在新的市場(chǎng)競(jìng)爭(zhēng)中獲得優(yōu)勢(shì)
扎實(shí)的基本功
從任職需求上看,面試官對(duì)于候選人的期望主要掉現(xiàn)在扎實(shí)的計(jì)算機(jī)理論基礎(chǔ),熟悉面向?qū)ο缶幊?,了解常用框架等等?!敢驗(yàn)檫@個(gè)階段,公司所需要的 Java 后端開發(fā),主要是為了解決一些基本業(yè)務(wù)功能的實(shí)現(xiàn),扎實(shí)的基本功能夠幫助候選人更快、更好地熟悉業(yè)務(wù)」100offer 的人才顧問 Tony 如此概括這者階段的公司需求。因此,在這個(gè)階段,即使是非互聯(lián)網(wǎng)公司的候選人,也能得到一些面試邀請(qǐng),表現(xiàn)突出,則可成功轉(zhuǎn)行。
工作思路開闊
在某獨(dú)角獸企業(yè)帶領(lǐng)一個(gè)業(yè)務(wù)方向的技術(shù) leader 陳程為我們描述了這個(gè)階段的 Java 程序員最具競(jìng)爭(zhēng)的力的品質(zhì):能夠站在業(yè)務(wù)的角度去思考問題。
這些品質(zhì)的 Java 程序員直觀上的表現(xiàn)就是,不會(huì)單一地去思考需求,而是會(huì)考慮需求背后的目標(biāo)。「這些特質(zhì)其實(shí)沒有那么難以鍛煉,不是孤立地處理問題,多和產(chǎn)品經(jīng)理溝通交流,就很容易培養(yǎng)出從業(yè)務(wù)角度考慮技術(shù)開發(fā)的意識(shí)」。陳程覺得這個(gè)階段的程序員反而是最好提升的,「害怕的就是,你不愿意去做這些溝通,閉門造車這種事情,其實(shí)不是程序員長(zhǎng)期規(guī)劃中的一個(gè)好習(xí)慣?!?/p>
縱向的技術(shù)沉淀
對(duì)于技術(shù)沉淀的考察主要是從項(xiàng)目經(jīng)驗(yàn)中來,通過對(duì)項(xiàng)目經(jīng)驗(yàn)的考察過程中,觀察候選人是否能夠把工作內(nèi)容轉(zhuǎn)化成自己的技術(shù)能力或者系統(tǒng)能力。
橫向知識(shí)面的拓展
除了縱向的技術(shù)沉淀外,在這個(gè)階段,作為系統(tǒng)群或者項(xiàng)目的負(fù)責(zé)人的橫向知識(shí)面也是非常重要的考核因素。橫向的知識(shí)面一方面包括技術(shù)上的,表現(xiàn)為不僅能夠有架構(gòu)上的整體認(rèn)識(shí),還能利用技術(shù)組件解決一些比較專業(yè)的問題。另外還包括業(yè)務(wù)上的,比如是否能夠在解決具體的需求同時(shí),考慮到整體業(yè)務(wù)線上會(huì)涉及的各個(gè)環(huán)節(jié),提前考慮并且部署這些環(huán)節(jié)會(huì)出現(xiàn)的問題。
業(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)的建立起來,并且能夠在資源有限的情況下,爭(zhēng)取到最優(yōu)的解決方案。
技術(shù)團(tuán)隊(duì)的管理與激勵(lì)
如何在團(tuán)隊(duì)成員有限的情況下,完成需求量大的開發(fā)需求;如何能夠更好地讓團(tuán)隊(duì)中的程序員發(fā)揮作用,建立有效的溝通反饋機(jī)制等等。這些都是作為這個(gè)階段的 Java 程序員或者說是技術(shù)經(jīng)理無法避開的問題。
從這些建議中,我們抽象的看,整體來說就是作為一個(gè) Java 程序員「宏觀」能力和「微觀」能力的把控。這兩點(diǎn)需要你不斷的循序漸進(jìn),一步一個(gè)臺(tái)階地走上去。
小編在這里根據(jù)自己工作經(jīng)驗(yàn)分享一套java學(xué)習(xí)路線。加群:810589193,點(diǎn)擊鏈接加入群聊【Java架構(gòu)學(xué)習(xí)交流群】:https://jq.qq.com/?_wv=1027&k=5deQUBl里面有阿里Java高級(jí)大牛直播講解知識(shí)點(diǎn),分享知識(shí),課程內(nèi)容都是各位老師多年工作經(jīng)驗(yàn)的梳理和總結(jié),帶著大家全面、科學(xué)地建立自己的技術(shù)體系和技術(shù)認(rèn)知!
一、開源框架解析:
閱讀、分析源碼是程序員最基本的碼代碼能力也是碼農(nóng)的根本所在,學(xué)習(xí)經(jīng)典源碼中所用到的經(jīng)典設(shè)計(jì)思想及常用設(shè)計(jì)模式,能夠幫你了解大牛是如何寫代碼的,從而吸收大牛的代碼功力。在阿里面試中,MyBatis,Spring等框架的底層原理是經(jīng)常會(huì)被問到的
二、架構(gòu)師筑基:
百丈高樓平地起,基礎(chǔ)也是非常重要的,基礎(chǔ)不牢,自然不用談架構(gòu)。
三、高性能架構(gòu)
性能一直是讓程序員比較頭疼的問題。當(dāng)系統(tǒng)架構(gòu)變得復(fù)雜而龐大之后,性能方面就會(huì)下降,特別是阿里巴巴這樣的一線互聯(lián)網(wǎng)公司最為注重,因此想進(jìn)入阿里,性能優(yōu)化一定是要去深入學(xué)習(xí)與理解的一環(huán)
四、微服務(wù)架構(gòu)
關(guān)于微服務(wù)架構(gòu)的取舍
微服務(wù)是現(xiàn)在互聯(lián)網(wǎng)架構(gòu)技術(shù)中最火熱的話題之一,也是我目前正在學(xué)習(xí)研究的方向。在面試過程中,面試官很少會(huì)問到關(guān)于微服務(wù)相關(guān)的問題。但作為一名開發(fā)者,一名有技術(shù)夢(mèng)想的程序員微服務(wù)架構(gòu)是現(xiàn)在必須要去了解的主流技術(shù):
五、團(tuán)隊(duì)協(xié)作:
開發(fā)工具工程化
通過一小段描述信息來管理項(xiàng)目的構(gòu)建,報(bào)告和文檔的軟件項(xiàng)目管理工具。程序員的戰(zhàn)斗,往往不是一個(gè)人的戰(zhàn)斗,我們?nèi)绾卧谝粋€(gè)平臺(tái)下高效的去重,進(jìn)行代碼review,對(duì)功能進(jìn)行調(diào)整,debug,做到在統(tǒng)一的規(guī)劃下步步為營,混亂的堆代碼的過程中找到自己的記錄。這一切都依賴于有效的工具。
六、B2C項(xiàng)目實(shí)戰(zhàn)
項(xiàng)目實(shí)戰(zhàn)
要想立足于互聯(lián)網(wǎng)公司,且能在互聯(lián)網(wǎng)浪潮中不被淹沒,對(duì)于項(xiàng)目的開發(fā)實(shí)戰(zhàn)演練是不必可少的技能,也是對(duì)自身能力的一個(gè)衡量,有多少的量對(duì)等于獲得多少的回報(bào)。看似簡(jiǎn)單的一個(gè)項(xiàng)目需求圖譜,其中的底層原理,實(shí)現(xiàn)原理又能知道多少?你搭建一個(gè)完整的B2C項(xiàng)目平臺(tái)到底需要多少知識(shí)?這一切都是需要我們考量的。
這幾年很多關(guān)于 Java 程序員負(fù)面節(jié)奏,我認(rèn)為其實(shí)是怨天尤人?,F(xiàn)在已經(jīng)進(jìn)入了互聯(lián)網(wǎng)的時(shí)代,我們平時(shí)出去吃個(gè)飯微信支付,買東西也是直接微信掃碼,很多年輕人甚至是一臺(tái)手機(jī)就能出去旅游。在這種互聯(lián)網(wǎng)的時(shí)代中 程序員 以后只會(huì)越來越好,最少未來在我們互聯(lián)網(wǎng)的時(shí)代中都有程序員的一席之地。當(dāng)然你也得跟著大時(shí)代的發(fā)展節(jié)奏,不能時(shí)代在發(fā)展而你在原地踏步。
有需要這些免費(fèi)架構(gòu)資料和面試題資料的可以來領(lǐng)?。?/b>
資料獲取方式加群:810589193,點(diǎn)擊鏈接加入群聊【Java架構(gòu)學(xué)習(xí)交流群】:https://jq.qq.com/?_wv=1027&k=5deQUBl里面有阿里Java高級(jí)大牛直播講解知識(shí)點(diǎn),分享知識(shí),課程內(nèi)容都是各位老師多年工作經(jīng)驗(yàn)的梳理和總結(jié),帶著大家全面、科學(xué)地建立自己的技術(shù)體系和技術(shù)認(rèn)知!