畢業3年,Java程式設計師年薪拿到20萬,是怎麼做到的?

我15年專科畢業,到今已有3個年頭。期間入職過兩家公司。

很多次學習技術,都是走到臨門一腳,然後就沒有往下了。我和大牛之間的差距就是,別人看完了源碼,而我只是會用。

這是我20170412做的一次筆記,最後記住就是有多少種設計模式

畢業3年,Java程序員年薪拿到20萬,是怎麼做到的?

系統的瞭解一下, 是這樣的。

畢業3年,Java程序員年薪拿到20萬,是怎麼做到的?

然後這樣的

畢業3年,Java程序員年薪拿到20萬,是怎麼做到的?

有幸閱讀了《刻意練習》這本書,收穫的3大技巧

第一步:走出舒適區

第二步:尋找導師

第三步:刻意練習

Java程序員學習要求:

分佈式、Spring MVC、Spring Boot、Spring Cloud、ZooKeeper、Kafaka、Redis、MQ。

基本就是兩招:

1. 用到哪塊學通哪塊,要學精還是有難度的,第一二次上夠用就行,任何知識都架不住多用啊,第三次之後逐一吃透即可。(不要急,也不要求多,這就是我的心態)

2. 多買一些基礎書籍,我一般喜歡多看數目錄,選擇其中看不懂的反覆讀。

現在最主要的是吸收JAVA的思想和深度理解JAVA企業開發的優勢和弊端。

臨淵羨魚,不如退而結網

第一家是為"用友"集團做ERP外包的軟件公司。那時候,對於大部分專科生來說,畢業不失業,那就算走上正軌了。

這樣從事ERP開發的公司,已經有了一套自己成熟的大型軟件框架系統。自己在校瞭解學習的spring,hibernate等框架並沒有得到實踐的機會。反而因為數據庫SQL的通用性,被安排了一份根據報表需求,專門寫SQL的工作,就這樣入職培訓1個月後,順利上崗。

那會兒自己只會"select * from emp",能用到分組查詢"group by" ,就感覺很深入了。可是,甲方的需求不可能這麼簡單,各種複雜查詢"啪啪啪"得打臉。沒有人帶,沒有人問,面對項目負責人每天的怒罵,只能自己上網搜資料。磕磕絆絆,解決了連表查詢,多字段排序,去重,合併等,感覺自己能力增長了不少,有點小膨脹,開始想"我要打十個!!"。甲方沒有辜負我的內心想法,順利完成前幾個任務後,工作量開始陡然變大。之後的2個月,每天聯繫甲方的經理,瞭解業務;詢問老同事,查詢數據字典,瞭解字段含義,就這樣,完成了人生工作裡第一個項目。

回想這段工作經歷,我覺得我最大的收穫就是:學會了自己嘗試解決問題的能力,而不是面對問題,變得不知所措。雖然效率不理想,但邁出了第一步。如果再深入總結一下,不足之處還有很多。比如:當自己的技能不能勝任工作需求,除了第一時間,學習關鍵技能(可以向人請教,上網查找),完成工作需求。還應該在課後系統的回顧一下知識點。比如買本書,把基礎示例上機敲一遍,我相信,對已經會的內容,你會有新的認識。而不會的,將加入你的技能樹中。

之後團隊(10來個人)領導內部鬥爭,拉幫結夥,每天上班並沒有很多的工作。我對比一起出來的小夥伴的情況,認為自己的能力和薪資都不會有提高,在入職6個月時,提出了離職。

第二家公司是一家創業小公司(12個人左右),但是公司偏硬件(嵌入式開發:電路板設計,生產,配套驅動等全做),為之服務的軟件也是以.NET為主。他們招我進去的職位是java開發工程師,算是填補了web開發方面的空白,在這家公司一直任職到現在。

入職後,先是接手了一個小型Java SE就能做的server項目,同時使用的數據庫也從上一家的Oracle變成了MySQL。該項目技術點有基本io,線程,jdbc,JNA(連接硬件c++庫),WebService(與C#端做RPC通信)。這個項目同樣,沒有人交流詢問,因為他們也不懂。查詢資料期間瞭解到了CSDN,博客園,開源中國等知名網站。經過一個半月,第一個小版本聯調成功,當時成就感滿滿,跑了大半年幾乎沒問題。

接下來一直做的都是WEB開發的項目,從簡單的前端頁面到後臺應用服務,都由自己完成。因為業務原因,都是類似的"XXX管理系統"。幾個項目上線後根據客戶需求,一直在維護。接連幾個項目上線,並沒有發生什麼問題,讓我在公司也得到了一份肯定。而我那段時間也安於現狀,每天過著"三點一線"式的生活。今年年初,我漸漸意識到了問題。

由於公司業務和當下流行的互聯網技術(高併發處理,分佈式處理等)完全不搭,且"XXX管理系統"這樣的軟件同時使用的人數不多,併發訪問這種問題幾乎沒有。一方面,自己平時會瀏覽CSDN這樣的網站,"高併發","虛擬化","XX解決方案"這樣高大上的文章點進去,發現自己看不懂的,有些關鍵詞都不瞭解。一方面,自己回顧自己掌握的技術,也僅僅是SSM和數據庫的使用。對linux,虛擬機,版本控制,工程化管理,nosql,集群等根本沒有很多深入的認識,再次放大了危機感。

我認真思考了所面臨的問題,決定靜下心,放下那種"著急"的感覺,從頭開始學習。從《Java技術核心-基礎知識》開始查漏補缺,結束以後開始看Java Collection框架,自己翻源碼,使用uml工具畫繼承圖。從最簡單的ArrayList開始,帶著網上的結論"ArrayList內部維護的是數組"的結論,看每一個方法的實現原理。看著自己明白了以前不曾去想的實現原理,也拾起了信心。接下來通過學習tomcat的實現過程,對servlet有了進一步的認識。

一次偶然的機會,在網上看見了小馬哥的《理解Java內省機制》。內省?是什麼?當時的我一臉懵逼,難道之前的java白學了?點進去一看,哇,原來除了反射,java還有這種機制!也正是這次,小馬哥那種三言兩語就能將複雜原理說清楚的能力,讓我再次認識了java!期間從NIO,到手寫IOC。雖然自己會使用,但每一次都有新的收穫!

那如何學習才能快速入門並精通呢?

當真正開始學習的時候難免不知道從哪入手,導致效率低下影響繼續學習的信心。

但最重要的是不知道哪些技術需要重點掌握,學習時頻繁踩坑,最終浪費大量時間,所以有一套實用的視頻課程用來跟著學習是非常有必要的。

為了讓學習變得輕鬆、高效,今天給大家免費分享一套阿里架構師傳授的一套教學資源。幫助大家在成為架構師的道路上披荊斬棘。

這套視頻課程詳細講解了(Spring,MyBatis,Netty源碼分析,高併發、高性能、分佈式、微服務架構的原理,JVM性能優化、分佈式架構)等成為架構師必備的內容!

畢業3年,Java程序員年薪拿到20萬,是怎麼做到的?

後臺私信回覆“Java” (不是評論區)就可以馬上免費獲得這套價值一萬八的內部教材!

最後,做一個愛思考,懂思考,會思考的程序員。


分享到:


相關文章: