軟體工程專業如何選擇方向?

要準備選專業方向了,,有對 設計與開發、測試與實施、嵌入式軟體 3個方向,不知道有人對其中的方面比較了解的嗎?有什麼區別?謝謝


由於我本人有從純軟體開發轉向嵌入式的學習經歷,所以簡單的談幾句。

是這樣的,大多數學校軟體工程沒有嵌入式這個方向,我為什麼這樣講呢?因為嵌入式的編程和我們通常意義上的軟體開發是很不一樣的,準確的來講,嵌入式介於軟體和硬體之間,你編寫的代碼都是以硬體作為大前提的,就是直接用代碼來操控基本的硬體,你必須很熟悉硬體的一些電路,一些元器件,一些模塊,還有各種不同的微處理器,如51單片機,PSoC,ARM,DSP等。事實上嵌入式工程師的主要工作就是控制微處理器實現功能,代碼是操控硬體的一個手段,有時候一些嵌入式的開發還需要Linux,所以Linux也是必須要學習的,除此之外還有EDA(電路設計),FPGA(門陣列),彙編語言,C語言(最主要的嵌入式開發語言),VHDL等。

現在的嵌入式由於要結合越來越多的內容,所以已經成為了通信,電子,自動化和計算機的一個交叉學科,嵌入式工程師既是硬體工程師,也是軟體工程師,相對來講硬的色彩要濃厚些。

至於軟體開發,方向分類的方法有很多種,比如你打交道的平台:widows(各種語言),Android(Java),ios(C#),Linux(各種語言),或者分為應用軟體開發,前端,遊戲開發等,但是不管什麼方向,什麼語言,軟體工程師都需要非常熟悉演算法和數據結構,這個是底子,至於具體的方向則取決於你的興趣,比如你如果想從事前端工作的話,打交道最多的估計就是PHP,JS,python,css之類的,當然審美也很重要,你還要具備基本的美工所具備的素質(哈哈,要不然做出來的東西太丑,估計沒人願意看)。

談了這麼多,我們來比較一下,二者區別實在是有點大,你做嵌入式開發時,基本上不用考慮太多的數據結構和演算法,代碼可能很長,但都是簡單的語法,不過是想著電路寫代碼。做軟體開發,你基本上不會考慮底層是什麼,底層是抽象了的,你只要api就行了,核心是演算法。


選方向看你到底想幹什麼啊。

你做什麼感覺有意思就往那方面發展。

畢竟這三個方向需要的知識儲備不大一樣不是。

別想什麼未來就業市場什麼薪資水平之類的。哪個方向都有高低手。

哦,瀉藥。


選擇專業方向時,查看教學培養計劃也是非常重要的一個環節。

===============================================

我的本科有軟體開發和嵌入式兩個專業。我是軟體開發專業的。感覺嵌入式專業的學生特別的辛苦。課程非常緊,基本沒有自己的時間去學習自己感興趣的東西。有種被老師牽著鼻子走的感覺。所以我個人覺得專業的選擇是一方面,課程的設置也非常重要。

建議看一下報考學校對於這三個方向的教學培養計劃,就是一些課程的設置。分析一下這些課程有沒有你特別反感,或者特別喜歡的,把問題具體話來看。

如果你沒有特別喜歡的方向的話,建議選擇軟體工程,因為軟體工程開發是基礎,基本上如果你開發會了的話,測試要上手也非常的快。基本上學測試要去開發非常難,但是學開發要去測試就很簡單了,只要自己再去寫一個測試腳本語言就可以了,而且這些語言基本都是以C或者C++為基礎的。


個人觀點:做到精通,每一個專業都是不錯的。就應用市場而言,嵌入式的發展機會更大一些


大三有三個方向:嵌入式,移動端和主機方向。。。悲劇的選了主機方向,選的人很少,並且,現在找工作感覺主機方向根本就沒有人招。。。


個人喜歡web編程


學習難度:嵌入式》開發》測試

你自己掂量吧,如果不清楚,最好請教師兄師姐,他們都是過來人,能給你滿意的答覆。


推薦閱讀:

如果真的要學計算機專業,像我這種尷尬排名的學子應該怎麼選擇?
通過文檔理解代碼的時代已經過去了?
北大軟微VS北郵?
軟體工程專業前景怎麼樣?
如何評價太原理工大學軟體學院2016級起不再配發電腦?

TAG:程序員 | 軟體工程 | 軟體工程專業 |