2年了,1.1w+收藏!搞 Java 的年薪 40W 是什么水平?
昨天翻看我的知乎,發(fā)現(xiàn)了一個我在 2 年前寫的回答現(xiàn)在已經(jīng)有 1.1w+的收藏了。
其實,我當時在寫這個回答的時候也才剛畢業(yè),薪資水平也遠不及 40w。真不知道是誰給我的勇氣去回答這個問題的。不過,內(nèi)容質(zhì)量大家放心,當時為了寫這篇回答,我詢問了很多已經(jīng)在 Java 領(lǐng)域已經(jīng)深耕很多年的技術(shù)大佬。
今天給大家分享一下這個被 1.1w 多人收藏的回答!

年薪 40w 已經(jīng)算很高的了,我覺得這個東西其實很難定義。有很多應(yīng)屆生憑借自己豐富的項目經(jīng)歷、不錯的學(xué)校出生、在一些含金量比較高的比賽獲獎的經(jīng)歷拿到了大廠 sp 或者 ssp 的 offer 的薪資就接近這個數(shù)了。

還有很多工作了 5 年多的 Java 程序員現(xiàn)在還拿著年薪不到 20w 的薪資。薪資水平并不能衡量一個程序員的技術(shù)水平,個人的選擇、城市的差別、公司的不同都對自身的薪資會造成很大的影響。
Java 開發(fā)應(yīng)屆生的薪資還是要比算法崗工資稍微低一點,不過,算法崗是真心卷的不行,競爭壓力太大了!
下面我就這兩個緯度來說!
對于工作了幾年的開發(fā)者來說 : 自己除了要掌握 Java 領(lǐng)域常用的知識(比如并發(fā)、常用框架、分布式、微服務(wù)、高并發(fā)、高可用)之外,還要知道常用框架的底層原理,還要對其他技術(shù)有所了解以便技術(shù)選型,還要有豐富的開發(fā)經(jīng)驗以及優(yōu)秀的排查問題的能力。另外還要具有獨立設(shè)計開發(fā)一個系統(tǒng)的能力,能夠帶領(lǐng)一個團隊協(xié)作開發(fā),合理分工。 對于應(yīng)屆生來說 : 優(yōu)秀的個人經(jīng)歷加上接近完美的通過面試(了解技術(shù)的底層知識?。?!算法必須要好!??!數(shù)據(jù)結(jié)構(gòu)信手拈來?。?!Java 后端基礎(chǔ)知識要牢牢掌握!)。
不論是校招還是社招,我總結(jié)的這份《Java 學(xué)習(xí)/面試自測指南!200+道 Java 最常見面試題!》[1] ,你們都可以拿來自測一下。
還是用數(shù)據(jù)說話吧!
先從已經(jīng)有兩年左右開發(fā)經(jīng)驗的工程師角度來看: 我們來看一下阿里官網(wǎng)支付寶 Java 高級開發(fā)工程師的招聘要求,年薪至少 40w 起步了吧!從下面的招聘信息可以看出,除去 Java 基礎(chǔ)/集合/多線程這些,這些能力格外重要:
底層知識比如 jvm :不只是懂理論更會實操; 面向?qū)ο缶幊棠芰?/strong> :我理解這個不僅包括“面向?qū)ο缶幊獭保€有 SOLID 軟件設(shè)計原則,相關(guān)閱讀:《寫了這么多年代碼,你真的了解 SOLID 嗎?》[2](我司大佬的一篇文章) 框架能力 :不只是使用那么簡單,更要搞懂原理和機制!搞懂原理和機制的基礎(chǔ)是要學(xué)會看源碼。 分布式系統(tǒng)開發(fā)能力 :緩存、消息隊列等等都要掌握,關(guān)鍵是還要能使用這些技術(shù)解決實際問題而不是紙上談兵。 不錯的 sense :喜歡和嘗試新技術(shù)、追求編寫優(yōu)雅的代碼等等。

再來看一下阿里云云原生微服務(wù)產(chǎn)品研發(fā)團隊的招聘要求,年薪肯定遠遠超過 40w!

這個的要求其實更高了!這個崗位的后續(xù)工作大概率會涉及到底層框架(比如 Apache Dubbo,Spring Cloud Alibaba)的研發(fā)。因此,它的要求更側(cè)重于你是否有底層框架的開發(fā)經(jīng)驗(會涉及到字節(jié)碼編程并且你要知道市面上的一些常用框架的底層原理)。
再從應(yīng)屆生的角度來看: 我們還是看阿里巴巴的官網(wǎng)相關(guān)應(yīng)屆生 Java 工程師招聘崗位的相關(guān)要求。

結(jié)合阿里、騰訊等大廠招聘官網(wǎng)對于 Java 后端方向/后端方向的應(yīng)屆實習(xí)生的要求下面幾點也提升你的個人競爭力:
參加過競賽( 含金量超高的是 ACM ); 對數(shù)據(jù)結(jié)構(gòu)與算法非常熟練; 參與過實際項目(比如學(xué)校網(wǎng)站) 熟悉 Python、Shell、Perl 其中一門腳本語言; 熟悉如何優(yōu)化 Java 代碼、有寫出質(zhì)量更高的代碼的意識; 熟悉 SOA 分布式相關(guān)的知識尤其是理論知識; 熟悉自己所用框架的底層知識比如 Spring; 有高并發(fā)開發(fā)經(jīng)驗; 有大數(shù)據(jù)開發(fā)經(jīng)驗等等。
從來到大學(xué)之后,我的好多閱歷非常深的老師經(jīng)常就會告誡我們:“ 一定要有一門自己的特長,不管是技術(shù)還好還是其他能力 ” 。我覺得這句話真的非常有道理!
剛剛也提到了要有一門特長,所以在這里再強調(diào)一點:公司不需要你什么都會,但是在某一方面你一定要有過于常人的優(yōu)點。換言之就是我們不需要去掌握每一門技術(shù)(你也沒精力去掌握這么多技術(shù)),而是需要去深入研究某一門技術(shù),對于其他技術(shù)我們可以簡單了解一下。
總結(jié)一下對于 Java 后端來說 40w 年薪必備的技術(shù)棧吧!

上面思維導(dǎo)圖大概涵蓋了技術(shù)面試可能會設(shè)計的技術(shù),但是你不需要把上面的每一個知識點都搞得很熟悉,要分清主次,對于自己不熟悉的技術(shù)不要寫在簡歷上,對于自己簡單了解的技術(shù)不要說自己熟練掌握!
除了自身能力,高學(xué)歷的的確更有優(yōu)勢

學(xué)校歧視很正常,真的太正常了,如果要抱怨的話,你只能抱怨自己沒有進入名校。但是,千萬不要動不動說自己學(xué)校差,動不動拿自己學(xué)校當做自己進不了大廠的借口,學(xué)歷只是篩選簡歷的很多標準中的一個而已,如果你夠優(yōu)秀,簡歷夠豐富,你也一樣可以和名校同學(xué)一起同臺競爭。
企業(yè) HR 肯定是更喜歡高學(xué)歷的人,畢竟 985,211 優(yōu)秀人才比例肯定比普通學(xué)校高很多,HR 團隊肯定會優(yōu)先在這些學(xué)校里選。這就好比相親,你是愿意在很多優(yōu)秀的人中選一個優(yōu)秀的,還是愿意在很多普通的人中選一個優(yōu)秀的呢?
雙非本科甚至是二本、三本甚至是專科的同學(xué)也有很多進入大廠的,不過比率相比于名校的低很多而已。從大廠招聘的結(jié)果上看,高學(xué)歷人才的數(shù)量占據(jù)大頭,那些成功進入 BAT、美團,京東,網(wǎng)易等大廠的雙非本科甚至是二本、三本甚至是??频耐瑢W(xué)往往是因為具備豐富的項目經(jīng)歷或者在某個含金量比較高的競賽比如 ACM 中取得了不錯的成績。一部分學(xué)歷不突出但能力出眾的面試者能夠進入大廠并不是說明學(xué)歷不重要,而是學(xué)歷的軟肋能夠通過其他的優(yōu)勢來彌補。 所以,如果你的學(xué)校不夠好而你自己又想去大廠的話,建議你可以從這 3 點來做:
盡量在面試前最好有一個可以拿的出手的項目; 有實習(xí)條件的話,盡早出去實習(xí),實習(xí)經(jīng)歷也會是你的簡歷的一個亮點(有能力在大廠實習(xí)最佳!); 參加一些含金量比較高的比賽,拿不拿得到名次沒關(guān)系,重在鍛煉。
建議還在學(xué)校的學(xué)弟學(xué)妹們一定要好好學(xué)習(xí),操作系統(tǒng)、計算機組成原理、計算機網(wǎng)絡(luò)真的不是沒有實際用處的學(xué)科!??!
相關(guān)回答:
作為軟件工程專業(yè)或者計算機科學(xué)與技術(shù)專業(yè)畢業(yè)的學(xué)生,讓你大學(xué)四年重頭再來,你會如何安排你的大學(xué)四年?[3] 計算機學(xué)院的學(xué)生該怎樣提高自己的編程能力?[4]
Leetcode 算法題也要盡快刷起來,面試中的手撕算法環(huán)節(jié)是必備的。相關(guān)閱讀:刷 LeetCode 吃力正常嗎?[5]
參考資料
《Java 學(xué)習(xí)/面試自測指南!200+道 Java 最常見面試題!》: https://www.zhihu.com/question/443280657/answer/1764353783
[2]《寫了這么多年代碼,你真的了解 SOLID 嗎?》: https://insights.thoughtworks.cn/do-you-really-know-solid/
[3]作為軟件工程專業(yè)或者計算機科學(xué)與技術(shù)專業(yè)畢業(yè)的學(xué)生,讓你大學(xué)四年重頭再來,你會如何安排你的大學(xué)四年?: https://www.zhihu.com/question/426053091/answer/1543874706
[4]計算機學(xué)院的學(xué)生該怎樣提高自己的編程能力?: https://www.zhihu.com/question/423764018
[5]刷 LeetCode 吃力正常嗎?: https://www.zhihu.com/question/31092580/answer/1534887374
歡迎準備面試的朋友加入我的星球,一個純 Java 面試交流圈子 !Ready!。目前星球已經(jīng)更新 3 個原創(chuàng)小冊:《Java面試進階指北》、《從零開始寫一個 RPC 框架》 、《程序員副業(yè)賺錢之路》。累計幫助 520+ 位球友提供了免費的簡歷修改服務(wù),回答了 500+ 個問題,產(chǎn)出了 1300+ 個主題。
推薦?? :1049天,100K!簡單復(fù)盤!
推薦?? :Github掘金計劃:Github上的一些優(yōu)質(zhì)項目搜羅
