最課程 · 程式 ·

你具備幾個?|那些年薪40W以上的程式設計師,共同具備的12個要點

作為Java小白究竟該如何才能成長為一名優秀的Java程式設計師而不是一個優秀的碼農呢?下面的12個要點可以讓你在眾多Java開發人員中脫穎而出。

1.紮實的基礎和深刻理解 OO 原則

對於Java程式設計師而言,紮實的基礎是必不可少的,基礎的牢固程度決定了Java這條路你能走多遠。就像蓋房子,你的地基打得越好,後期你的樓房會高過其他人,這是一樣的道理。

在Java中,面向對象思想是這門語言的核心,所以重點是要深刻理解Object Oriented Programming(面向對象編程)這一概念。但是只學習OO(面向對象)原則的定義用處並不大,關鍵是要領悟面向對象語言的思維方法,要學會如何應用這些原則並運用面向對象的方式去設計解決方案。

因此,我們應該對對象建模、繼承、多態、封裝、設計模式、多線程及並發有一個全面的學習與掌握。

2.掌握核心API

如果你不知道語言結構和核心API(目的是提供應用程式與開發人員基於某軟體或硬體得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節),那麼即使你在理論知識上再怎麼彪悍也是獨木難成林。

在Java中,我們最好能對核心API,如I/O、異常、集合、泛型、線程、JDBC等有很強的實戰經驗。要是涉及到Web應用的開發,無論你使用的是與Servlet有多大關係的框架,JSP都是必須的。

3. 保持編程習慣

保持編程習慣,即動手能力。陸游曾說過,「紙上得來終覺淺,絕知此事要躬行」。

從理論上想出一個解決方案很簡單,但是真到了實施的時候,才會意識到問題有多難實施中,在所有的bug和error都搞定之前,有很多的編譯工作要做。此時,你才會明白編碼過程中存在的語言限制,從而設計出最好的實踐方案。因此,保持編程習慣,也就是說要堅持不懈,要有韌性,要勤於動手練習。

4.閱讀開源框架的原始碼

好的開發人員總知道如何使用框架,當然成長為這一步必須有前期的積累,對框架的掌握熟練,這些也是遠遠不夠的。如果你想成為一個優秀的開發人員,那麼你需要研究各種成功和流行的框架原始碼(如:核心框架Spring,MVC框架Spring MVC,ORM框架MyBatis,Spring Boot等),去了解它的內部工作機制和最佳實踐形式,這是一種高效的使用框架的方法。

5.了解相關技術的發展趨勢

在開源環境中,軟體開發技術總是在不斷發展變化。現在所謂的新框架,可能很快就會過時,甚至於淘汰。所以要學會不斷進步,持續給自己充電,除了掌握現有的框架並熟悉工作機制以外,多多關注新的框架的衍生,例如Spring MVC,Spring Boot。在技術的疊代中,很有可能當前框架上解決不了的問題,可能在新框架上就不再是問題。所以要時刻注意著新事物的誕生和舊事物的消亡。

6.了解不同的開發方法

熟悉不同的開發方法,例如Agile、SCRUM、XP、Waterfall等等。現在,選擇哪種開發方法是由客戶說了算的。有的客戶偏好Agile,而有的則更喜歡Waterfall模型。所以對各種方法都能有所涉獵絕對讓人刮目相看。

7.編寫程序文檔

許多程式設計師認為代碼才是最關鍵的,但是在代碼旁邊添加恰當合理的注釋會提供很大的便捷,無論是對自己還是對後來人。如果不添加注釋,很多自己寫過的代碼,過一段時間返回去看的時候,很可能自己都不知道是什麼,或許有一點模糊的印象,但是要慶幸是你自己寫如果是別人寫的,又如何看得懂。這應該是工作中的一個小習慣的養成,這樣不僅方便自己,對公司也有益。

8.全局性思維

就算你是普通的Java工程師,如果你想要成長的話,就要把自己從代碼的世界,從螺絲刀的位置抽出來,置換到全局思考的位置,鍛鍊自身的全局性思維。

因為現代項目的開發,很少說只用到一兩種技術的,特別是移動網際網路大潮下。隨便一個網際網路項目中用到的技術,就會需要用到後端開發、前端開發、界面設計、產品設計、資料庫、各種移動客戶端等等,甚至一些比較前衛的項目,可能會用到Single Page Application、Web Socket、HTML5/CSS3這些技術,還有像第三方開發像微信公眾號微博應用等等。

所以說一個現代化的項目,是一個非常複雜的構成,對於一個團隊特別是網際網路企業來說,有一個全局性思維的人非常重要。

9.學習能力

學習能力的定義很廣泛,在此我們所說的學習能力就是把新知識融入已有的知識、從而改變已有知識結構的能力。

作為一個Java工程師,學習能力是你的核心競爭力。

如今網際網路技術發展太快,基本每3年就更新一次,要想不被淘汰,你應該不斷地學習新知識,努力提升學習能力,保持技術水平能跟上技術革新的步伐。

10.關注主流技術論壇

我們並非踽踽獨行者。很多人都和我們一樣在研究著相同的技術。只是對某個框架概念做驗證是不難的,但是當你將這些概念應用到實際的項目中時,那麼各種各樣的問題,各種在官方文檔上找不到解決方法的難題就會接踵而來,所以我們有必要訂閱相關的技術社區論壇來拓展知識的寬度以及深度,以便我們在遇到技術難題時能很快獲得解決辦法。

下面我們推薦一些比較主流的技術社區。

國內的推薦:

  • 51CTO技術論壇 http://bbs.51cto.com/ 聚焦企業級IT技術及應用。

  • 博客園 https://www.cnblogs.com/ 有些優秀的博客可以關注,質量挺高的

  • CSDN論壇 http://bbs.csdn.net/home 擁有全球最大的中文IT技術社區。

  • 開源中國社區 http://www.oschina.net/ 有開源軟體庫、代碼分享、資訊、討論區。

國外的推薦(英文要好喲~):

  • http://www.github.com 找開源項目必去的網站。

  • https://stackoverflow.com/ 這是一個與程序相關的IT技術問答網站。

11.追博客並附上自己的評論

正如前一點所說的,並不是孤獨的技術者。成千上萬來自世界各地的技術愛好者將他們的技術見解發表在博客上。在博客上我們可以找到很多相同技術的不同觀點。有人會覺得這是一個強大的技術功能,而有的人可能會覺得這是一個愚蠢的框架,仁者見仁智者見智。所以對於同一種技術你會在博客中聽到兩種不同的聲音。看到好的博客可以寫點自己的看法回復在評論上。通過這樣的交流,不同意見的交換,不同想法的碰撞,一點點促使著你的進步,逐步積累,要相信量變勢必會產生質變的。

12.學會總結

學會總結,總結我們學習到新的東西,新的做事方法、實踐形式和架構理念。可以將這些想法記錄到文檔或者博客中,分享給大家,也可以以寫日記的方式記錄。

因為你現在解決問題的方法可能正是世界上另一個角落另一個開發人員「尋尋覓覓上下求索」的難題,你的分享將完全不亞於一場久旱的甘霖。

總而言之,想向上發展成為一名優秀的Java工程師,就不單單是敲代碼,需要學會思考很多方面的問題,例如善於總結問題並提供解決方案,認真與PM交流需求等等,這些都是一個優秀的Java工程師所具備的條件。

聲明:文章觀點僅代表作者本人,PTTZH僅提供信息發布平台存儲空間服務。
喔!快樂的時光竟然這麼快就過⋯