Java開發人員必須深入理解面向對象編程。若是沒有面向對象編程的堅實基礎,就沒法感覺到像Java這樣的面向對象編程語言的美感。 若是你不太瞭解現象對象編程是什麼,即便你使用的是面向對象編程語言,你仍可能會面向過程進行編碼。僅研究面向對象原則並無太多的幫助, 咱們應該知道如何使用面向對象的方式應用這些原則來設計解決方案。 所以咱們須要擁有豐富的對象建模,繼承,多態,設計模式等方面的知識。java
若是你不瞭解語言結構和核心API,那麼不管你在在理論知識方面有多強大也是枉然。對於Java語言,開發者對核心的API應具備很是豐富的實踐經驗,如java.lang.*包,I/O,異常,集合,泛型,線程,JDBC等。當涉及到構建Web應用程序時,不管你使用哪一個框架,瞭解servlet和JSP的概念是必須也是相當重要的。編程
僅僅從理論上來看事情比較簡單。咱們能夠在理論上很是容易地解決問題。可是當咱們開始實現這些內容時咱們才認識到問題的深度。在這個過程當中你將瞭解到語言限制,或在編碼時設計最佳實踐。 因此須要你持續編碼。設計模式
在技術上咱們並不孤單,在論壇上會有不少人在使用着與咱們同樣的技術。雖然在框架上進行簡單的概念驗證對你來講並無什麼挑戰,但當你開始在實際項目中使用它時你將面臨各類奇怪的問題,而且這些問題在其官方文檔中根本找不到任何解決方案。在你開始使用新的技術時,第一件事就是訂閱相關的技術論壇。不管你遇到什麼問題,世界上其餘人均可能已經遇到過並找到了解決方案。若是你能回答其餘論壇用戶提出的問題那就更好了。架構
就如我上面說的你並不孤單,全世界有成千上萬的熱心技術狂熱者在博客上發表他們對技術的看法。你還能夠從其餘博客和開發人員那裏得到有關相同技術有價值的觀點。有些人可能會發現特定的框架特徵很是有用,而其餘人可能會發現這些特徵是愚蠢而毫無心義的,給出了他本身爲何會這樣認爲的緣由。所以你能夠看到使用這些工具的其餘開發人員的好與壞。經過查看其餘博客得到價值的另外一種方法是回覆你的觀點或是提出本身的問題。框架
一個合格的開發者學習如何去使用框架,但若是你想成爲一個優秀的開發者則還須要研究各類流行的優秀的框架源碼。從這些框架源碼中你能夠知道框架內部的運行機制及其最佳實踐。同時這將對使用框架有很大的幫助。編程語言
目前開源軟件項目愈來愈多,開源趨勢愈演愈烈。當你對使用某個框架有個好想法時,它有可能已經變得過期-由於一些新框架包含的功能是該框架提供的功能的超集。另外你在使用的框架中須要解決的問題或許在新的框架中僅使用一行配置便可解決。因此密切關注技術圖譜中的技術哪些將會崛起,哪些將會過期。工具
隨着時間的推移,你可能須要反覆寫入/複製粘貼相同的代碼/配置。能夠保留像log4.properties,JDBC配置等配置文件,或者像StringUtils,ReflectionUtils,DBUtils等實工具將更有幫助。我知道這可能自己不會讓你成爲優秀的開發者。可是想象一下,一些合做開發人員要求你幫助從集合對象中獲取屬性值列表,而後你只需使用ReflectionUtil在幾分鐘內提供解決方案:這將使你更加優秀。學習
熟悉Agile、SCRUM、XP、Waterfall等各類開發方法。選擇何種開發方法取決於客戶,一些客戶喜歡敏捷,另外一些客戶對瀑布模型更中意。因此開發者對各類開發方法有所瞭解將是一個加分項。編碼
在平常工做中,你能夠學習新的更好的作事方式,以及最佳實踐,架構理念等。記錄這些想法,發佈博客,在社區中分享。想象一下你解決了一個在作簡單的POC時發生的奇怪的問題並在博客上記錄下這個問題。也許世界上其餘的開發人員在生產部署的應用程序上也遇到了一樣的問題,這時候你的這個解決方案對他們將是多有價值。因此用博客記錄本身的思考,這將在之後的某天可能會對他人或本身有所幫助!線程
9月福利,關注公衆號 後臺回覆:004,領取8月翻譯集錦! 往期福利回覆:001,002, 003便可領取!