-
1 # susugz
-
2 # IT人劉俊明
目前年薪達到40W的Java程式設計師大致從事以下幾方面的工作:
大型網際網路公司的主力程式設計師。這部分人需要掌握Java高效能程式設計的一系列知識,具備專案整體規劃及設計能力,能帶隊完成重要功能模組的開發工作。這部分程式設計師的成長路線大多是伴隨著公司業務的發展而成長起來的,一些具備較強學習能力的程式設計師能夠及時更新自己的知識結構以便於跟上企業的發展速度。這部分程式設計師的工作能力較強,執行力較強,是企業值得信任的技術骨幹人員。在一些市場競爭力較強的網際網路公司中,這部分程式設計師的人數還是非常可觀的。
大型科技公司的技術專家。這部分人需要對某一領域有深入的研究並有一定的成果做為支撐。通常大型科技類公司都會有一個較為可觀的技術專家團隊,這些技術專家都有擅長的領域,是公司解決關鍵問題的核心競爭力。這部分技術專家的成長路線也有多種方式,比較普遍的現象是學歷高、成果多、資歷深,要走這條路線需要程式設計師進一步進修。
諮詢顧問。這部分人可能就職於大型諮詢公司,也可能是獨立諮詢人。憑藉對行業領域的深入瞭解,能為行業企業提供專業的資訊諮詢服務,這裡面有很多人都是從Java程式設計師走出來的。在做程式設計師期間對行業流程有深入細緻的瞭解,有一整套完整的解決方案。這部分人需要較強的溝通能力,對英語口語有一定的要求,通常需要跟不同地區的程式設計師進行溝通。要走這一路線的程式設計師需要提高自己的英語水平,同時深耕自己的開發領域業務知識。
人才稀缺的領域。目前做大資料、人工智慧等領域的程式設計師工資水平都相對較高,比如做大資料的Java程式設計師就比較容易能獲得年薪40W的薪資待遇。這就要求程式設計師有較強的學習能力,能夠順應時代的發展來更新自己的知識結構,進而獲得更多高薪的機會。
以上這些職位通常都能達到年薪40W甚至更高,而且人數相對比較可觀。還有一部分Java程式設計師年薪較高,比如在小型創業企業擔任CTO,或者技術合夥人等等。
-
3 # java高階
01
閱讀原始碼
程式設計師每天都和程式碼打交道。經過數年的基礎教育和職業培訓,大部分程式設計師都會「寫」程式碼,或者至少會抄程式碼和改程式碼。但是,會讀程式碼的並不在多數,會讀程式碼又真正讀懂一些大專案的原始碼的,少之又少。這也造成了很多錯誤看原始碼的方式。
那要如何正確的分析原始碼呢?
我們的目標應該放在最常用的框架上面,下面就介紹兩個:一個是Spring,另一個是大家用來覺得一直不怎麼出問題的Mybatis。
△spring原始碼
△mybatis原始碼
02
分散式架構
隨著我們的業務量越來越大和越重要,單體的架構模式已經無法對應大規模的應用場景,而且系統中決不能存在單點故障導致整體不可用,所以只有垂直或是水平拆分業務系統,使其形成一個分散式的架構,利用分散式架構來冗餘系統消除單點的故障,從而提高整個系統的可用性。同時分散式系統的模組重用度更高,速度更快,擴充套件性更高是大型的專案必不可少的環節。
03
微服務
關於微服務架構的取捨
在合適的專案,合適的團隊,採用微服務架構收益會大於成本。微服務架構有很多吸引人的地方,但在擁抱微服務之前,也需要認清它所帶來的挑戰。需要避免為了“微服務”而“微服務”。微服務架構引入策略 – 對傳統企業而言,開始時可以考慮引入部分合適的微服務架構原則對已有系統進行改造或新建微服務應用,逐步探索及積累微服務架構經驗,而非全盤實施微服務架構。04
效能調優
我們不僅僅對專案要運籌帷幄,還要能解決一切效能問題。只有深入學習JVM底層原理,Mysql底層最佳化以及Tomcat調優,才能達到知其然,知其所以然的效果。除了效能最佳化之外,也能提供通用的常見思路以及方案選型的考慮點,幫助大家培養在方案選型時的意識、思維以及做各種權衡的能力。
05
開發工具工程化
透過一小段描述資訊來管理專案的構建,報告和文件的軟體專案管理工具。程式設計師的戰鬥,往往不是一個人的戰鬥,我們如何在一個平臺下高效的去重,進行程式碼review,對功能進行調整,debug,做到在統一的規劃下步步為營,混亂的堆程式碼的過程中找到自己的記錄。這一切都依賴於有效的工具。
06
專案實戰
要想立足於網際網路公司,且能在網際網路浪潮中不被淹沒,對於專案的開發實戰演練是不必可少的技能,也是對自身能力的一個衡量,有多少的量對等於獲得多少的回報。看似簡單的一個專案需求圖譜,其中的底層原理,實現原理又能知道多少?你搭建一個完整的B2C專案平臺到底需要多少知識?這一切都是需要我們考量的。
-
4 # 城市微觀
一句話總結:知識、技能弄紮實,進大廠(百度騰訊阿里等)
我們來簡單算一下,假如算14薪,那麼平均一個月就是40/14=2.86萬,這個價格絕大部分公司都給不了,不過對大廠卻差不多是起薪。而其他非一流公司給的了得話也得是架構師、極厲害的高階開發工程師才有可能,而且工作年限起碼五年以上。
1.學歷。你有很牛的學歷,這個是很好的敲門磚,一般大點的公司尤其重視這個,可以說如果你學歷低了,可能連面試資格也沒有。
2.能力。這個是根本,如果說學歷是敲門磚,那麼能力才是根本,你有高學歷只不過是比別人多了機會,但能力低了也沒用。一般培訓機構四個月可以培訓出一批程式設計師,可以說JAVA行業已經嚴重飽和。但…對於能力很強的程式設計師還是嚴重不足的,所謂的能力如下:JAVA基礎紮實(集合、多執行緒、設計模式、網路程式設計、演算法),必須要了解一些底層原理,越多越好、常用中介軟體要了解並深刻理解(搜尋引擎、快取、訊息佇列等)、關於分散式微服務方面的要有使用經驗。
3.簡歷。如果你覺得能力夠了,那麼好的簡歷就很重要了,推薦果汁簡歷(我跟他們沒關係,我只是覺得還不錯)。
最後,祝你早日實現願望。
-
5 # 非遺茶話會
關鍵詞:一線城市、頭部企業、資深員工
為了回答這個問題,我統計了身邊10個同事的工資、工作年限、所在城市和公司級別,見下表
說明:
所有人都確有其人。但為了保護隱私,隱藏了同事姓名;基本都不是專職Java開發。包括C開發、運維開發、運維、技術管理等職位;為了不被告,隱藏了公司名字;年薪是包含了股票和年終,估算值。相信我,我可能比他們自己算的還準些;公司級別:可以把一線公司也試做和BAT同級的公司,這家公司經常宣稱比BAT待遇好。相信我關於公司級別的劃分,畢竟我也從事網際網路行業十三年了,什麼鬼都見過從圖可見影響收入最大的,還是所在城市。這一點可能從上表中不能很好體現。我舉個例子:同樣的一家二線公司(上表中提到的),在深圳也有分部,深圳員工的起薪四高於武漢的。原因很簡單:如果和武漢工資一樣,基本上找不到合適的人其次,是公司級別。再其次,是崗位性質——是否管理崗;最後,是工作年限;可以看到,有兩條路徑比較方便達到年薪40W。進入頭部企業,不用千年的媳婦熬成婆,熬成孩子他媽就差不多了;進入二線企業,熬。這個光熬成孩子他媽還不夠,得再多熬幾年;最後,忠告一點。要會談薪,要有耐心。我有幾次跳槽就是沒等到好機會,談薪都不理想,結果被倒掛得難受。談薪一是要等合適的機會,二是要熬得住。如果只是簡單地要多賺點錢,大部分時候,耐心都要比進取心重要。
回覆列表
技術能達到資深或者專家,能夠解決問題獨當一面。這個主要是能力水平。要達到這個在工作中主要有幾個點要好好學習或者注意的。(本人目前處在這個階段,簡單說下自己的經歷)1、技術積累,每天會抽時間看技術相關的書籍,補充技術的不足(這個點並不是要求必須看工作直接使用的技術,比如說我用java我會看大資料相關的,架構相關的還有系統相關的)除了補充技術也要擴充套件知識面。2、學習方式,知其然知其所以然,這個實現起來並不難,在技術上我們能聽到一句話存在即合理,說的直白點現有的一些實現或者框架必定能適合一些場景解決一些問題,我們在看到這部分內容時多問為什麼,他存在的意義解決什麼問題(比如執行緒池我們知道有fixed和cache的執行緒池他們各自有什麼特性,為什麼要這兩個?他們能解決什麼問題)帶著問題去看技術,這樣能夠形成自己對技術或者框架的方法論,這個挺重要的年薪達到這個階段基本上是資深或架構了,要有自己對技術的見解。3、工作態度問題,少一些抱怨,多問問自己想要什麼,這個可以說一下我的方式,在公司做事情肯定遇到不如意或不開心的事情,這個時候問問自己想要什麼,更直接的就是我要掙很多錢,目前公司能不能給我(一般都不行),接下來想想我能不能之後掙很多錢(當前公司是否對你的能力有提升),不要動不動想著離職,這個對個人非常不好。最後看看自己值多少錢,我每年都會出去面試,看看外面公司要求什麼技術,自己有沒有什麼不足,其他公司開出的價碼,對自己有一個直觀的認識。