為何優秀的Java程序員會很吃香?
據統計,平均每家企業至少需要3名以上Java程序員,這其中還不包括對Java程序員無限量需求的5家公司。
這對Java程序員們來說也許是件好事,但事實真是這樣嗎?今年Java程序員在招聘市場上的供需情況究竟如何?
首先,我們來看看Java程序員過去一年在100offer上的供需變化趨勢圖。
從上圖可以看出,企業對Java程序員的需求量在每年4月-6月都會達到一個小高峰,另一個高峰出現在年后3月份的跳槽季。
對比一下其他幾類程序員的供需關系變化趨勢圖會發現,無論哪種類型的程序員,每年的4-6月都處于供不應求的招聘狀態,但參與拍賣的候選人數卻沒有爆發式的量的增長。
造成這種結果的原因主要來自兩方面:
年中的畢業季帶動了企業方的社會招聘。
每年6、7月份也是年后跳槽的候選人試用期結束的時間,許多企業會選擇在這個時候進行人才的審核淘汰,以輸入新鮮血液。
但今年4月-6月的招聘高峰期,在前端、移動端、PHP等多類程序員全面緊缺的情況下,Java程序員依舊以面邀總數3005封的成績排在了緊缺職位NO.1,甩出排名第二的前端工程師近500封面邀,這一現象是由哪些原因導致的?為何優秀的Java程序員會很吃香?作為企業方和Java程序員應該如何解決這一難題?
下面我從三個方面分析一下這個問題。
招聘風向與資本動態息息相關
互聯網市場的招聘風向往往和投融資市場的動向息息相關,我們抓取了IT桔子近3年來的投融資數據,發現資本市場最繁榮的時間段恰好也是企業招聘需求量最大的月份。
對于大多數創業公司來說,人才是發展的根本,所以拿到融資后的第一件事是優化團隊,下圖是一個典型的企業招聘隨資本市場變動的案例。
該公司僅有的幾次面邀高峰均發生在資本市場繁榮的2015年6月-8月和2016年3月,而年前的資本寒冬階段發出的面試邀請數為0。
另一方面,資本的狂熱也讓部分創業公司在人才爭奪戰上更舍得下血本。
從上圖可以看出,2015年4月以來,100offer上的企業開出的平均年薪被不斷推高,無論有著幾年工作經驗的求職者在這場人才爭奪戰中都獲得了不錯的薪資漲幅。直到年前資本寒冬的到來,資本市場的冷靜才讓招聘市場也逐漸恢復了理性。
企業對Java程序員質與量的要求同步提升
今年4月以來,雖然招聘處于供不應求的賣方市場,但企業與人才雙方的匹配度依然不高,因為熬過資本寒冬的創業公司懂得了「錢要花在刀刃上」的道理,它們在人才招聘上更加精打細算,相比于去年「見人就招」的盲目,今年它們更偏愛于工作經驗3年以上、掌握多門語言、能獨立開發項目、帶領團隊的資深Java程序員。
我們以3年為界限,收集了100offer上不同工作年限的程序員收到的人均面邀情況,發現兩個很明顯的現象:
2015年資本狂熱的5-9月過去后,100offer上程序員的人均面邀數在持續走低,今年春季開始趨于平緩。
資本狂熱時,3年以下經驗的程序員短期內收到了比3年+工作經驗程序員更多的面邀,但資本緊縮后,3年+工作經驗的程序員在招聘中更受企業歡迎,這一現象在今年2-4月最為明顯。
許多3年以下工作經驗的求職者在這場招聘熱潮中收獲了短期內的薪資提升,但當市場冷靜下來時,這批自我意識膨脹卻無法給企業提供對等價值的求職者,就成為企業第一波淘汰的對象。這一點在今年2月-4月間,企業對3年+工作經驗求職者求賢若渴的狀態就能看出來。
因此,怎樣在招聘市場失去理性的情況下依舊保持對自我價值的正確評估,是候選人需要學習的重要一課。
當然,工作年限不是評判一個程序員能力高低的唯一標準,那么企業在招聘中對Java程序員還有哪些要求?隨機選取了平臺上某家企業發出的面試邀請中對這一職位的需求描述:
可以看出,企業需要的Java程序員不僅要有扎實的Java基礎和3年以上相關開發經驗,還需要對框架、線程、數據庫等方面有充分的理解,此外,對前端技術的熟悉也是非常大的加分項。
在國外,很多公司的程序員是沒有前后端之分的,這意味著一個真正優秀的程序員應該同時掌握好幾門技術語言,往全棧發展,而這對技術人才的綜合能力往往要求更高。我們研究了那些在近期拍賣中成功拿到offer的Java程序員的簡歷,發現以上觀點得到了驗證:
上圖中的這位候選人近期在100offer上以50萬+的offer年薪加入了一家A輪互聯網金融公司,他不僅在技術研發領域有7年的工作經驗,還同時掌握前后端技術,熟悉架構與管理,是一名技術業務雙驅動的資深Java工程師。
俗話說技多不壓身,機會總是留給那些綜合素質更高的人。
Java在技術圈的市場地位不可動搖
Java作為一門古老的語言,已有20年左右的歷史,這在發展日新月異的技術圈可以說是一個神話。雖然不少人曾抱怨Java語言就像老太太的裹腳布,又臭又長,有時寫了500行都不能表達程序員的意圖。但從市場上的招聘現狀看,Java工程師依然有著其他語言不可取代的競爭優勢。
我認為這和Java本身的語言特性不無關系。
首先,提到入門語言,很多程序員都有Java背景。在美國,作為一門大學AP計算機課程,大學生第一次接觸到的計算機語言就是Java。由于先入為主的原因,當他們學習其他新的語言時,思考時仍會受到Java的影響。
其次,Java能夠提供跨平臺兼容能力,當程序不能在多個平臺上使用時,導致問題的原因通常是可以解決的。Java程序員可以使用他們的桌面開發工具進行編碼,并部署到目標設備,如果編譯器包含了正確的庫并且使用了正確的版本,代碼就可以運行。
最后,Java在移動領域的細分市場獲得了快速發展。Android平臺從上到下都是基于Java構建起來的,而智能手機如今已經遍布在全世界。
此外,大部分企業在招聘時很怕花費大量心血招到的技術很快過時,特別是當開發一個生命周期很長的產品時,產品將很大程度依賴于開發它的程序員,如果用的是一門冷門難招人或還沒有得到市場驗證的新技術,開發這項產品的程序員一旦離職,后果可想而知。
所以Java作為一門在市場斗爭中歷經風雨而依然屹立不倒的古老語言,在招聘市場上就發揮出了它的獨特優勢。