如何成為一個成功的Java開發工程師?
每個人對成功的理解標準的不一樣,對于司機而言,把車開好,養家糊口,就是成功;而對于公司員工,把領導交代的任務保質保量完成,就是成功;對于一個Java開發工程師,成功的概念也比較寬泛。
往小了說,完成上司交辦的任務,順利拿到工資,就叫成功;往大了說,不滿足于CRUD,而自我學習,掌握更多的技術知識,幫助他人,稱為高級開發工程師,也是成功;再往高了說,更進一步,擴展視野,多元融合,上下協調,稱為管理者,更為成功。
我想題主既然有此一問,想必是必不滿足于前兩種情況。
而要想達到最后一種境界,路途也并不平坦。
基礎知識正所謂基礎不牢,地動山搖。任何高樓大廈,必有一個根深蒂固的地基在支撐。做開發,更是如此。Java基礎,知識也不少。數據結構、面向對象、運算符、運算級別、繼承、多態、接口、IO、多線程、網絡編程、圖形界面等,都需要我們一一熟知并牢記,可以說,并不容易。
擴展知識只了解了Java的基礎知識就可以了嗎?答案是否定的。既然是開發,勢必跟電腦打交道,那么電腦的相關知識,如CPU、內存、硬盤、操作系統原理、CPU指令集原理,也必須有所了解。同時,還需要了解匯編原理,數據庫理論知識、數據結構原理等等。正是有了這些內容,才孕育了JVM,不然,JVM無法運行。
進階知識有了上面的基礎,應對基本項目開發工作,可以做是得心應手了。一般性的業務需求,都難不住。此時,我們就要有意識的開始了解相關框架,架構方面的知識。如Spring、Spring Security、Spring Security CAS、Spring Security OAuth2、Dubbo、Zookeeper、ribbon等。架構方面,就要重點了解并掌握分布式、微服務相關方面的知識了。例如,如何保證分布式事務一致性?如何做好分布式異構系統之間的數據協同?如何從單體應用到微服務架構落地?等等等等,最終就一句話,到了搞架構的時候了。
當然,架構也不是如此簡單,還要了解NoSql、MQ等等的相關知識,如Redis、RocketMQ、kafka等。
當然了,還有更多的框架、中間件方面的知識點,只要有需要,都可以去了解一下,以備后用。
高級進階框架方面的知識掌握好之后,想必已經可以順利成長為一名合格的架構師了。然而,知識是無窮無盡的。此刻,想必你已經有了更高的目標,已經不限于要做個架構師了,而是想自己開發的軟件能被更多人用到,稱贊,先得到更多的榮譽。其實,此時可以有多個分叉口,你可以學習一些管理方面的知識,轉型做一個管理者。也可以繼續技術方面的造詣,稱為資深大牛,做中間件,做應用軟件,服務大眾。也可以帶人,傳道解惑。怎么做,看自己選擇。
適合自己的,就是最好的,做好了,就是成功!希望大家都能做適合自己的事情,都能所向披靡,奔向成功!