1、關於企業計算方向
企業計算(Enterprise Computing)是稍時髦較好聽的名詞,主要是指企業信息系統如ERP軟件(企業資源規劃)、CRM軟件(客戶關係管理)、SCM軟件(供應鏈管理,即物流軟件)銀行證券軟件財務軟件電子商務/政務(包括各類網站),數據倉庫,數據挖掘,商務智能等企業信息管理系統.
企業計算領域對人才的需求顯然永遠是數量最大的由於這是計算機應用最多的領域. 搞這方面的好處是:
(1)人才需求量極大從事企業計算的公司在IT企業中佔了大多數。除非在專業上一無特長通常在這一領域總能找到工做。
(2)這方面的入門門檻相對較低(若是你的軟件功底不是很深可考慮這一領域)
(3)這方面的大公司較多大公司要賺大錢因此多將精力花在企業計算業務上.如與正規高校軟件學院同窗目前實習的CitiCorp、HP、IBM、SAP、NEC等公司都屬這一領域的公司。若是未來想到大公司找一份相對穩定的工做,從事這方面機會要大不少。
但從事這一領域的缺點也是明顯的:
因爲這方面的入門門檻相對較低,雖然這方面的人才需求量是最大的,但未來競爭對手會較多。您會發現,即便他原不是學IT專業的人,也許他突擊幾個月後,作得照樣像模像樣。特別是當您年紀漸大後,您可能會發現,後面的年輕人可能很容易追上你的水平。若是您未來到國外去工
做,你可能會發現從事這領域的人更多且高手如雲。固然,若您在這一領域通過多年企業經驗,達到較高境界(如能設計軟件架構),則身價永遠是高的。國內在這方面人才領域的主要問題是,有經驗的高手太少,皮毛了解的人太多。
從事企業計算領域,最重要的技能型技術課程是(1)J2EE架構與程序設計(2)大型數據庫系統(如Oracle)(3)基於UML的系統分析與設計。若是說還有什麼重要的技能,還可將XML與Web
Service技術包含進來,若您在這幾個領域掌握較好,則不愁找不到工做。其中尤爲以J2EE最爲重要,目前J2EE已成爲企業計算軟件開發的最主要平臺,也是正規高校軟件學院的最重要課程之一。儘管該課程只能做爲選修課,咱們但願正規高校軟件學院同窗不管未來想從事何種方向,都應
學一下J2EE課程,至少可爲未來找工做備一手關鍵功夫。包括想從事嵌入式或其它領域的同窗,也是頗有必要學一下J2EE的,畢竟J2EE是目前最重要的平臺之一,即便您未來不想從事企業計算領域,瞭解一下J2EE也是必要的,就像一門常識課程同樣。其它與企業計算關係較密切的技能還包
括:Dot
Net架構與程序設計、軟件測試技術、軟件配置管理,該領域較高層次的技能包括數據倉庫技術、構件與中間件技術、設計模式等。像通訊協議分析與網絡程序設計,Unix系統管理等也屬有些關係的課程。02級本學期開設的企業計算課程很少,主要是J2EE、Oracle/MSSQL、UML等企業計算領
域的最關鍵技能型技術課程都已學完了(但不知有多少同窗學得較深刻,未來找工做時會用到這些技能)。下學期咱們將在該領域中擬再開設XML與Web
Service技術、軟件配置管理等課程。本學期開設的企業計算領域課程的確很少,但您應在空餘時間將J2EE,DB、UML等技術再深刻地鑽研下去,必定要在某個領域有深刻的掌握。只是跟着聽課,即便學了再多課程也是沒用處的,本身鑽研下去纔是最重要的。只一個J2EE即是博大精深的,足
夠你啃下去的,鑽研下去,您會發現你還要學的相關知識還有不少(包括EJB、XML、Web Service、Design Pattern等)。
雖然從事企業計算的人才不少,但如下企業計算領域不管國內外都屬稀缺人才:
(1)掌握大型ERP系統,主要是SAP系統,包括SAP Basis(系統管理)或SAP ABAP(編程)或SAP功能模塊實施(特別是財務模塊FI的實施)。SAP顧問身價是最高的,並且很是難找。其它大型ERP系統,掌握PeopleSoft、Oracle
Finacial、J.D.Edward、Siebel等大型ERP軟件系統的人也很值錢。這方面的人之因此身價奇高,主要是由於這些軟件很專業,特別大,很難有D版可學習,只有特大企業(如世界500強,90以上使用SAP)才用得起,並且必須有實際工做經驗才能掌握。若是是一個我的人都很容易有機會接觸的
軟件,那麼這方面的人一般就不會稀缺。若是你們未來有機會接觸學習這些大型ERP軟件系統的機會,建議絕不猶豫地抓住,那將捧上一輩的金飯碗。在國外,會SAP的人特別值錢。物以稀爲貴,這永遠是顛撲不破的真理。SAP的價值不只是由於他是一個ERP軟件,
而是其中體現的現代企業管理理念(如根據定貨需求自動安排原料採購和生產計劃等)。通常500強公司毫不會像國內不少企業那樣,用J2EE從頭設計企業的ERP系統(即將是怎樣的人力投入,並且設計出來的系統怎麼多是完善的),必定都會使用SAP這樣成熟的ERP軟件。用不起SAP的公司可
能會用J2EE設計ERP系統。
(2)掌握IBM大型機技術的人,如S/390主機,MVS操做系統,JCL做業控制語言,COBOL程序設計語言,DB2關係數據庫或IMS層次數據庫,CISC中間件交易控制系統等IBM大型機專用技術。國內五大銀行,以及國外絕大多數銀行的後臺系統使用的都是以上平臺。IBM大型機號稱永不宕機並且
平臺相對封閉(這樣最安全),因此這些要求在24*7環境中連續運行的關鍵應用(術語叫mission critical
applications)都採用IBM大型機。這方面的人才之因此稀缺,是由於會大型機的人都是老人(90年代之前搞IT的人),全世界新畢業的IT畢業生不可能再去學IBM大型機(這是一種相對「古老「的技術)沒有新人補上而銀行的系統必須維持下去並且銀行還要不斷開發新業務(如新的存款品種)雖
然對IBM大型機人才的絕對需求量不很大但相對恆定銀行到哪裏找這方面的新人很難找到. 若好找花旗軟件也不會花那麼大的代價去培訓咱們的實習同窗了(去年培訓20多我的據說公司就花了數十萬元培訓費).
若是您未來到國外找工做會IBM大型機多是最好找工做的領域之一了並且保證找的都是大銀行等好工做我之前教過的計算機專業90-94級的一些同窗凡是畢業後從事大型機開發的現多在國外一些很好的公司工做(有幾位同窗在各國各公司跳來跳去簡直如履平地).
其實我以爲咱們最幸福的同窗就是在花旗軟件作IBM大型機銀行軟件的同窗這樣的機會太可貴了.正規高校軟件學院00級22班一位同窗當初放棄保研看準在花旗軟件作大型機而且很是努力還未畢業公司便派她到國外參加一個項目的開發成了項目骨幹我以爲她當初選擇是徹底正確的(01級一位
女同窗剛剛也自願放棄了保研機會去花旗作大型機,咱們祝願她未來也能有好的前景。其實像花旗軟件主動安排並鼓勵員工讀在職研究生,這樣開明的公司目前並很少的,在職讀研也是一種不錯的選擇,又不會失去本身喜歡的實習工做機會,能兼顧)讀書的最終目地仍是爲了工做.
若是您未來在國外找工做根本沒人管您是什麼文憑國外企業毫不會花冤枉錢只會招有領域工做經驗能當即上手的人用最少的錢在限定的時間完成項目.
而在國內由於人力成本較低公司招聘一不少高學歷的人才儘管可能根本用不到這麼高的學歷但國內的人力太便宜了爲何不高消費一下人才呢這樣公司的門面還要好看些。
.(3)其它如掌握數據倉庫技術的人在國內也不多. 目前最主流的數據倉庫平臺應是ORACLE的數據倉庫工具. 在國外會一些特殊數據倉庫的人如NCR/TEREDATA的人很是難找.
咱們的同窗如今年紀都很輕年輕人充滿熱情喜歡追逐一些熱門技術這固然正確的畢竟學習SAP和大型機的機會畢竟很少畢業時先能找到一份工做是重要的.
但我相信隨着年紀的增加你們未來慢慢都會思考的掌握一項競爭對手較少的絕技的重要性未來若是本身到國外工做什麼技術最好找工做(對搞軟件的人到國外工做或移民是最容易的也許您如今不想但我相信工做多年之後很大一部分同窗可能想到國外闖蕩一下)你要考慮你從此一輩子的出路什麼
樣的絕技是最穩定最輕鬆最高收入的.
搞軟件的人當年紀大些時您可能更向住像搞醫學人的那樣能更多靠經驗吃飯而不須成天像年輕人那樣不得不去追逐不斷出現的軟件新技術這個時候也許您也許會發現若是您在SAP或大型機等方面有些絕技您會有很大優點由於這些較偏的領域其技術變化是相對很緩慢的.
我還記得在2000年時我曾在業餘時間與一位德國人合做面試一些IT人才到德國去那時德方各公司發來的需求有不少是SAP和IBM大型機的咱們在衆多應聘者中最後也未找到一個在這方面有經驗甚至是有一點經驗的. 相反掌握流行技術的人因太多而不很值錢.
咱們的同窗未來找工做時不只要盯着國內市場還要有一種放眼全球的眼光,對搞軟件的人您未來徹底可能到其它國家去工做.
尤爲是在歐美、日本、新加坡等國家,對SAP(包括IBM大型機)人才的需求是很大的。畢竟比同窗見得多些提醒同窗未來多留意有學習這些絕技的機會一旦有機會建議當仁不讓.
國內的人才市場可訪問www.51job.com,國外的IT人才需求可訪問www.hotjobs.com、www.workopolis.com、www.monster.com等著名網站。應常常訪問這些網站,以瞭解市場對人才的具體需求,早作準備。
以上對企業計算領域的觀點供你們參考.雖然觀點未必正確但確是直言不諱. 總之每一個人的腦殼都長在本身脖子上每一個人都應有本身的判斷.
還要注意我以上純粹是從未來就業的角度談問題. 若是您未來準備到國外讀書則應重視基礎課像CAssemblyOOPDiscrete MathData StructureOpeating SystemDatabase PrincipleNetworkSoftware EngineeringCompilerDigital CircuitComputer GraphicsComputer Component and
Architecture等基礎課在國外大學IT專業中通常都能找到相同課程若國內學過到國外讀書時通常可申請免修一部分. 但我也想提醒同窗若是您未來畢業時萬一申請國外大學不成不得不去找工做時,若只將精力花在這些IT專業學生都會的基礎課上(傳統IT教育模式)
未掌握一些像J2EE等技能型技術是不容易找到一份工做的咱們已有同窗有這樣的教訓。從找工做的角度講,企業關心的不是您學過什麼課程,而是關心您能作什麼,有什麼技能,能作什麼項目。
2、關於嵌入式系統方向
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,一般這些設備的硬件資源(如處理器、存儲器等)很是有限,而且對成本很敏感,有時對實時響應要求很高等。特別是隨着消費家電的智能化,嵌入式更顯重要。像咱們日常常見到的手
機、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數字相機(DC)、數字攝像機(DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、遊戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等等都是典型的嵌入式系統。
嵌入式系統是軟硬結合的東西,搞嵌入式開發的人有兩類。
一類是學電子工程、通訊工程等偏硬件專業出身的人,他們主要是搞硬件設計,有時要開發一些與硬件關係最密切的最底層軟件,如BootLoader、Board Support
Package(像PC的BIOS同樣,往下驅動硬件,往上支持操做系統),最初級的硬件驅動程序等。他們的優點是對硬件原理很是清楚,不足是他們更擅長定義各類硬件接口,但對複雜軟件系統每每力不從心(例如嵌入式操做系統原理和複雜應用軟件等)。
另外一類是學軟件、計算機專業出身的人,主要從事嵌入式操做系統和應用軟件的開發。若是咱們學軟件的人對硬件原理和接口有較好的掌握,咱們徹底也可寫BSP和硬件驅動程序。嵌入式硬件設計完後,各類功能就全靠軟件來實現了,嵌入式設備的增值很大程度上取決於嵌入式軟件,
這佔了嵌入式系統的最主要工做(目前有不少公司將硬件設計包給了專門的硬件公司,稍複雜的硬件都交給臺灣或國外公司設計,國內的硬件設計力量很弱,不少嵌入式公司本身只負責開發軟件,由於公司都知道,嵌入式產品的差別很大程度在軟件上,在軟件方面是最有「花頭「可作的),
因此咱們搞軟件的人徹底不用擔憂咱們在嵌入式市場上的用武之地,越是智能設備越是複雜系統,軟件越起關鍵做用,並且這是目前的趨勢。
從事嵌入式軟件開發的好處是:
(1)
目前國內外這方面的人都很稀缺。一方面,是由於這一領域入門門檻較高,不只要懂較底層軟件(例如操做系統級、驅動程序級軟件),對軟件專業水平要求較高(嵌入式系統對軟件設計的時間和空間效率要求較高),並且必須懂得硬件的工做原理,因此非專業IT人員很難切入這一領域另外一方
面,是由於這一領域較新,目前發展太快,不少軟硬件技術出現時間不長或正在出現(如ARM處理器、嵌入式操做系統、MPEG技術、無線通訊協議等),掌握這些新技術的人固然很找。嵌入式人才稀缺,身價天然就高,越有經驗價格就越高。其實嵌入式人才稀少根本緣由多是大多數人無條
件接觸這須要相應的嵌入式開發板和軟件另外須要有經驗的人進行指導開發流程。
(2)
與企業計算等應用軟件不一樣,嵌入式領域人才的工做強度一般低一些(但收入不低)。搞企業應用軟件的IT企業,這個用戶的系統搞完了,又得去搞下一個用戶的,並且每一個用戶的需求和完成時間都得按客戶要求改變,每每疲於奔命,重複勞動。相比而言,搞嵌入式系統的公司,都有本身的
產品計劃,按本身的節奏行事。所開發的產品一般是通用的,不會因客戶的不一樣而修改。一個產品型號開發完了,每每有較長一段空閒時間(或只是對軟件進行一些小修補),有時間進行充電和休整。另外,從事嵌入式軟件的每一個人工做範圍相對狹窄,所涉及的專業技術範圍就是那些(ARM、
RTOS、MPEG、802.11等),時間長了這些東西會越搞越有經驗,賣賣老本,幾句指導也夠讓那些初入道者琢磨半年的。若搞應用軟件,可能下一個客戶要換成一個徹底不一樣的軟件開發平臺,那就苦了。
(3)
哪天若想創業,搞自已的產品,那麼嵌入式是一個不錯的主意,這可不像應用軟件那樣容易被盜版。土木學院有一個叫啓明星的公司開發出一個好象叫「工程e」的掌上PDA(南校區門口有廣告),施工技術人員用該PDA可當場進行土木概預算和其它土木計算,聽說銷路特好。我認識的某大學
老師,他開發的飯館用的點菜PDA(WinCE平臺,可無線連網和上網),據他說銷路不錯,飯館點點PDA讓客戶點菜,多顯派頭檔次。我記得00級22班當年有一組同窗在學Windows程序設計課程時用VC設計了一個功能很強的點菜系統作爲課程項目,當時真想建議他們將這個軟件作成PDA,估計會
有些銷路(上海火車站南廣場的Macdonald便使用很漂亮的PDA給用戶點食品,像摸像樣的)。這些PDA的硬件設計通常都是請其它公司給訂作(這叫「貼牌」:OEM),都是通用的硬件,咱們只管設計軟件就變成本身的產品了。
從事嵌入式軟件開發的缺點是:
(1) 入門起點較高,所用到的技術每每都有必定難度,若軟硬件基礎很差,特別是操做系統級軟件功底不深,則可能不適於此行。
(2)
這方面的企業數量要遠少於企業計算類企業。特別是從事嵌入式的小企業數量較多(小企業要搞本身的產品創業),知名大公司較少(搞嵌入式的大公司主要有Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半導體、Microtek、研華、華爲、中興通訊、上廣電
等製造類企業)。這些企業的習慣思惟方式是到電子、通訊等偏硬專業找人。因爲正規高校軟件學院之前畢業生以企業計算爲主,因此正規高校軟件學院與這些企業聯繫相對較少。正規高校軟件學院正積極努力,目前已與其中部分公司創建了聯繫,爭取從此能有正規高校軟件學院同窗到這
些企業中實習或就業。
(3)有少數公司常常要碩士以上的人搞嵌入式,主要是基於嵌入式的難度。但大多數公司也並沒有此要求,只要有經驗便可。
正規高校軟件學院同窗若學習嵌入式,顯然應偏重於嵌入式軟件,特別是嵌入式操做系統方面,應是咱們的強項。對於搞嵌入式軟件的人,最重要的技術顯然是(實際上不少公司的招聘廣告上就是這樣寫的):
(1) 掌握主流嵌入式微處理器的結構與原理
(2) 必須掌握一個嵌入式操做系統
(3) 必須熟悉嵌入式軟件開發流程並至少作過一個嵌入式軟件項目。
正規高校軟件學院在嵌入式軟件方面最重要的課程包括:
(1)
嵌入式微處理器結構與應用:這是一門嵌入式硬件基礎課程,正規高校軟件學院用這門課取代了傳統的「微機原理與接口」課程(目前國內已有少部分高校IT專業這樣作了,由於講x86微機原理與接口很難找到實際用處,只爲教學而已)。咱們說過,嵌入式是軟硬件結合的技術,搞嵌入式軟件
的人應對ARM處理器工做原理和接口技術有充分了解,包括ARM的彙編指令系統。若不瞭解處理器原理,怎麼能控制硬件工做,怎麼能寫出節省內存又運行高速的最優代碼(嵌入式軟件設計特別講究時空效率),怎麼能寫出驅動程序(驅動程序都是與硬件打交道的)不少公司招聘嵌入式軟件人員
時都要求熟悉ARM處理器,未來若同窗到公司中從事嵌入式軟件開發,公司都會給你一本該設備的硬件規格說明書 (xxx
Specification),您必須能看懂其中的內存分佈和端口使用等最基本的說明(就像x86彙編同樣),不然怎麼設計軟件。有些同窗以爲嵌入式處理器課程較枯燥,這主要是硬件課程都較抽象的緣由,等咱們的嵌入式實驗室10月份建好後,您作了一些實驗後就會以爲看得見摸得着。還有同窗對A
RM彙編不感興趣,覺得嵌入式開發用C語言就足夠了。其實不該僅是將彙編語言當成一個程序設計語言,學彙編主要是爲了掌握處理器工做原理的。一個不熟悉彙編語言的人,怎麼能在該處理器寫出最優的C語言代碼。在嵌入式開發的一些關鍵部分,有時還必須寫彙編,如Bootloader等(可
能還包括BSP)。特別是在對速度有極高要求的場合(如DSP處理器的高速圖像採集和圖像解壓縮),目前主要還要靠彙編寫程序(我看到過不少公司是這樣作的)。當您在一個嵌入式公司工做時,在查看描述原理的手冊時,可能不少都是用匯編描述的(我就遇到過),這是由於不少硬件設計人員
只會寫或者喜歡用匯編描述,此時您就必須看懂彙編程序,不然軟硬件人員可能就沒法交流。不少嵌入式職位招聘時都要求熟悉彙編。
(2) 嵌入式操做系統類課程
除了WinCE的實時性稍差外,大多數嵌入式操做系統的實時性都很強因此也可稱爲實時操做系統Real Time Operating System.從事嵌入式的人至少須掌握一個嵌入式操做系統(固然掌握兩個更好)這在嵌入式的全部技術中是最爲關鍵的了。目前最重要的RTOS主要包括:
第一類、傳統的經典RTOS:最主要的即是Vxworks操做系統,以及其Tornado開發平臺。Vxworks因出現稍早,實時性很強(聽說可在1ms內響應外部事件請求),而且內核可極微(聽說最小可8K),可靠性較高等,因此在北美,Vxworks佔據了嵌入式系統的多半疆山。特別是在通訊設備等實時
性要求較高的系統中,幾乎非Vxworks莫屬。Vxworks的不少概念和技術都和Linux很相似,主要是C語言開發。像Bell-alcatel、Lucent、華爲等通訊企業在開發產品時,Vxworks用得不少。但Vxworks因價格很高,因此一些小公司或小產品中每每用不起。目前不少公司都在往嵌入式Linux轉(
據說華爲目前正在這樣轉)。但不管如何,Vxworks在一段長時間內還是不可動搖的。與Vxworks相似的稍有名的實時操做系統還有pSOS、QNX、Nucleus等RTOS。
第二類、嵌入式Linux操做系統:Linux的前途除做爲服務器操做系統外,最成功的即是在嵌入式領域的應用,緣由固然是免費、開源、支持軟件多、呼擁者衆,這樣嵌入式產品成本會低。Linux自己不是一個爲嵌入式設計的操做系統,不是微內核的,而且實時性不強。目前應用在嵌入式
領域的Linux系統主要有兩類:一類是專爲嵌入式設計的已被裁減過的Linux系統,最經常使用的是uClinux(不帶MMU功能),目前佔較大應用份額,可在ARM7上跑另外一類是跑在ARM 9上的,通常是將Linux 2.4.18內核移植在其上,可以使用更多的Linux功能(固然uClinux更可跑在ARM
9上)。不少人預測,嵌入式Linux預計將佔嵌入式操做系統的50以上份額,很是重要。缺點是熟悉Linux的人太少,開發難度稍大。另外,目前咱們能發現不少教材和不少大學都以ucOS/II爲教學用實時操做系統,這主要是因爲ucOS/II較簡單,且開源,很是適合入門者學習實時操做系統原理
,但因爲ucOS/II功能有限,實用用得較少,因此正規高校軟件學院不將其做爲教學重點,要學習就應學直接實用的,好比
uClinux就很實用。何況熟悉了Linux開發,不只在嵌入式領域有用,對開發Linux應用軟件,對加深操做系統的認識也有幫助,可謂一舉多得。據我所知,目前Intel、Philip都在大搞ARMLINUX的嵌入式開發,Fujitum則是在本身的處理器上大搞Linux開發。目前在嵌入式Linux領域,如下幾
個方面的人特別難找,一是能將Linux移植到某個新型號的開發版上二是能寫Linux驅動程序的人三是熟悉Linux內核裁減和優化的人。正規高校軟件學院在該嵌入式Linux方面的課程系列是:本科生操做系統必修課,而後是Linux程序設計選修課,最後是嵌入式Linux系統選修課。正規高校軟
件學院在Linux方面目前已有較強力量,魏老師和張老師熟悉Linux開發,金老師和唐老師熟悉Linux系統管理。
第三類、 Windows
CE嵌入式操做系統:Microsoft也看準了嵌入式的巨大市場,MS永遠是最厲害的,WinCE出來只有幾年時間,但目前已佔據了很大市場份額,特別是在PDA、手機、顯示儀表等界面要求較高或者要求快速開發的場合,WinCE目前已很流行(聽說有一家賣工控機的公司板子賣得太好,以致來不及爲
客戶裁減WinCE)。WinCE目前主要爲4.2版(.NET),開發平臺主要爲WinCE Platform
Builder,有時也用EVC環境開發一些較上層的應用,因爲WinCE開發都是你們熟悉的VC環境,因此正規高校軟件學院學過Windows程序設計課程的同窗都不會有多大難度,這也是WinCE容易被人們接受的緣由,開發環境方便快速,微軟的強大技術支持,WinCE開發難度遠低於嵌入式Linux。對
於急於完成,不想拿嵌入式Linux冒險的開發場合,WinCE是最合適了(找嵌入式Linux的人可沒那麼好找的),畢竟公司不能像學生學習那樣試試看,保證開發成功更重要。根據不一樣的側重點 ,WinCE還有兩個特殊版本,一個是MS PocketPC操做系統專用於PDA上(掌上電腦),另外一個是MS
SmartPhone操做系統用於智能手機上(帶PDA功能的手機),二者也都屬於WinCE平臺。在PDA和手機市場上,除WinCE外,著名的PDA嵌入式操做系統還有Palm
OS(因出現很早,頗有名)、Symbian等,但在WinCE的強勁衝擊下,Palm和Symbian來日還能有多長正規高校軟件學院多是全國高校中惟一一家開設專門的「Windows
CE嵌入式操做系統「課程的學校,這主要是基於如下緣由:正規高校軟件學院自己前面便有Windows程序設計課程,同窗學過VC後再學WinCE很是方便天然,經過學習WinCE一樣也可瞭解嵌入式軟件的通常開發過程,對Linux有害怕心理的同窗也很合適。很顯然,嵌入式Linux永遠不可能替代Wi
nCE,並且未來誰佔份額大還很難講,畢竟不少人更願意接受MS的平臺,就像各國政府都在大力推LINUX已好長時間,但您能看到幾個在PC機上真正使用LINUX的用戶據我觀察目前在嵌入式平臺上LINUX是叫得最響但仍是WinCE實際用得更多.嵌入式LINUX可能更多地是一些有長遠產品計劃的公
司爲下降成本而進行長遠考慮 二是微軟亞洲研究院對正規高校軟件學院WinCE課程的支持計劃,咱們也很但願未來正規高校軟件學院能有同窗經過微軟的面試去實習。WinCE和多媒體(如MPEG技術)是微軟亞洲工程院目前作得較多的項目領域之一他們很須要精通WinCE的人。
總結關於嵌入式操做系統類課程,若您以爲本身功底較深且能鑽研下去,則可去學嵌入式Linux若您以爲本身VC功底較好且想短平快地學嵌入式開發,則正規高校軟件學院的WinCE課程是最好的選擇。
(3) 嵌入式開發的其它相關軟件課程
搞嵌入式若能熟悉嵌入式應用的一些主要領域,這樣的人更受企業歡迎。主要的相關領域包括:
A、數字圖像壓縮技術:這是嵌入式最重要最熱門的應用領域之一,主要是應掌握MPEG編解碼算法和技術,如DVD、MP三、PDA、高精電視、機頂盒等都涉及MPEG高速解碼問題。爲此,正規高校軟件學院已預訂了一位能開設數字圖像處理課程的博士。
B、通訊協議及編程技術:這包括傳統的TCP/IP協議和熱門的無線通訊協議。首先,大多數嵌入式設備都要連入局域網或Internet,因此首先應掌握TCP/IP協議及其編程,這是需首要掌握的基本技術其次,無線通訊是目前的大趨勢,因此掌握無線通訊協議及編程也是是很重要的。無結通
信協議包括無線局域網通訊協議802.11系列,Bluetooth,以及移動通訊(如GPRS、GSM、CDMA等)。
C、網絡與信息安全技術:如加密技術,數字證書CA等。正規高校軟件學院有這方面的選修課。
D、DSP技術:DSP是Digital Signal
Process數字信號處理的意思,DSP處理器經過硬件實現數字信號處理算法,如高速數據採集、壓縮、解壓縮、通訊等。數字信號處理是電子、通訊等硬件專業的課程,對於搞軟件的人若能瞭解一下最好。目前DSP人才較缺。若是有信號與系統、數字信號處理等課程基礎,對於學習MPEG編解
碼原理會有很大幫助。
(4)嵌入式開發的相關硬件基礎
對於軟件工程專業的學生,從事嵌入式軟件開發,像數字電路、計算機組成原理、嵌入式微處理器結構等硬件課程是較重要的。另外,彙編語言、C/C、數據結構和算法、特別是操做系統等軟件基礎課也是十分重要的。咱們的主要目地是能看懂硬件工做原理,但重點應是在嵌入式軟件
,特別操做系統級軟件,那將是咱們的優點。
咱們的研究生裏有些是學電子、通訊類專業過來的,有較好的模擬電路和單片機基礎,學嵌入式很是合適。嵌入式自己就是從單片機發展過來的,只是單片機不帶OS,而如今不少嵌入式應用愈來愈複雜,以致不得不引入嵌入式操做系統。另外,爲追求更高速的信號處理速度,如今在一
些速度要求較高的場合,有很多公司是將一些DSP算法,如MPEG壓縮解壓縮算法等用硬件來實現,這就涉及到HDL數字電路設計技術及其FPGA/IP覈實現技術,這方面的人目前市場上也很缺。
(5) 題外話
另外,能寫驅動程序的人目前是很是緊缺的(驅動程序也可歸於嵌入式範疇),包括桌面Windows中的DDK開發環境和WDM驅動程序。公司每時每刻都要推出新產品,每個新產品出來了,要能被操做系統所使用,是必須寫驅動程序的。寫驅動程序就必須掌握操做系統(如Windows或Linux)
的內部工做原理,還涉及到少許硬件知識,難度較大,因此這方面的人很難找。想成爲高手的同窗,也可從驅動程序方面得到突破。我可說一下本身的經歷,三年前我曾短暫地在一家公司寫過WinCE驅動程序(正是由於知道這方面的人緊缺,因此纔要作這方面的事),儘管那之前從未作過驅
動程序,應聘那個職位時正是看準了公司是很難招聘到這方面的人,既然都找不到人,驅動還得有人作,這正是可能有機會切入這一領域的大好機會。面試時大講本身寫過多少萬行彙編程序,對計算機工做原理如何清楚,簡歷中又寫着我曾閱讀完兩本關於Windows Driver
Model的兩本英文原版書,寫過幾個小型的驅動程序練習程序(其實根本沒寫過,咱們的同窗未來千萬不要像我這樣,早練就些過硬功夫,就不至於淪落到我這等地步,就不用像我那樣去「欺騙」公司了,我這是一個典型的反面教材),竟然一切都PASS(固然最重要的是筆試和麪試問題還說得
過去),這隻能說明這一領域找人的困難程度。公司本就未期望找到搞過驅動的人,找個有相關基礎的人就算不錯了。作了之後,發現也並非怎樣難的。其實搞驅動程序的工做是很舒服的,搞完一個版本就會空一段時間,只有等公司新的芯片推出或新的OS出現後,才須要再去開發新一版
驅動,那時有將近一個月時間空閒着在等WinCE .NET Beta版推出,準備將驅動程序升級到CE .NET上,如今在軟件學院工做整日忙,無限懷念那段清閒時光。
很巧合,最近本人無心中再次體會到了嵌入式的迷人之處。上週我那用了3年的手機終於不能WORK了。這次更新,除要求有手機常見功能外,最好有MP3功能(如今不少英語聽力都有MP3文件),最好有英漢詞典,最好還能讀WORD文檔。最後選了個知足以上條件的最便宜的手機DOPOD
515(斬了我2.2K,但想一想這也算本身對嵌入式事業的支持,這樣便也想開了),算得上最低檔的智能手機了。回來一查,手機的about顯示,本手機Processor是ARM,其OS是MS Smartphone(即WinCE .NET
4.2),這麼巧合,簡直可作爲學習嵌入式課程的產品案例了(等咱們的WinCE課程開得有聲有色後,但願能從微軟研究院搞些Smartphone來開發開發)。有OS的手機果真了得,金山詞霸、WORD、EXCEL、REGEDIT等竟然都有smartphone版的,PC上的MP三、DOC等竟然在download時均可被自動轉換
成smartphone格式,真是爽。徹底可用Windows CE本身開發一些須要的程序download到本身的手機上。如今市面銷售PDA智能手機火爆,MS老是財源滾滾。但我已發現國產的ARMLINUX手機出如今市面上,價格只1.2K。
在GOOGLE網上能搜索太多的關於嵌入式系統的討論了,我剛發現一個http:www.embyte.com 很是不錯,有不少有經驗者談本身的體會投入到其中的論壇中,你會切身感到嵌入式學習的熱潮。
要麼走ARMWinCE,要麼走ARMLINUX,要麼走ARMVXWORKS。每一個搞嵌入式的人均可選一條路,條條大路通羅馬。
3、關於遊戲軟件方向
將遊戲軟件人才稱爲數字媒體軟件人才可能更好聽些,包括遊戲軟件策劃(最缺遊戲策劃的人)、遊戲軟件美術設計、遊戲軟件程序設計等多方面的人才,對軟件學院,遊戲軟件程序設計固然是最合適的了。
遊戲軟件人才的確目前很缺,據說不少遊戲軟件公司苦於沒新人才補充,特別是沒有高手補充,不得不相互挖人才,以致將遊戲軟件人才身價越擡越高。網上說日本教育部剛剛批准成立了日本第一家專門培養四年制遊戲軟件人才的本科大學。其實國內不少大學,特別是軟件學院都有搞
遊戲軟件人才的設想,但目前不多有作成的,主要緣由是找不到能上游戲軟件課的教師,據說有個學校只能花很大的價錢從Korea找老師來上課,果然缺到此等地步
已有不少青少年沉湎於網遊而頹廢的實例,好在還不至於上升到製造精神鴉片的高度,因此開發遊戲軟件的人也沒必要每日慚悔(但開發兒童益智類遊戲軟件的人是不需慚悔的),若是想一想這是爲發展民族軟件產業作貢獻,那反卻是一件有意義的事情了。不過聽一家遊戲軟件公司的老闆講
,搞遊戲軟件開發是很是辛苦的。
若想本身創業,搞搞遊戲軟件是不錯的主意。如今網上網站或公司都在收購遊戲軟件(特別是手機遊戲軟件,由於手機遊戲用戶可選從網站上download到手機上,不像網遊那麼複雜),按download次數分紅或一次性收購的都有。咱們的同窗在校期間是否也可發點小財搞得好,說不定可賣
到國外網站,直接掙$$$呢。
大體遊戲分紅如下幾類:
(1)
PC類遊戲,包括單機和網遊。這類遊戲開發平臺基本上都是基於VC和DitrectX(如DirectShow,DirectDraw,D3D等,DirectX資料可直接到MS網站上查)。DirectX和OpenGL是兩個主要的圖形標準,OpenGL跨平臺(Unix/Windows上均可跑),儘管不少搞研究的人對OpenGL讚不絕口,將DirectX罵
得一文不值,但事實是,在Windows平臺上,DirectX是最快最方便的,因此在Windows平臺上的遊戲仍是DirectX當家。
(2) 手機遊戲:目前手機遊戲主要開發平臺有兩類:
第一類手機遊戲是J2ME平臺(Java 2 Micro
Edition),J2ME本是爲嵌入式平臺設計的Java,但因爲Java生來就須要Java虛擬機(JVM)來解釋,因此在嵌入式產品不多用J2ME(太慢太耗內存)。但在手機遊戲中J2ME倒有用武之地,我想這可能主要是Java可跨OS平臺的緣由,由於手機的OS是千奇百怪的。我對J2ME徹底外行,但上次聽Squar
e Enix公司的人說,J2ME與咱們同窗學過的J2EE仍是有較大差異的。據我所知,目前手機中用的較多的是KJava語言,KJava是運行在一種叫K Java Virtual Machine的解釋器上(K JVM是SUN早期爲演示J2ME在嵌入式系統應用而開發的一個虛擬機),因此將在K
JVM上運行的J2ME叫KJava。儘管SUN說從此不保證支持K JVM,將開發新的更高性能的J2ME虛擬機取而代之,但因爲KJava出現較早,不少早期的手機遊戲軟件都將K
JVM假想成J2ME虛擬機的標準了,因此目前有大量的KJava手機遊戲軟件存在,並且還在用KJava繼續開發。特別是日本的手機遊戲軟件因爲開發較早(像叫什麼docomi的日本最大的電信運營商手機遊戲搞得很火),可能是基於KJava的。因此目前市場上在招聘手機遊戲軟件人才時,不少要求掌握
KJava。有關J2ME請到Sun的網站上找資料。
另外一類手機遊戲是BREW平臺,BREW是美國高通公司(Qualcomm,CDMA核心技術都是該公司開發的,有無數移動通訊技術專利)發明的,聽說可編譯成二進制代碼,那固然快了。主要的開發語言是C/C。但迫於被指責爲較封閉的壓力,目前Qualcomm已推出BREW平臺上的J2ME虛擬機(但可想像
那將是怎樣慢的速度)。Qualcomm搞定了不少手機制造商簽訂BREW受權許可協議,最狠的是Qualcomm與中國聯通綁在一塊兒大堆基於BREW的手機遊戲,因此有些公司招聘時要求掌握BREW也就不奇怪了。
去年00級22班畢業答辯時,有一位同窗講的是在公司作的KJava遊戲(那是一家日本遊戲軟件公司),還一位同窗講的是另外一家公司作的BREW遊戲,看來不一樣的公司有不一樣的選擇。未來誰會更火,我估計隨着手機硬件資源的不斷提升,不會在意一個JVM的開銷,J2ME應更有前途,畢竟它是
更開放的。
(3) 專用遊戲機:如電視遊戲,XBOX等,我不太瞭解,不過這些遊戲也太偏了。
從著名遊戲公司發來的對網遊和手機遊戲的人才需求,頗有表明性。從中咱們可看出,遊戲公司對人才的需求主要是如下技術:
(1) 計算機圖形學,特別是3D編程與算法,包括DirectX或OpenGL。開發平臺是VC/DIRECTX或KJAVA。
(2) 公司說,手機遊戲因手機資源有限,必須對圖像進行壓縮,因此如有一些圖像壓縮算法知識比較好。像若能有MPEG壓縮算法較好,手機上採用的是比MPEG壓縮得更狠的一些特殊算法,但舉一反三。
(3) TCP/IP Socket編程是搞網遊開發的人必須掌握的。
(4) 人工智能知識:複雜遊戲可能須要一些AI算法。
(5) 網絡與信息安全知識:網遊要防外掛。
通常遊戲公司的網遊服務器是基於Linux平臺的,因此還提出了對遊戲服務器端軟件工程師的技術需求(精通MSSQL、ORACLE、MYSQL等數據庫,精通Linux Programming,特別是Socket編程)。還有對維護遊戲網站人才需求(ASP
.NET和數據庫)。詳細請同窗本身看服務器。注意一條,最好有本身的遊戲軟件做品,若您應聘時能帶一個DirectX做品,那將有多強的競爭力,因此最重要的是如今就要行動,實踐,實踐,再實踐。linux