小樹旁的小樹
greenxixi503
軟件工程師需要學(xué)什么
軟件工程師(Software Engineer)可以說是從事軟件職業(yè)的人員的一種職業(yè)能力的認(rèn)證,通過它說明具備了工程師的資格。下面是我整理的關(guān)于軟件工程師需要學(xué)的內(nèi)容,希望可以幫助大家!
軟件工程師就是從事軟件開發(fā)相關(guān)工作的人員的統(tǒng)稱,它是一個廣義的概念,包括軟件設(shè)計人員、軟件架構(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,有的職缺中都要求必須會這項技能,那么Javascript為什么這么厲害呢?
最主要在于網(wǎng)絡(luò)軟件開發(fā)的盛行,Javascript是很多現(xiàn)有的開發(fā)框架的基礎(chǔ)除了用在前端的開發(fā)(Angular、Ember、Backbone等),也用在后端的架構(gòu)像是以及資料庫數(shù)據(jù)的讀取如MongoDB。
Javascript所建立起來的生態(tài)系非常的龐大也造就了大多數(shù)的工作都需要這項技能,Javascript本身學(xué)起來并不會太困難,如果想要懂一些基本的應(yīng)用那可以參考這里(這里也推薦大家可以看下馬海祥博客的《老程序員給初學(xué)者的一些建議和忠告》相關(guān)介紹)。
2、Java
榜上的第二名是Java ,占了,關(guān)于Java有些人認(rèn)為它一個比較過時的語言也認(rèn)為它即將被淘汰。
但是根據(jù)TIOBE Index上的排行(根據(jù)程式語言的普及與受歡迎程度),Java還是名列第二的,Java不僅沒有被淘汰,它還過得很好仍然是很多大企業(yè)愛好的后端語言。
Java之所已受到企業(yè)的重視,一個很大的原因不止是因為他本身好用,而是因為學(xué)好Java讓你學(xué)其他程式語言相對容易,因為Java是種面向?qū)ο笳Z言而且不需要處理指標(biāo)(Pointer),加上他有很好的開發(fā)環(huán)境(IDE)讓初學(xué)者使用起來相對的簡單,可以說是身為一個軟件工程師絕對要懂得基礎(chǔ)。
以馬海祥的經(jīng)驗而言,Java學(xué)起來比Javascript稍微難一些網(wǎng)絡(luò)上關(guān)于這方面的資源也不缺乏,像是MIT就有提供他的課程教材免費(fèi)讓大家學(xué)習(xí)。
3、HTML
在榜上第三名是HTML,馬海祥覺得HTML嚴(yán)格說起來并不是一種程式語言它是一種標(biāo)記語言(Markup Language),簡單來說就是利用標(biāo)記可以達(dá)到與單純的文字不同的效果。
例如一段文字在前后加上標(biāo)記就可以加上超連結(jié),HTML是網(wǎng)路開發(fā)中基礎(chǔ)中的基礎(chǔ),尤其在前端的開發(fā)上了解HTML每一個標(biāo)記的功能是必要的。
但是馬海祥還是要強(qiáng)調(diào)他本身并不是一種程式語言,如果只會HTML對找工作是沒有任何幫助的,他只是基本中的基本,在這里也推薦大家可以花一點(diǎn)時間看下馬海祥博客的《12種最常用的網(wǎng)頁編程語言簡介》相關(guān)介紹。
4、SQL and NoSQL
除此之外,榜上有名的.是SQL在的職缺上這項技能都是必須的。
根據(jù)Asurvey的調(diào)查有79%的受訪者仍然是使用關(guān)系資料庫也就是為什么SQL受到歡迎的原因,但這并不代表NoSQL就不重要雖然MongoDB在榜上只有,但是它主要被用在需要快速存取資料的產(chǎn)品上,像是Craigslist還有Expedia。
NoSQL與SQL究竟孰好孰壞,在資料庫的社群上一直是一個廣受爭論的議題,絕大多數(shù)的任認(rèn)為NoSQL是未來的趨勢,但是以目前而言,SQL仍然是占了上風(fēng)。
5、Javascript Frameworks
建立在Javascript上的開發(fā)框架總共有三個、以及,這類的框架可以讓你很簡便而且快速的處理前端的開發(fā),然而這三種開發(fā)框架由于性質(zhì)相近,因此也有很多的誰才是最好的爭論。
目前是由Google所開發(fā)的站在榜上第一,當(dāng)然這三種開發(fā)框架都有自己的好處,像是比較適合大型的開發(fā),比較簡單易學(xué),讓合作開發(fā)更簡單。
6、
這里馬海祥也特別提下,其原因是在于逐漸增加的使用者,以及大型公司像是Linkedin以及Wal-mart的使用。
是一個基于Chrome JavaScript運(yùn)行時建立的一個平臺,用來方便地搭建快速的易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用借助事件驅(qū)動,非阻塞I/O模型變得輕量和高效,非常適合運(yùn)行在分布式設(shè)備的數(shù)據(jù)密集型的實時應(yīng)用。
可以在不新增額外線程的情況下,依然可以對任務(wù)進(jìn)行并行處理——是單線程的,它通過事件輪詢(event loop)來實現(xiàn)并行操作,對此,我們應(yīng)該要充分利用這一點(diǎn),盡可能的避免阻塞操作,取而代之,多使用非阻塞操作。

春天的薄荷葉
軟件工程師要學(xué)習(xí)和掌握的東西:
(一).NET方面的開發(fā)
⒈熟悉.net開發(fā)體系,熟悉C#;
⒉熟悉SQLServer,Oracle數(shù)據(jù)庫開發(fā);
⒊具有企業(yè)管理系統(tǒng)項目經(jīng)驗;
4.了解企業(yè)ERP及財務(wù)管理軟件(用友,金蝶)者優(yōu)先;
5.善于溝通,能獨(dú)立撰寫方案。為人誠實,善于學(xué)習(xí),做事認(rèn)真負(fù)責(zé),積極主動,具有敬業(yè)精神,有團(tuán)隊精神。
(二)JAVA應(yīng)用程序開發(fā)
1.熟練使用Struts2SpringHibernate
2.掌握J(rèn)query
3.掌握J(rèn)ava
4.熟悉Oracle
5.掌握xml/webservice
6.掌握OOD、OOP
7.基本文檔寫作能力
(三)web、數(shù)據(jù)庫方面的開發(fā)
⒈練掌握ASP,NET;等編程語言,熟悉.Net開發(fā)環(huán)境,理解.NetFramework,理解并能熟練使用WebService、O/Rmapping、Remoting、多線程等技術(shù);
2.熱衷于互聯(lián)網(wǎng)WEB開發(fā),熱衷于鉆研最新的前沿技術(shù),精通XML,Javascript,CSS,AJAX等WEB前端技術(shù);
3.熟練的技術(shù)文檔編寫能力,熟練使用Rose,PowerDesign,Visio等建模和設(shè)計軟件,有一定的架構(gòu)設(shè)計能力;
4.精通SQLserver數(shù)據(jù)庫技術(shù),了解數(shù)據(jù)庫性能調(diào)優(yōu)者優(yōu)先.
(四)php項目開發(fā)
⒈使用PHP語言開發(fā)互聯(lián)網(wǎng)應(yīng)用程序;
⒉網(wǎng)站產(chǎn)品和網(wǎng)站功能模塊的開發(fā)與維護(hù);
⒊與頁面設(shè)計師協(xié)調(diào)溝通,編寫部分Javascript和HTML;
⒋參與底層MVC框架的編寫與維護(hù)。
軟件工程師一般指從事軟件開發(fā)職業(yè)的人。軟件工程師是一個認(rèn)證考試,具體地說是從事軟件職業(yè)的人員的一種職業(yè)能力的認(rèn)證,通過它說明具備了工程師的資格。軟件工程師的技術(shù)要求是比較全面的,除了最基礎(chǔ)的編程語言(C語言/C/JAVA等)、數(shù)據(jù)庫技術(shù)(SQL/ORACLE/DB2等)等,還有諸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技術(shù)。此外,關(guān)于網(wǎng)絡(luò)工程和軟件測試的其他技術(shù)也要有所涉獵。
對于軟件工程師,不太重視學(xué)歷,但并不是對學(xué)歷沒有要求,重點(diǎn)關(guān)注項目的經(jīng)驗和學(xué)習(xí)知識的能力,能否利用軟件工程專業(yè)知識來解決問題,根據(jù)崗位不同,對軟件工程師的要求也有所不同。具體能力要根據(jù)崗位和自己的興趣愛好選定自己的職業(yè)規(guī)劃方向,一方面要詳細(xì)了解軟件工程師的要求,可以關(guān)注企業(yè)的招聘信息;一方面自己要貯備通用的知識技能,廣泛閱讀相關(guān)的計算機(jī)材料對自己以后的發(fā)展大有幫助??梢源_定的是軟件工程師的前途在未來的發(fā)展依然是不斷升溫的職業(yè),比較需要有技術(shù)和良好前景的專業(yè)之一。
工作內(nèi)容:
1、指導(dǎo)程序員的工作;
2、參與軟件工程系統(tǒng)的設(shè)計、開發(fā)、測試等過程;
3、協(xié)助工程管理人保證項目的質(zhì)量;
4、負(fù)責(zé)工程中主要功能的代碼實現(xiàn);
5、解決工程中的關(guān)鍵問題和技術(shù)難題;
6、協(xié)調(diào)各個程序員的工作,并能與其它軟件工程師協(xié)作工作;
7、還要編寫各種各樣的軟件說明書,如:需求說明書,概要說明書等考試科目。工程師是中級職稱,考試的題目包括了計算機(jī)體系結(jié)構(gòu)、軟件工程、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)、編譯原理等計算機(jī)學(xué)科的基礎(chǔ)課程。
星無畏懼
軟件開發(fā)專業(yè)都要學(xué)以下語言:C,JAVA,PHP,PYTHON,MYSQL,JAVASCRIPT另外就是各個語言的框架,提高開發(fā)速度的。下面是跟數(shù)據(jù)相關(guān)的知識。1.如果沒有語法錯誤, 則以函數(shù)形式返回編譯好的代碼塊; 否則,返回 nil 加上錯誤消息。如果結(jié)果函數(shù)有上值, env 被設(shè)為第一個上值。 若不提供此參數(shù),將全局環(huán)境替代它。 所有其它上值初始化為 nil。 (當(dāng)你加載主代碼塊時候,結(jié)果函數(shù)一定有且僅有一個上值 _ENV ))。 然而,如果你加載一個用函數(shù)(參見 , 結(jié)果函數(shù)可以有任意數(shù)量的上值) 創(chuàng)建出來的二進(jìn)制代碼塊時,所有的上值都是新創(chuàng)建出來的。 也就是說它們不會和別的任何函數(shù)共享。2.接下來就是根據(jù)以上信息進(jìn)行下面的操作,chunkname 在錯誤消息和調(diào)試消息中,用于代碼塊的名字。 如果不提供此參數(shù),它默認(rèn)為字符串chunk 。 chunk 不是字符串時,則為 "=(load)" 。字符串 mode 用于控制代碼塊是文本還是二進(jìn)制(即預(yù)編譯代碼塊)。 它可以是字符串 "b" (只能是二進(jìn)制代碼塊), "t" (只能是文本代碼塊), 或 "bt" (可以是二進(jìn)制也可以是文本)。 默認(rèn)值為 "bt"。 不會對二進(jìn)制代碼塊做健壯性檢查。 惡意構(gòu)造一個二進(jìn)制塊有可能把解釋器弄崩潰。運(yùn)行程序來遍歷表中的所有域。 第一個參數(shù)是要遍歷的表,第二個參數(shù)是表中的某個鍵。 next 返回該鍵的下一個鍵及其關(guān)聯(lián)的值。 如果用 nil 作為第二個參數(shù)調(diào)用 next 將返回初始鍵及其關(guān)聯(lián)值。 當(dāng)以最后一個鍵去調(diào)用,或是以 nil 調(diào)用一張空表時, next 返回 nil。 如果不提供第二個參數(shù),將認(rèn)為它就是 nil。 特別指出,你可以用 next(t) 來判斷一張表是否是空的。索引在遍歷過程中的次序無定義, 即使是數(shù)字索引也是這樣。 (如果想按數(shù)字次序遍歷表,可以使用數(shù)字形式的 for 。)4.當(dāng)在遍歷過程中你給表中并不存在的域賦值, next 的行為是未定義的。 然而你可以去修改那些已存在的域。 特別指出,你可以清除一些已存在的域。如果 t 有元方法 __pairs, 以 t 為參數(shù)調(diào)用它,并返回其返回的前三個值。否則,返回三個值:next 函數(shù), 表 t,以及 nil。 因此以下代碼5.傳入?yún)?shù),以 保護(hù)模式 調(diào)用函數(shù) f 。 這意味著 f 中的任何錯誤不會拋出; 取而代之的是,pcall 會將錯誤捕獲到,并返回一個狀態(tài)碼。 第一個返回值是狀態(tài)碼(一個布爾量), 當(dāng)沒有錯誤時,其為真。 此時,pcall 同樣會在狀態(tài)碼后返回所有調(diào)用的結(jié)果。 在有錯誤時,pcall 返回 false 加錯誤消息。
丸子的小雕
初級部分:面向?qū)ο蟪绦蛟O(shè)計、JavaAPI使用、數(shù)據(jù)結(jié)構(gòu)及算法基礎(chǔ)、Java高級類特性、異常處理;及Swing圖形程序設(shè)計、流、網(wǎng)絡(luò)程序設(shè)計、對象序列化、Applet、多線程程序設(shè)計、Java應(yīng)用國際化基礎(chǔ);桌面系統(tǒng)項目開發(fā);編程基礎(chǔ)提高課程:反射機(jī)制、設(shè)計模式(I)、正則表達(dá)式,新特性等;5.基于Oracle的數(shù)據(jù)庫開發(fā)及管理、數(shù)據(jù)庫設(shè)計、標(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中動態(tài)表單驗證、DispatchForm等;高級部分設(shè)計模式、Struts架構(gòu)核心工作機(jī)制、國際化、驗證框架、StrutsTaglib、ORM基礎(chǔ)、基于Hibernate的企業(yè)級應(yīng)用;手機(jī)游戲設(shè)計、界面程序設(shè)計、數(shù)據(jù)庫程序設(shè)計、手機(jī)短信、多媒體短信(彩信)開發(fā);核心技術(shù)、XML、WebService、異構(gòu)系統(tǒng)整合、分布式應(yīng)用開發(fā)、WebLogic和JBoss等應(yīng)用服務(wù)器;、UML與系統(tǒng)建模和設(shè)計、RationalRose、軟件工程和軟件過程模型、版本控制及設(shè)計模式;企業(yè)級應(yīng)用開發(fā)提高課程:Hibernate使用技巧、設(shè)計模式(II)、Spring編程入門、提高JavaEE應(yīng)用的性能;.NET程序設(shè)計.NET架構(gòu)、.NET桌面和Web程序設(shè)計、.NET與JavaEE平臺應(yīng)用的整合;職業(yè)素質(zhì)IT職業(yè)規(guī)劃、溝通技巧、團(tuán)隊合作、專業(yè)技術(shù)規(guī)范、面試技巧等職業(yè)技能培訓(xùn)。完成以上培訓(xùn)課程后,通過考核就可以獲得培訓(xùn)機(jī)構(gòu)頒發(fā)的合格證書?,F(xiàn)在比較吃香的是JAVA,特別是J2EE,未來3G出來后,手機(jī)編程將成為熱點(diǎn),J2EE當(dāng)然就會很吃香了。關(guān)于證書的權(quán)威性,建議你要去知名的培訓(xùn)機(jī)構(gòu)去,最好是像SUN這類國際大公司有關(guān)認(rèn)證所指定的培訓(xùn)機(jī)構(gòu),這樣權(quán)威性高些。一般來講,軟件公司是非常喜歡通過了軟件工程師的人員,學(xué)歷對他們來說并不重要,而重要的是能力。如果你的能力夠強(qiáng),在一個好的公司的話,這個月薪我想應(yīng)該是可以拿到的。
優(yōu)質(zhì)工程師考試問答知識庫