對于軟件工程師,不太重視學歷,但并不是對學歷沒有要求,重點關注項目的經驗和學習知識的能力,能否利用軟件工程專業(yè)知識來解決問題,根據崗位不同,對軟件工程師的要求也有所不同。
具體能力要根據崗位和自己的興趣愛好選定自己的職業(yè)規(guī)劃方向,一方面要詳細了解軟件工程師的要求,可以關注企業(yè)的招聘信息;一方面自己要貯備通用的知識技能,廣泛閱讀相關的計算機材料對自己以后的發(fā)展大有幫助。
(一)定義
軟件工程師是從事軟件職業(yè)的人員的一種職業(yè)能力的認證,通過它說明具備了工程師的資格。軟件工程師是從事軟件開發(fā)相關工作的人員的統(tǒng)稱。
它是一個廣義的概念,包括軟件設計人員、軟件架構人員、軟件工程管理人員、程序員等一系列崗位,工作內容都與軟件開發(fā)生產相關。軟件工程師的技術要求是比較全面的,除了最基礎的編程語言、數(shù)據庫技術)等,還有諸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技術。此外,關于網絡工程和軟件測試的其他技術也要有所涉獵。
(二)學什么
①軟件工程師需要學習數(shù)據庫理論,因為需要熟悉SQL的語言,并與數(shù)據庫打交道。
②軟件工程師需要掌握編程語言和算法。
③數(shù)據結構是編程的靈魂,它是一種開發(fā)思路,主要講述成熟的程序設計思想和算法。
④軟件工程師需要學習領域知識,因為不同開發(fā)領域需要掌握不同的知識結構,比如大數(shù)據軟件工程師需要掌握Hadoop、Spark平臺的使用,而Web開發(fā)工程師需要掌握前后端開發(fā)技術,包括一系列Web開發(fā)框架的使用等等。此外,編程語言和算法也是軟件工程師需要學習的內容。
⑤軟件工程師需要學習計算機網絡,它介紹了數(shù)據通信的基本概念和計算機網絡的基本原理,包括計算機網絡的體系結構、數(shù)據通信的基本方法和協(xié)議、計算機網絡的主要應用協(xié)議。
(三)工作內容
(1) 指導程序員的工作
(2) 參與軟件工程系統(tǒng)的設計、開發(fā)、測試等過程
(3)協(xié)助工程管理人保證項目的質量
(4)負責工程中主要功能的代碼實現(xiàn)
(5)解決工程中的關鍵問題和技術難題
(6)協(xié)調各個程序員的工作,并能與其它軟件工程師協(xié)作工作
(7)還要編寫各種各樣的軟件說明書
(8)考試科目工程師是中級職稱,考試的題目包括了計算機體系結構、軟件工程、數(shù)據庫、數(shù)據結構、編譯原理等計算機學科的基礎課程。