華文網

Java進階之路——如何從程式師到架構師,從碼農到專家

怎樣學習才能從一名Java初級程式師成長為一名合格的架構師,或者說一名合格的架構師應該有怎樣的技術知識體系,這是不僅一個剛剛踏入職場的初級程式師也是工作三五年之後開始迷茫的老程式師經常會問到的問題。

希望這篇文章會是你看到過的最全面最權威的回答。

一、 JAVA。要想成為JAVA(高級)專家肯定要學習JAVA。一般的程式師或許只需知道一些JAVA的語法結構就可以應付了。但要成為JAVA(高級) 專家,您要對JAVA做比較深入的研究。您應該多研究一下JDBC、IO包、源碼分析、高併發、JMS、Spring、RMI、執行緒。如果可能,希望您 對JAVA的所有包都流覽一下,知道大概的API,這樣您就發現其實您想實現的很多功能,

通過JAVA的API都可以實現了,就不必自己費太多的腦經 了。

二、 設計模式。其實寫代碼是很容易的事情,我相信您也有同感。但如何寫得好就比較難了。這個“好”字包括代碼再使用性,可維護性,可擴展性等。如何寫出好的代 碼往往要借助一些設計模式。當然長期的代碼經驗積累,只要您用心,會使您形成自己代碼風格。相信您的代碼也比較符合代碼的再使用性,

可維護性,可擴展性。 但既然前人已經給我們總結出了經驗,我們何不踩著前人的肩膀前進?

三、 XML。現在的系統中不使用XML幾乎是不可能的。XML的功能非常強大,它可以做資料轉換、做系統的配置、甚至可保存您的系統業務資料。因此您必須瞭解 XML,包括它的語法,結構。您還需要比較熟練的使用解析XML的一些API,比如JDOM,SAX等,因為在我們一般的項目中,XML往往擔當系統組態 資訊的作用,您需要用這些API解析這些配置資訊,

開發完美的專案。

四、 精通使用一種或兩種框架。像在《如何成為高薪架構師》中提到的那樣,“框架都會有許多可重用的代碼,良好的層次關係和業務控制邏輯,基於框架的開 發使你可以省出很多的開發成本”。但我這裡希望您能精通,更多的是希望您能通過框架的使用瞭解框架的思想。這樣您在開發一個專案時思路會開闊一些,比如您 會想到把SQL語句與您的JAVA代碼分開,

再比如您會考慮把您的業務邏輯配置到XML或者資料庫中,這樣整個專案就很容易擴張了。

五、 熟悉主流資料庫。其實真正比較大的專案都是有人專門做資料庫的,但往往很多專案要求作為(高級)工程師的您也參與資料庫的設計以及SQL的編寫。所以為了 更好的為國家做貢獻,建議您還是多瞭解一些主流資料庫,比如SQLSERVER,ORACLE,多連接SQL和存儲過程以及觸發器。

如果您不是“科班”出 身,您還需要補充一些資料庫原理方面的知識。

六、 UML。我知道您肯定想成為高級工程師,因此您有必要瞭解或熟練或精通UML,這取決於您有多大決心想成為高級工程師和項目經理。在比較正規的開發團隊 中,UML是討論專案的交流工具,您要想做一個軟體工程師,您至少要能看懂,您要想做高級工程師,您要能通過它來描述您對專案的理解,儘管這不是必須,但 卻很重要。

七、 站在高度分析問題:這不是一個知識點,也不是通過書本就能學得到的。只所以提到這一點,是因為我比您還著急,我希望您更快的成為一個高級的軟體工程師,而 不是一個一般的軟體工程師。希望您在工作中多向您的系統分析員、需求分析員、系統設計員學習,多站在他們角度上去看您在開發的專案。在最好在項目之初先在 您的腦海裡對專案有個大致的分析、設計,然後和他們進行比較,找找差別,想想缺點。

八、 工具。與在《Java程式師的未來發展之路,你是否感到迷茫?》裡提到的不同,您在這個階段可能接觸到不同的工具了,儘管您還需要使用JB或者IDEA,但能可能對 ROSE,Together要多瞭解一些,因為您要畫UML了。不要再對Dreamweaver等HTML編輯器情有獨鍾了,那些JSP頁面讓初級程式師 去寫吧

Java進階技術方面

據不完全統計,截至目前(2017.07)為止,中國Java程式師的數量已經超過了100萬。而且,隨著IT培訓業的持續發展和大量的應屆畢業生進入社會,Java程式師面臨的競爭壓力越來越大。那麼,作為一名Java程式師,怎樣努力才能快速成長為一名高級的程式師或者架構師,或者說一名優秀的高級工程師或架構師應該有怎樣的技術知識體系,這不僅是一個剛剛踏入職場的初級程式師,也是工作三五年之後開始迷茫的老程式師,都必須要面對和想明白的問題。為了幫助大家少走彎路,我們總結出一個Java程式師的工作2-5年成長路線圖。

作為一名合格的架構師,必須懂各種網路產品及特性,懂各種中介軟體,能夠知道坑在哪兒,深諳各種技術方案的優缺點,懂整合各種資源並達到最優…瞭解各種技術及應用場景,有足夠的工作經驗解決集成中遇到的各種奇葩問題。

我特意整理了一下,有很多問題不是靠幾句話能講清楚,所以乾脆找朋友錄製了一些視頻,希望能説明這個階段的Java程式師。很多問題其實答案很簡單,但是背後的思考和邏輯不簡單,要做到知其然還要知其所以然。如果想學習Java工程化、高性能及分散式、高性能、深入淺出。性能調優、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java進階群,675047716,群裡有阿裡大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給大家。

但 卻很重要。

七、 站在高度分析問題:這不是一個知識點,也不是通過書本就能學得到的。只所以提到這一點,是因為我比您還著急,我希望您更快的成為一個高級的軟體工程師,而 不是一個一般的軟體工程師。希望您在工作中多向您的系統分析員、需求分析員、系統設計員學習,多站在他們角度上去看您在開發的專案。在最好在項目之初先在 您的腦海裡對專案有個大致的分析、設計,然後和他們進行比較,找找差別,想想缺點。

八、 工具。與在《Java程式師的未來發展之路,你是否感到迷茫?》裡提到的不同,您在這個階段可能接觸到不同的工具了,儘管您還需要使用JB或者IDEA,但能可能對 ROSE,Together要多瞭解一些,因為您要畫UML了。不要再對Dreamweaver等HTML編輯器情有獨鍾了,那些JSP頁面讓初級程式師 去寫吧

Java進階技術方面

據不完全統計,截至目前(2017.07)為止,中國Java程式師的數量已經超過了100萬。而且,隨著IT培訓業的持續發展和大量的應屆畢業生進入社會,Java程式師面臨的競爭壓力越來越大。那麼,作為一名Java程式師,怎樣努力才能快速成長為一名高級的程式師或者架構師,或者說一名優秀的高級工程師或架構師應該有怎樣的技術知識體系,這不僅是一個剛剛踏入職場的初級程式師,也是工作三五年之後開始迷茫的老程式師,都必須要面對和想明白的問題。為了幫助大家少走彎路,我們總結出一個Java程式師的工作2-5年成長路線圖。

作為一名合格的架構師,必須懂各種網路產品及特性,懂各種中介軟體,能夠知道坑在哪兒,深諳各種技術方案的優缺點,懂整合各種資源並達到最優…瞭解各種技術及應用場景,有足夠的工作經驗解決集成中遇到的各種奇葩問題。

我特意整理了一下,有很多問題不是靠幾句話能講清楚,所以乾脆找朋友錄製了一些視頻,希望能説明這個階段的Java程式師。很多問題其實答案很簡單,但是背後的思考和邏輯不簡單,要做到知其然還要知其所以然。如果想學習Java工程化、高性能及分散式、高性能、深入淺出。性能調優、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java進階群,675047716,群裡有阿裡大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給大家。