阿里P7架構師淺談Java 的年薪 40W 是什麼水平?

做Java架構師(P7)崗位有三年時間了,期間也從事了很多招聘定級工作,來說說我見解吧。

既然樓主提到年薪40w,那我們看看什麼公司,什麼級別可以給到,再看看要求。

阿里是Java大廠,所以可以參考阿里的標準,阿里一般是16薪水,所以就是稅前2.5w,在阿里應該是P6就可以達到,而對P6的要求是什麼呢,我們內部有個簡單的概述,那就是可以獨立完成部門內部的項目,而面試過程中,也會有相應的考察。

如何定義一個人可否完成部門內部項目

代碼能力
代碼能力是基本功,Java語言本身,包括語言的各個方面包括對併發的理解,對內存使用對理解,對Java運維的理解等等。語言本身外,社區裡常用的框架是否可以十分清晰的瞭解,包括spring,包括他實現的ioc,aop,orm,web機制是否有清楚的認識,有豐富的經驗等等。對常用中間件的理解
畢竟在一個大系統中,各種中間件是是否常見的,緩存中間件,消息中間件,例如 redis、memcache、rmq這些。要理解常用中間件使用場景,使用姿勢(例如redis的常用命令),甚至包括他的一些運維。一旦出了問題,除了專門的運維人員,也需要你參與問題的排查,因為有時候這些中間件出現問題,是不當的使用姿勢引起的。架構、業務落地能力

前面提到了語言本身,各種中間件。如果你有很好的業務抽象能力和架構思維,就可以把一款部門內部產品很好的設計並實施了。這點蠻難的。想必都有過接手現有項目的經歷吧,有時候真恨不得把之前的設計者拿出來批鬥。作為一個設計者,你能否做到當下一個接手它的人會說一句,這個系統設計的真好,穩定又可拓展,理解起來也很容易。
這需要很多能力,除了對現有系統的理解,還包括對未來可能發生變化的理解溝通協作
畢竟一個部門內部產品,是不可能由一個人完成的,所以需要溝通協作,把設計好的方案,要和2-3個小夥伴一起實施,包括同樣身份的後端人員,前端人員,產品等角色。這個級別的人可能會參與帶2-3個人,例如應屆畢業等,所以你自己對知識的把握,分享精神,leadership都是很好的加分項。

總的來說呢,到這個階段,代碼真的只是你技能桶中的一個最長的,或者最長的之一。而其他軟技能,會顯得越來越重要。

對於年薪40萬的程序員,不只是技術過硬,還有一個原因是他們所在的公司福利高,或者會直接持股。在BAT中就是一個很好的案例,例如阿里巴巴P7、P8級別的員工不僅是年薪30到80萬不等,還有更多股票持有。

當然現在很多互聯網公司,只有在盈利的條件下才有資格談這些年薪幾十萬。一個小公司,或者一個私企,剛開始起步的公司是不能做到這個地步的。舉個例子,一線城市,早一個小的企業中,工資就是8K——1.5K的範圍,有工作經驗,加上自己的技術。也許會做到一個經理的位置,到時候可能年薪20萬,或者30萬不等。

1. 工作年限長,經驗豐富

這類程序員是 Topcoder 的主力軍,他們的共同特點是:10 年以上的工作經驗,在大公司當過螺絲釘,也在創業公司做過技術 leader,有過一兩段不算成功的創業經歷。這樣的程序員無論是去 BAT 還是去創業公司,都能拿到 60萬年薪以上的 offer。

2. 硅谷回國派

從硅谷回大陸的程序員同學,輕鬆達成60萬年薪。

3. 真正的技術高人

雖然前面說技術水平不是決定薪水的唯一因素,但如果技術牛到一定程度,高薪 offer 也是探囊取物

舉一個例子:傳說網絡安全大神道哥在面試阿里的時候,面試官提出這樣一個問題:你怎麼證明自己的技術水平?

然後道哥接過電腦,當著面試官的面關掉了阿里的內網。據說當時運維人員都傻了眼,內部引起一陣騷動。面試官趕緊把道哥簽了才把問題解決了。如果技術水平牛到這種境界,沒有理由會不成為 Topcoder 啊。

再來說說假如年薪超過60萬,公司養人差不多是1.5到1.7係數的成本,好歹公司不能白養你,總的賺點,綜合說你得為公司創造每年100萬以上的效益。作為以編寫軟件為生的人,你的主要貢獻是代碼在產品上能發揮什麼作用。概況點,三個作用,別人做不到的你做得到;別人做得到的,你能做的成本更低;別人做的到成本也低,你做的更好。這就是溫州商業經驗“人無我有,人有我廉,人廉我優,人優我轉”。第一個作用參考各種安全類廠商;第二個作用參考各嵌入式廠商;第三個作用參考巨頭軟企。由於你的作用,公司能夠規避各種安全風險避免損失超過100萬以上每年;由於你的作用,公司能在程控芯片上有更大的靈活度,每年成本節省100萬以上;由於你的作用,公司每年比競爭對手多賣100萬以上,你都能拿到年薪60萬以上。

對於代碼而言,任何代碼背後的努力比代碼本身更多。有的人曾經花兩年時間編寫了一個軟件,代碼不過8000行左右,公司在他身上花費超過40萬。問題是8000行的代碼,背後的軟件設計方案、算法推演仿真、數據分析的工作量換算成文字打印出來估計能有一人高,如果再加上試驗檢驗,人力物力投入更大。這麼多工作量,從8000行代碼的工作量拿1萬塊錢就夠了,背後的工作該拿39萬。再比如黑客,編寫病毒不需要多大工作量,因為病毒代碼越短小越好。但知道怎麼寫需要巨大的工作量,你得知道怎麼插入到其他程序中去,怎麼加殼,怎麼規避安全軟件等等。明白我的意思沒?任何拿高薪的程序員都是披著程序員外皮的其他職業者。比如黑客是黑客,不能因為他的工作需要編程去實現就歸為程序員;設計師是設計師,不能因為他要用編程去實現算法、架構之類的就歸為程序員;分析師是分析師,不能因為他要用編程去分析數據就歸為程序員。

綜上所述,真正意義上的程序員如果公司給不了你年薪60萬以上。但是你可以從事披著程序員外皮的其他職業,既滿足了興趣又能拿高薪.

給自己更高的要求,積極的學習,程序員年薪超過60萬不在話下。

4. 瞭解學習互聯網的最新技術

工程化、高性能及分佈式、高性能、性能調優

Spring,MyBatis,Netty源碼分析等

所以,Java程序員並不是你像的那麼好混的。再者,40,50W年薪以上走,非常的難,

但是如果突破了,又是另一片天地了,比如技術總監,技術合夥人之類的。

再來說說崗位,這些人在公司裡面都是能夠獨當一面,獨立負責一塊業務,一個模塊的設計,開發,搞定某個領域的絕大部分問題的。

在一個畢業生,或者剛開始工作的人,或者非挨踢,非金融,從事其他行業的人

看來Java程序員能有40W年薪很多,其實養家餬口一樣的過日子,還要考慮程序員“青春飯”的問題。所以趁年輕合理利用自己每一分每一秒的時間來學習提升自己,給未來的自己一個交代!

關注我:私信回覆“資料”獲取往期Java高級架構資料:Dubbo、Redis、Netty、zookeeper、Spring cloud、分佈式、高併發等架構技術