古詩詞大全網 - 成語用法 - java 初級、中級、高級工程師有什麽區別?

java 初級、中級、高級工程師有什麽區別?

技術不同,簡單的可以理解為:初級中級的只關註代碼,編程。高級的就要考慮系統的架構,整體框架。

具體區別如下:

壹、初級工程師

1、首先要學習java的基礎知識。

不要被新技術迷惑,所謂萬變不離其宗,新技術都是基於java的基礎之上,如果基礎不紮實,對於這些新技術的理解也是壹知半解,學不到根源。

2、做壹個java項目

在學習完java的基礎知識之後,做壹個java項目來鞏固壹下,在項目中會發現很多問題,通過解決問題,加深基礎知識的掌握。

3、學習數據庫的基礎知識和開發應用

軟件開發離不了數據庫,掌握幾種流行的數據庫:Oracle、SQL、server、MySQL等。

4、JEE基礎

在這裏首先要學習網站基礎,包括HTML、DHTML、JavaScript;接著要學習XML,XML JAXP;然後學習JEE基礎,包括JEE開發環境,RMI/IIOP、JNDI;最後學習JDBC數據庫的應用開發。

5、web開發

全面的JEE的web開發知識:Servlet JSP javaBean TagLib,到這裏做壹個完整的web應用項目開發。

6、EJB開發

包含全面的EJB知識:1)EJB入門和無狀態會話Bean;2)有狀態會話Bean;3)BMP和CMP是實體Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的開發和應用。

7、開源框架的學習

學習幾種現在流行的開源框架:Struts、Spring、Hibernian、Webwork等。完整的學習這些框架的開發和應用。如果有興趣還可以學習Ibati框架、AJAX技術和DWR框架的開發和應用。

8、JEE項目

綜合應用JEE的知識來開發壹個完整的應用。

9、面向對象分析與設計

java是壹種面向對象的語言,所以要深入學習面向對象的分析與設計,另外還要學習UML統壹建模語言。

10、接下來就是系統設計與架構

這裏要學習的是Java設計模式、EJB設計模式、JEE核心設計模式、JEE應用程序框架設計。

11、軟件工程

軟件工程基本理論知識的學習,還有Rup和極限編程。

12、技術研究

學習搜索引擎技術:如Lucene等、工作流技術:包含Shark、JBPM等、SOA架構和應用。

13、綜合項目實戰

實現壹個企業級的應用。

每個階段在做項目的基礎上牢固的掌握應用到的知識,只有在實際的應用中發現問題,加深所學的知識。

二、中級工程師

1、對於Java基礎技術體系(包括JVM、類裝載機制、多線程並發、IO、網絡)有壹定的掌握和應用經驗。

掌握JVM內存分配、JVM垃圾回收;類裝載機制;?性能優化;?反射機制;多線程;IO/NIO;?網絡編程;常用數據結構和相關算法。

2、對面向對象的軟件開發思想有清晰的認識、熟悉掌握常用的設計模式;設計模式;單例模式;工廠模式;代理模式;模板方法模式;責任鏈模式等。

3、熟練掌握目前流行開源框架(spring/springmvc/ibatis),並且對其核心思想、實現原理有壹定認知;開源框架:spring;hibernate。

4、熟悉Oracle、MySQL等數據庫開發與設計以及緩存系統Redis或 Memcached的設計和研發;關系數據庫:oracle;PostgreSQL?緩存系統:Redis(Nosql)緩存系統:Memcached。

5、熟悉底層中間件、分布式技術(包括緩存、消息系統、熱部署、JMX等)、底層中間件:應用服務器:Jetty(Tomcat)、?消息中間件:ActiveMQ、RabbitMQ、事務處理中間件:數據訪問中間件:ODBC、工作流中間件:JBPM,分布式技術:緩存系統、消息系統、Restful、熱部署、JMX。

6、至少壹種Java 應用服務器如tomcat、Jetty。

7、精通shell編程,熟練應用awk、sed、grep、strace、tcudump、gdb等常用命令。

8、有大型分布式、高並發、高負載(大數據量)、高可用性系統設計開發經驗,分布式:(多節點部署)、高並發、高負載(大數據量)、高穩定、高可用。

9、對配置管理和敏捷研發模式有所了解,配置管理工具:SVN、Github。

10、業務能力:系統升級、雙機、部署、容災、備份恢復、DFX。

11、加分技術:腳本語言:Python,遠程調用,精通Internet基本協議(如TCP/IP、HTTP等)內容及相關應用。有壹定安全意識並了解常見的安全問題解決方案。熟悉常見的壹些解決方案及其原理:單點登錄、分布式緩存、SOA、全文檢索、消息中間件,負載均衡、連接池、nosql、流計算等。

三、高級工程師

1、JAVA。要想成為JAVA(高級)工程師肯定要學習JAVA。壹般的程序員或許只需知道壹些JAVA的語法結構就可以應付了。但要成為JAVA(高級)工程師,您要對JAVA做比較深入的研究。您應該多研究壹下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、線程。如果可能,希望您對JAVA的所有包都瀏覽壹下,知道大概的API,這樣您就發現其實您想實現的很多功能,通過JAVA的API都可以實現了,就不必自己費太多的腦經了。

2、設計模式。其實寫代碼是很容易的事情,我相信您也有同感。但如何寫得好就比較難了。這個“好”字包括代碼可重用性,可維護性,可擴展性等。如何寫出好的代碼往往要借助壹些設計模式。當然長期的代碼經驗積累,只要您用心,會使您形成自己代碼風格。相信您的代碼也比較符合代碼的可重用性,可維護性,可擴展性。但既然前人已經給我們總結出了經驗,我們何不踩著前人的肩膀前進?

3、XML。現在的系統中不使用XML幾乎是不可能的。XML的功能非常強大,它可以做數據轉換、做系統的配置、甚至可保存您的系統業務數據。因此您必須了解XML,包括它的語法,結構。您還需要比較熟練的使用解析XML的壹些API,比如JDOM,SAX等,因為在我們壹般的項目中,XML往往擔當系統配置信息的作用,您需要用這些API解析這些配置信息,開發完美的項目。

4、精通使用壹種或兩種框架。“框架都會有許多可重用的代碼,良好的層次關系和業務控制邏輯,基於框架的開發使妳可以省出很多的開發成本”。但我這裏希望您能精通,更多的是希望您能通過框架的使用了解框架的思想。這樣您在開發壹個項目時思路會開闊壹些,比如您會想到把SQL語句與您的JAVA代碼分開,再比如您會考慮把您的業務邏輯配置到XML或者數據庫中,這樣整個項目就很容易擴張了。

5、熟悉主流數據庫。其實真正比較大的項目都是有人專門做數據庫的,但往往很多項目要求作為(高級)工程師的您也參與數據庫的設計以及SQL的編寫。所以為了更好的為國家做貢獻,建議您還是多了解壹些主流數據庫,比如SQLSERVER,ORACLE,多連接SQL和存儲過程以及觸發器。如果您不是“科班”出身,您還需要補充壹些數據庫原理方面的知識。

6、精通壹種或兩種WEBServer。我還是要強調您要精通壹種或兩種。因為作為JAVA工程師,特別時想成為高級JAVA工程師的您,您不可避免地要部署您的項目到WebServer上,而且只有當您精通壹種WebServer,您才可能最大限度地使用它的資源,這往往可以節省很多時間和精力。

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

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

9、工具。您在這個階段可能接觸到不同的工具了,盡管您還需要使用JB或者IDEA,但能可能對ROSE,Together要多了解壹些,因為您要畫UML了。不要再對Dreamweaver等HTML編輯器情有獨鐘了,那些JSP頁面讓初級程序員去寫吧。