軟體工程專業如何選擇方向?
要準備選專業方向了,,有對 設計與開發、測試與實施、嵌入式軟體 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級起不再配發電腦?