阿里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工程師朋友們加入Java進階架構學習交流:952124565
群內提供免費的Java架構學習資料(裡面有高可用、高併發、高效能及分散式、Jvm效能調優、Spring原始碼,
MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)