華爾街學(xué)徒工
軟件工程師需要學(xué)什么
軟件工程師(Software Engineer)可以說是從事軟件職業(yè)的人員的一種職業(yè)能力的認(rèn)證,通過它說明具備了工程師的資格。下面是我整理的關(guān)于軟件工程師需要學(xué)的內(nèi)容,希望可以幫助大家!
軟件工程師就是從事軟件開發(fā)相關(guān)工作的人員的統(tǒng)稱,它是一個(gè)廣義的概念,包括軟件設(shè)計(jì)人員、軟件架構(gòu)人員、軟件工程管理人員、程序員等一系列崗位,工作內(nèi)容都與軟件開發(fā)生產(chǎn)相關(guān)。
軟件工程師的技術(shù)要求是比較全面的,除了最基礎(chǔ)的編程語言(C語言/C++/JAVA等)、數(shù)據(jù)庫技術(shù)(SQL/ORACLE/DB2等)等,還有諸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技術(shù)。
1、Javascript
第一名的是Javascript,有的職缺中都要求必須會(huì)這項(xiàng)技能,那么Javascript為什么這么厲害呢?
最主要在于網(wǎng)絡(luò)軟件開發(fā)的盛行,Javascript是很多現(xiàn)有的開發(fā)框架的基礎(chǔ)除了用在前端的開發(fā)(Angular、Ember、Backbone等),也用在后端的架構(gòu)像是以及資料庫數(shù)據(jù)的讀取如MongoDB。
Javascript所建立起來的生態(tài)系非常的龐大也造就了大多數(shù)的工作都需要這項(xiàng)技能,Javascript本身學(xué)起來并不會(huì)太困難,如果想要懂一些基本的應(yīng)用那可以參考這里(這里也推薦大家可以看下馬海祥博客的《老程序員給初學(xué)者的一些建議和忠告》相關(guān)介紹)。
2、Java
榜上的第二名是Java ,占了,關(guān)于Java有些人認(rèn)為它一個(gè)比較過時(shí)的語言也認(rèn)為它即將被淘汰。
但是根據(jù)TIOBE Index上的排行(根據(jù)程式語言的普及與受歡迎程度),Java還是名列第二的,Java不僅沒有被淘汰,它還過得很好仍然是很多大企業(yè)愛好的后端語言。
Java之所已受到企業(yè)的重視,一個(gè)很大的原因不止是因?yàn)樗旧砗糜?,而是因?yàn)閷W(xué)好Java讓你學(xué)其他程式語言相對(duì)容易,因?yàn)镴ava是種面向?qū)ο笳Z言而且不需要處理指標(biāo)(Pointer),加上他有很好的開發(fā)環(huán)境(IDE)讓初學(xué)者使用起來相對(duì)的簡(jiǎn)單,可以說是身為一個(gè)軟件工程師絕對(duì)要懂得基礎(chǔ)。
以馬海祥的經(jīng)驗(yàn)而言,Java學(xué)起來比Javascript稍微難一些網(wǎng)絡(luò)上關(guān)于這方面的資源也不缺乏,像是MIT就有提供他的課程教材免費(fèi)讓大家學(xué)習(xí)。
3、HTML
在榜上第三名是HTML,馬海祥覺得HTML嚴(yán)格說起來并不是一種程式語言它是一種標(biāo)記語言(Markup Language),簡(jiǎn)單來說就是利用標(biāo)記可以達(dá)到與單純的文字不同的效果。
例如一段文字在前后加上標(biāo)記就可以加上超連結(jié),HTML是網(wǎng)路開發(fā)中基礎(chǔ)中的基礎(chǔ),尤其在前端的開發(fā)上了解HTML每一個(gè)標(biāo)記的功能是必要的。
但是馬海祥還是要強(qiáng)調(diào)他本身并不是一種程式語言,如果只會(huì)HTML對(duì)找工作是沒有任何幫助的,他只是基本中的基本,在這里也推薦大家可以花一點(diǎn)時(shí)間看下馬海祥博客的《12種最常用的網(wǎng)頁編程語言簡(jiǎn)介》相關(guān)介紹。
4、SQL and NoSQL
除此之外,榜上有名的.是SQL在的職缺上這項(xiàng)技能都是必須的。
根據(jù)Asurvey的調(diào)查有79%的受訪者仍然是使用關(guān)系資料庫也就是為什么SQL受到歡迎的原因,但這并不代表NoSQL就不重要雖然MongoDB在榜上只有,但是它主要被用在需要快速存取資料的產(chǎn)品上,像是Craigslist還有Expedia。
NoSQL與SQL究竟孰好孰壞,在資料庫的社群上一直是一個(gè)廣受爭(zhēng)論的議題,絕大多數(shù)的任認(rèn)為NoSQL是未來的趨勢(shì),但是以目前而言,SQL仍然是占了上風(fēng)。
5、Javascript Frameworks
建立在Javascript上的開發(fā)框架總共有三個(gè)、以及,這類的框架可以讓你很簡(jiǎn)便而且快速的處理前端的開發(fā),然而這三種開發(fā)框架由于性質(zhì)相近,因此也有很多的誰才是最好的爭(zhēng)論。
目前是由Google所開發(fā)的站在榜上第一,當(dāng)然這三種開發(fā)框架都有自己的好處,像是比較適合大型的開發(fā),比較簡(jiǎn)單易學(xué),讓合作開發(fā)更簡(jiǎn)單。
6、
這里馬海祥也特別提下,其原因是在于逐漸增加的使用者,以及大型公司像是Linkedin以及Wal-mart的使用。
是一個(gè)基于Chrome JavaScript運(yùn)行時(shí)建立的一個(gè)平臺(tái),用來方便地搭建快速的易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用借助事件驅(qū)動(dòng),非阻塞I/O模型變得輕量和高效,非常適合運(yùn)行在分布式設(shè)備的數(shù)據(jù)密集型的實(shí)時(shí)應(yīng)用。
可以在不新增額外線程的情況下,依然可以對(duì)任務(wù)進(jìn)行并行處理——是單線程的,它通過事件輪詢(event loop)來實(shí)現(xiàn)并行操作,對(duì)此,我們應(yīng)該要充分利用這一點(diǎn),盡可能的避免阻塞操作,取而代之,多使用非阻塞操作。
品名暫無
軟件工程師需要學(xué)習(xí)以下知識(shí):(1)熟悉計(jì)算機(jī)系統(tǒng)的基礎(chǔ)知識(shí);(2)熟悉網(wǎng)絡(luò)操作系統(tǒng)的基礎(chǔ)知識(shí);(3)理解計(jì)算機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)和開發(fā)方法;(4)熟悉數(shù)據(jù)通信的基礎(chǔ)知識(shí);(5)熟悉系統(tǒng)安全和數(shù)據(jù)安全的基礎(chǔ)知識(shí);(6)掌握網(wǎng)絡(luò)安全的基本技術(shù)和主要的安全協(xié)議與安全系統(tǒng);(7)掌握計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)和網(wǎng)絡(luò)協(xié)議的基本原理;(8)掌握計(jì)算機(jī)網(wǎng)絡(luò)有關(guān)的標(biāo)準(zhǔn)化知識(shí);(9)掌握局域網(wǎng)組網(wǎng)技術(shù),理解城域網(wǎng)和廣域網(wǎng)基本技術(shù);(10)掌握計(jì)算機(jī)網(wǎng)絡(luò)互聯(lián)技術(shù);(11)掌握TCP/IP協(xié)議網(wǎng)絡(luò)的聯(lián)網(wǎng)方法和網(wǎng)絡(luò)應(yīng)用服務(wù)技術(shù);(12)理解接入網(wǎng)與接入技術(shù);(13)掌握網(wǎng)絡(luò)管理的基本原理和操作方法;(14)熟悉網(wǎng)絡(luò)系統(tǒng)的基本性能測(cè)試和優(yōu)化技術(shù),以及可靠性設(shè)計(jì)技術(shù);(15)理解網(wǎng)絡(luò)應(yīng)用的基本原理和技術(shù);(16)理解網(wǎng)絡(luò)新技術(shù)及其發(fā)展趨勢(shì);(17)了解有關(guān)知識(shí)產(chǎn)權(quán)和互聯(lián)網(wǎng)的法律、法規(guī);(18)正確閱讀和理解本領(lǐng)域的英文資料
幸福人生168
初級(jí)部分:面向?qū)ο蟪绦蛟O(shè)計(jì)、JavaAPI使用、數(shù)據(jù)結(jié)構(gòu)及算法基礎(chǔ)、Java高級(jí)類特性、異常處理;及Swing圖形程序設(shè)計(jì)、流、網(wǎng)絡(luò)程序設(shè)計(jì)、對(duì)象序列化、Applet、多線程程序設(shè)計(jì)、Java應(yīng)用國(guó)際化基礎(chǔ);桌面系統(tǒng)項(xiàng)目開發(fā);編程基礎(chǔ)提高課程:反射機(jī)制、設(shè)計(jì)模式(I)、正則表達(dá)式,新特性等;5.基于Oracle的數(shù)據(jù)庫開發(fā)及管理、數(shù)據(jù)庫設(shè)計(jì)、標(biāo)準(zhǔn)SQL、PL/SQL編程;、、、JavaBean編程;Tomcat服務(wù)器使用、Jbuilder及Eclipse等集成開發(fā)環(huán)境;操作系統(tǒng)中的Java程序開發(fā)、Linux系統(tǒng)管理;編程提高課程:JDBC進(jìn)階、高效分頁處理、過濾器使用技巧、Struts中動(dòng)態(tài)表單驗(yàn)證、DispatchForm等;高級(jí)部分設(shè)計(jì)模式、Struts架構(gòu)核心工作機(jī)制、國(guó)際化、驗(yàn)證框架、StrutsTaglib、ORM基礎(chǔ)、基于Hibernate的企業(yè)級(jí)應(yīng)用;手機(jī)游戲設(shè)計(jì)、界面程序設(shè)計(jì)、數(shù)據(jù)庫程序設(shè)計(jì)、手機(jī)短信、多媒體短信(彩信)開發(fā);核心技術(shù)、XML、WebService、異構(gòu)系統(tǒng)整合、分布式應(yīng)用開發(fā)、WebLogic和JBoss等應(yīng)用服務(wù)器;、UML與系統(tǒng)建模和設(shè)計(jì)、RationalRose、軟件工程和軟件過程模型、版本控制及設(shè)計(jì)模式;企業(yè)級(jí)應(yīng)用開發(fā)提高課程:Hibernate使用技巧、設(shè)計(jì)模式(II)、Spring編程入門、提高JavaEE應(yīng)用的性能;.NET程序設(shè)計(jì).NET架構(gòu)、.NET桌面和Web程序設(shè)計(jì)、.NET與JavaEE平臺(tái)應(yīng)用的整合;職業(yè)素質(zhì)IT職業(yè)規(guī)劃、溝通技巧、團(tuán)隊(duì)合作、專業(yè)技術(shù)規(guī)范、面試技巧等職業(yè)技能培訓(xùn)。完成以上培訓(xùn)課程后,通過考核就可以獲得培訓(xùn)機(jī)構(gòu)頒發(fā)的合格證書。現(xiàn)在比較吃香的是JAVA,特別是J2EE,未來3G出來后,手機(jī)編程將成為熱點(diǎn),J2EE當(dāng)然就會(huì)很吃香了。關(guān)于證書的權(quán)威性,建議你要去知名的培訓(xùn)機(jī)構(gòu)去,最好是像SUN這類國(guó)際大公司有關(guān)認(rèn)證所指定的培訓(xùn)機(jī)構(gòu),這樣權(quán)威性高些。一般來講,軟件公司是非常喜歡通過了軟件工程師的人員,學(xué)歷對(duì)他們來說并不重要,而重要的是能力。如果你的能力夠強(qiáng),在一個(gè)好的公司的話,這個(gè)月薪我想應(yīng)該是可以拿到的。
水金之幻
軟件工程師需要學(xué)習(xí)以下知識(shí):(1) 熟悉計(jì)算機(jī)系統(tǒng)的基礎(chǔ)知識(shí);(2) 熟悉網(wǎng)絡(luò)操作系統(tǒng)的基礎(chǔ)知識(shí);(3) 理解計(jì)算機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)和開發(fā)方法;(4) 熟悉數(shù)據(jù)通信的基礎(chǔ)知識(shí);(5) 熟悉系統(tǒng)安全和數(shù)據(jù)安全的基礎(chǔ)知識(shí); (6) 掌握網(wǎng)絡(luò)安全的基本技術(shù)和主要的安全協(xié)議與安全系統(tǒng);(7) 掌握計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)和網(wǎng)絡(luò)協(xié)議的基本原理;(8) 掌握計(jì)算機(jī)網(wǎng)絡(luò)有關(guān)的標(biāo)準(zhǔn)化知識(shí);(9) 掌握局域網(wǎng)組網(wǎng)技術(shù),理解城域網(wǎng)和廣域網(wǎng)基本技術(shù); (10) 掌握計(jì)算機(jī)網(wǎng)絡(luò)互聯(lián)技術(shù); (11) 掌握TCP/IP協(xié)議網(wǎng)絡(luò)的聯(lián)網(wǎng)方法和網(wǎng)絡(luò)應(yīng)用服務(wù)技術(shù);(12) 理解接入網(wǎng)與接入技術(shù);(13) 掌握網(wǎng)絡(luò)管理的基本原理和操作方法;(14) 熟悉網(wǎng)絡(luò)系統(tǒng)的基本性能測(cè)試和優(yōu)化技術(shù),以及可靠性設(shè)計(jì)技術(shù);(15) 理解網(wǎng)絡(luò)應(yīng)用的基本原理和技術(shù);(16) 理解網(wǎng)絡(luò)新技術(shù)及其發(fā)展趨勢(shì);(17) 了解有關(guān)知識(shí)產(chǎn)權(quán)和互聯(lián)網(wǎng)的法律、法規(guī);(18) 正確閱讀和理解本領(lǐng)域的英文資料。
優(yōu)質(zhì)工程師考試問答知識(shí)庫