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