軟件工程師是對于軟件開發(fā)相關工作的人員的一個統(tǒng)稱。軟件工程師是IT行業(yè)中需求量最大的一個職位,穩(wěn)居IT行業(yè)職位需求TOP10第一位。
軟件工程師的技術要求比較全面的,除了最基礎的編程語言(C語言/C++/JAVA等)、數(shù)據(jù)庫技術(SQL/ORACLE/DB2等)、.NET平臺技術、C#、C/S B/S程序開發(fā),還要掌握諸如JAVA 、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUCTS等的前沿技術。
除此之外,還要涉獵于網(wǎng)絡工程和軟件測試的其他技術,以便于操控全局。軟件工程師可以說是一個項目開發(fā)的掌舵者。
一名優(yōu)秀的軟件工程師應該具有較強的邏輯思維能力,對于技術的發(fā)展有著敏銳的嗅覺。
雖然要求技術全面,但無須偏執(zhí)于門門技術都精通,任何軟件工程師都有自己的技術特長和偏向,對于自己手中的技術,可有精通-掌握-熟悉-了解之分,根據(jù)工作需要和職業(yè)發(fā)展的具體情況來劃分。
而程序員是專職從事程序開發(fā)、維護的專業(yè)人員。
軟件工程師是程序員嗎?
應該說一個軟件工程師首先應該是一個合格的程序員,但程序員只能是成為軟件工程師的第一步。一個軟件工程師來說,在掌握了基本的編程技能后,開發(fā)軟件所需要的各種除了編碼之外的其它知識會更為重要,比如如何從組織工程與項目的角度來看待軟件開發(fā)的問題,如何為軟件搭建合理準確的架構,什么樣的軟件會更易于維護與更新。故而軟件工程師的級別要大于程序員。