作者: hahapp (hahapp) 看板: Soft_Job
標題: [討論]分享一篇軟體就業的文章
時間: Mon Jan 14 16:47:41 2008
剛注冊了賬號 沒想到這裡有這麼多興趣相近的朋友和討論
和大家分享一篇前幾天剛看到的文章 希望能對各位有幫助 可能更加偏向于大陸的情況
軟件從業發展方向
--同濟軟件學院的萬院長
一、關于企業計算方向
企業計算(Enterprise Computing)是稍時髦較好聽的名詞,主要是禶~信息系統,如
ERP軟件(企業資源規劃)、CRM軟件(客戶關系管理)、SCM軟件(供應鏈管理,即物流軟件),銀
行証券軟件,財務軟件,電子商務/帴務(包括各種網站),數據倉庫,數據挖掘,商務智能等
企業信息管理系統.
企業計算領域對人才的需求顯然永遠是數量最大的,因為這是計算機應用最多的領域.
搞這方面的好處是:
(1)人才需求量極大,從事企業計算的公司在IT企業中佔了大多數。除非在專業上一無特
長,一般在這一領域總能找到工作。
(2)這方面的入門門檻相對較低(如果你的軟件功底不是很深,可考慮這一領域)
(3)這方面的大公司較多,大公司要賺大錢,所以多將精力花在企業計算業務上.如與正規
高校軟件學院同學目前實習的CitiCorp、HP、IBM、SAP、NEC等公司都屬這一領域的公司。
如果將來想到大公司找一份相對穩定的工作,從事這方面機會要大很多。
但從事這一領域的缺點也是明顯的:
由于這方面的入門門檻相對較低,雖然這方面的人才需求量是最大的,但將來競爭對手
會較多。您會發現,即使他原不是學IT專業的人,也許他突擊幾個月後,做o照樣像模像樣
。特別是當您年紀漸大後,您可能會發現,後面的年輕人可能很容易追上你的水平。如果您
將來到國外去工作,你可能會發現從岊這領域的人更多且高手如雲。當然,若您在這一領域
經過多年企業經驗,達到較高境界(如能設計軟件架構),則身價永遠是高的。國內在這方面
人才領域的主要問題是,有經驗的高手太少,皮毛了解的人太多。
從事企業計算領域,最重要的技能型技術課程是(1)J2EE架構與程序設計(2)大型數據庫
系統(如Oracle)(3)基于UML的系統分析與設計。如果說還有什麼重要的技能,還可將XML與
Web Service技術包含進來,若您在這X個領域掌握較好,則不愁找不到工作。其中尤其以
J2EE最為重要,目前J2EE已成為企業計算軟件開發的最主要平台,也是正規高校茬n件學院的
怑垠n課程之一。盡管該課程只能作為選修課,我們希望正規高校軟件學院同學無論將來想
從事何種方向,都應學一下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功鉏珔藿磟I(特別是財務模塊FI的實施)。SAP顧問身價是最高的,而且非常難找。其它
大型ERP系統,掌握PeopleSoft、Oracle Finacial、J.D.Edward、Siebel等大型ERP軟件系
統的人也很值錢。這方面的人之所以身價奇高,主要是因為這些軟件很專業,特別大,很難
有D版可學習,只有特j企業(如世界500強,90%以上使用SAP)才用得起,而且必須有實際工
作經驗才能掌握。如果是一個個人人都很容易有機會接觸的軟件,那麼這方簽的人通常就不
會稀缺。如果大家將來有機會接觸學習這些大型ERP軟件系統的機會,建議毫不猶豫地抓住
,那將捧上一輩的金飯碗。在國外,誡SAP的人特別值錢。物以稀為貴,這永遠是顛撲不破
的真理。SAP的價值不僅是因為他是一個ERP軟件, 而是其中體現的現代企業管理理念(如根
據訂貨需求自動安排原料採購和生產計劃等)。一般500強公司絕不會像國內很多企業那樣,
用J2EE從頭設計企業的ERP系統(即將是怎樣的人力投J,而且設計出來的系統怎麼可能是完
善的?),一定都會使用SAP這樣成熟的ERP軟件。用不起SAP的公司可能會用J2EE設計ERP系統
。
(2)掌握IBM大型機技術的人,如S/390主機,MVS操作系統,JCL作業控制語言,COBOL程
序設計語言,DB2關系數據庫或IMS層次數據庫,CISC中間件交易控制系統等IBM大型機專用
技術。國內五大銀行,以及國外絕大多數銀行的後台系統使用的都是以上平台。IBM大型機
號稱永不宕機而且平台相對封閉(這樣最安全),所以這些要求在24*7環境中連續運行的關鍵
應用(術語叫mission critical applications)都採用IBM大型機。這方面的人才妝狴H稀缺
,是因為會大型機的人都是老人(90年代以前搞IT的人),全世界新畢業的IT畢業生不可能再
去學IBM大型機(這是一種相對“古老“的毆術),沒有新人補上,而銀行的系統必須維持下去
而且銀行還要不斷開發新業務(如新的存款品種),雖然對IBM大型機人才的絕對需求量不很大
,但畈對恆定,銀行到哪裡找這方面的新人,很難找到. 若好找,花旗軟件也不會花那麼大的代
價去培訓我們的實習同學了(去年培訓20多個人,聽說公司鋅花了數十萬元培訓費). 如果您
將來到國外找工作,會IBM大型機可能是最好找工作的領域之一了,而且保証找的都是大銀行
等好工作,我以前教過的計算機專業90-94級的一些同學,凡是畢業後從事大型機開發的,現多
在國外一些很好的公司工作(有幾位同學在各國各公司跳來跳去,簡直如履平地). 其實我覺
得我們最幸福的同學就是在花旗軟件做IBM大型機銀行軟件的同學,這樣的機會太難得了.正
規高校軟件學院00級2+2班一位同學,當初放棄保研,看準在花旗軟件做大型機並且非常努力
,還未畢業,公司便派她到國外參加一個項目的開發,成了項目骨幹,我覺得她當初選擇是完全
正確的(01級一位女同學剛剛也自願放棄了保研機會去花旗做大型機,我們祝願她將來也能
有好的前景。其實像花旗軟件主動安排並鼓勵員工讀b職研究生,這樣開明的公司目前並不
多的,在職讀研也是一種不錯的選擇,又不會失去自己喜歡的實習工作機會,能兼顧),讀書
的最終目地還虍為了工作. 如果您將來在國外找工作,根本沒人管您是什麼文憑,國外企業絕
不會花冤枉錢,只會招有領域工作經驗能立即上手的人,用最少的錢在限定的時間完成項目
而在國內,因為人力成本較低,公司招聘一很多高學歷的人才,盡管可能根本用不到這麼高
的學歷,但國內的人力太便宜了,陘偵礞ㄟ狙禷O一下人才呢?這樣公司的門面還要好看些。
.(3)其它如掌握數據倉庫技術的人在國內也很少. 目前最主流的數據倉庫平台應是
ORACLE的數據倉庫工具. 在國外,會一些特殊數據倉庫的人,如NCR/TEREDATA的人非常難找.
我們的同學現在年紀都很輕,年輕H充滿熱情,喜硠w追逐一些熱門技術,這當然正確的,畢
竟學習SAP和大型機的機會畢竟不多,畢業時先能找到一份工作是重要的. 但我相信隨著年紀
的增長,大家N來慢慢都會思考的,掌握一項競爭對手較少的絕技的重要性,將來如果自己到
國外工作什麼技術最好找工作(對搞軟件的人到國外工作或移民是最易的,也許您現在不想
,但我相信工作多年以後,很大一部分同學可能想到國外闖盪一下),你要考慮你今後一生的出
路,什麼樣的絕技是最穩定最鬆最高收入的. 搞軟件的人,當年紀大些時,您可能更向住像
搞醫學人的那樣能更多靠經驗吃飯,而不須整天像年輕人那樣不得不去追逐不斷出現絢軟件
新技術,這個時候也許您也許會發現,如果您在SAP或大型機等方面有些絕技,您會有很大優勢
,因為這些較偏的領域其技術變化是相對很緩慢的.
我還記得在2000年時我曾在業余時間與一位德國人合作面試一些IT人才到德國去,那時
德方各公司發來的需求有很多是SAP和IBM大型機�我們在眾多應聘者中最後也未找到一個
在這方面有經驗,甚至是有一點經驗的. 相反,掌握流行技術的人因太多而不很值錢.
我們的同學將來找工作時,不僅要盯著國內市場,還要有一種放眼全球的眼光,對搞軟件
的人您將來完全可能到其它國家去工作. 尤其是在歐美、日本、新加坡弘禤a,對SAP(包括
IBM大型機)人才的需求是很大的。畢竟比同學見得多些,提醒同學將來多留意有學習這些絕
技的機會,一旦有機會建議當仁不. 國內的人才市場可訪問www.51job.com,國外的IT人才
需求可訪問www.hotjobs.com、www.workopolis.com、www.monster.com等著名網站。應頜常
訪問這些網站,以了解市場對人才的具體需求,早做準備。
以上對企業計算領域的觀點,供大家參考.雖然觀點未必正確,但確是直言不鉼. 總之,每
個人的腦袋都長在自己脖子上,每個人都應有自己的判斷.
還要注意,我以上純粹是從將來就業的角度談問題. 如果您將來準備到國外讀書,則應重
視基礎課,像C,Assembly,OOP,Discrete Math,Data Structure,Opeating System,Database
Principle,Network,Software Engineering,Compiler,Digital Circuit,Computer
Graphics,Computer Component and Architecture等基礎課,在國外大學IT專業中一般都能
找到相P課程,若國內學過,到國外讀書時一般可申請免修一部分. 但我也想提醒同學,如果
您將來畢業時萬一申請國外大學不成,不得不去找工作時,若只將精力花在這些IT專業學生
都會的基礎課上(傳統IT教育模式), 未掌握一些像J2EE等技能型技術,是不容易找到一份工
作的,我們已有同學有這樣的教訓。從找工作的角度講,企業關心的不是您學過什麼課程,
而是關心您能做什麼,有什麼技能,能做什麼項目。
二、關于嵌入式系統閬V
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特
定專用設備上,通常這些設備的硬件資源(如處嚎器、存儲器等)非常有限,並且對成本很敏
感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。像我們
平常常見到的手機、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數字相機(DC)、數
字攝像機(DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、遊戲機、智能玩具、交
換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等等
都是典型的嵌入式系統。
嵌入式系統是軟硬結合的東西,搞嵌入式開發的人有兩類。
一類是學電子工程、通信工程等偏硬件專業出身的人,他們主要是搞硬件]計,有時要
開發一些與硬件關系最密切的最底層軟件,如BootLoader、Board Support Package(像PC的
BIOS一樣,往下驅動硬件,往上支持操耞系統),最初級的硬件驅動程序等。他們的優勢是
對硬件原理非常清楚,不足是他們更擅長定義各種硬件接口,但對復雜軟件系統往往力不從
心(例如嵌入式操作系統原理和復雜應用軟件等)。
另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。
如G我們學軟件的人對硬件原理和接口有較好的掌握,我們完全也可寫BSP和硬件驅動程序
。嵌入式硬件設計完後,各種功能就全靠軟件來實現了,入式設備的增值很大程度上取決
于嵌入式軟件,這佔了嵌入式系統的最主要工作(目前有很多公司將硬件設計包給了專門的
硬件公司,稍復雜的硬件都交給台灣或國外公司設計,國內的硬件設計力量很弱,很多嵌入
式公司自己只負責開發軟件,因為公司都知道,嵌入式產品的差異很大程蛈b軟件上,在軟
件方面是最有“花頭“可做的),所以我們搞軟件的人完全不用擔心我們在嵌入式市場上的
用武之地,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。
從事嵌入式軟件開發的好處是:
(1) 目前國內外這方面的人都很稀缺。一方面,是因偃o一領域入門門檻較高,不僅要
懂較底層軟件(例如操作系統級、驅動程序級軟件),對軟件專業水平要求較高(嵌入式系統
對軟件設計的時間和空間效率要求較高),而且必須懂得硬件的工作原理,所以非專業IT人
員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,很h軟硬件技術出
現時間不長或正在出現(如ARM處理器、嵌入式操作系統、MPEG技術、無線通信協議等),掌
握這些新技術的人當然很找。嵌入式人才稀缺,身價自然就高,越有經驗價格就越高。其實
嵌入式人才稀少,根本原因可能是大多數人無條件接觸,這需要相應的嵌入式開發板和軟件,
t外需要有經驗的人進行指導開發流程。
(2) 與企業計算等應用軟件不同,嵌入式領域人才的工作強度通常低一些(但收入不低
)。搞企業應用軟件的IT企業,這個用戶的系統搞完了,又得去搞下一個用戶的,而且每個
用戶的需求和完成時間都得按客戶要求改變,往往疲于奔命,重復珧吽C相比而言,搞嵌入
式系統的公司,都有自己的產品計劃,按自己的節奏行事。所開發的產品通常是通用的,不
會因客戶的不同而修改。一該產品型號開發完了,往往有較長一段空閒時間(或只是對軟件
進行一些小修補),有時間進行充電和休整。另外,從事嵌入式軟件的P每個人工作范圍相對
狹窄,所涉及的專業技術范圍就是那些(ARM、RTOS、MPEG、802.11等),時間長了這些東西
會越搞越有經驗,賣賣老本,幾句指導也夠讓漕鴗J道者琢磨半年的。若搞應用軟件,可
能下一個客戶要換成一個完全不同的軟件開發平台,那就苦了。
(3) 哪天若想創業,搞自已的產品,那麼嵌入式是一個不錯的主意,這可不像應用軟件
那樣容易被盜版。土木學院有一個叫啟明星的公司開發出一個好象叫“工程e”的掌上PDA(
南校區門口有廣告),施工技術人員用該PDA可當場進行土木概預算和其它土木計算,據說銷
路特好。我認識的某大學老師,他開發的飯館用的點菜PDA(WinCE平台,可無線連網和上網
),據他說銷路不錯,飯館點點PDA讓客戶點菜,多顯派頭檔次。我記得00級2+2班當年有一
組同學在學Windows程序設計課程時用VC++設計了一個功能很強的點菜系統做為課程項目,
當時真想建議他們將這個軟件做成PDA,估計會有些銷路(上海火車站南廣場的Macdonald便
使用很漂亮的PDA給用戶點食品,像摸像樣的)。這些PDA的硬件設計一般都是請其它公司給
訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設計軟件就變成自己的產品了。
從事嵌入式軟件開發的缺點是:
(1) 入門起點較高,所用到的技術往往都有一w難度,若軟硬件基礎不好,特別是操作
系統級軟件功底不深,則可能不適于此行。
(2) 這方面的企業數量要遠少于企業計算類企業。特別是從事嵌入式的小企業數量較多
(小企業要搞自己的產品創業),知名大公司較少(搞嵌入式的大公司主要有Intel、
Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半導體、
Microtek、研華、華為、中興通信、上廣電等制造類企業)。這些企業的習慣思維方式是到
q子、通信等偏硬專業找人。由于正規高校軟件學院以前畢業生以企業計算為主,所以正規
高校軟件學院與這些企業聯系相對較少。正規高校軟件學院正積極努力,目前已與其中部分
公司建立了聯系,爭取今後能有正規高校軟件學院同學到這些企業中實習或就業。
(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數公
司也並無此要求,只要有經驗即可。
正規高校軟件學院同學若學習嵌入﹛A顯然應偏重于嵌入式軟件,特別是嵌入式操作系
統方面,應是我們的強項。對于搞嵌入式軟件的人,最重要的技術顯然是(實際上很多公司
的招聘廣告上就是這樣寫的):
(1) 掌握主流嵌入式微處理器的結構與原理
(2) 必須掌握一個嵌入式操作系統
(3) 必須熟悉嵌入式軟件開發流程並至少做過一個嵌入式軟件項目。
正規高校軟件學院在嵌入式軟件方面最重要的課程包括:
(1) 嵌入式微處理器結構與野�這是一門嵌入式硬件基礎課程,正規高校軟件學院用
這門課取代了傳統的“微機原理與接口”課程(目前國內已有少部分高校IT專業這樣做了,
因為講x86微機原理與接口很難找到實際用處,只為教學而已)。我們說過,嵌入式是軟硬件
結合的技術,搞嵌入式軟件的人應對ARM處理器工@原理和接口技術有充分了解,包括ARM的
匯編指令系統。若不了解處理器原理,怎麼能控制硬件工作,怎麼能寫出節省內存又運行高
速的最優代碼(嵌入式軟件設計特別講究時空效率),怎麼能寫出驅動程序(驅動程序都是與
硬件打交道的)?很多公司招聘嵌入式軟件人員時都要求熟悉ARM處z器,將來若同學到公司
中從事嵌入式軟件開發,公司都會給你一本該設備的硬件規格說明書 (xxx
Specification),您必須能看懂其中的內存分布和端口使用等最基本的說明(就像x86匯編一
樣),否則怎麼設計軟件。有些同學覺得嵌入式處理器課程較枯燥,這主要是硬件課程都較
抽象的鴞],等我們的嵌入式實驗室10月份建好後,您做了一些實驗後就會覺得看得見摸得
著。還有同學對ARM匯編不感興趣,以為嵌入式開發用C語言就足夠了。其實不應僅是將匯編
語言當成一個程序設計語言,學匯編主要是為了掌握處理器工作原理的。一個不熟悉匯編語
言的人,怎麼能在該處理器寫出最優的C語言代碼。在嵌入式開發的一些關鍵部分,有時還
必須寫匯編,如Bootloader等(可能還包括BSP)。特別是在對速度有極高要求熙鶡X(如DSP
處理器的高速圖像採集和圖像解壓縮),目前主要還要靠匯編寫程序(我看到過很多公司是這
樣做的)。當您在一個嵌入式公司工作時,在查看描述原理的手冊時,可能很多都是用匯編
描述的(我就遇到過),這是因為很多硬件設計人員只會寫或者喜歡用匯編描述,此時您就必
須看懂匯編程序,否則軟硬件人員可能就無法交流。很多嵌入式職位招聘時都要求熟悉匯編
。
(2) 嵌入式操作系統類課程
除了WinCE的實時性稍差外,大多數嵌入式操作系統的實時性都很強,所以也可稱為實時
操作系統Real Time Operating System.從事嵌入式的人至少須掌握一荋O入式操作系統(當
然掌握兩個更好),這在嵌入式的所有技術中是最為關鍵的了。目前最重要的RTOS主要包括:
第一類、傳統的經典RTOS:訞主要的便是Vxworks操作系統,以及其Tornado開發平台。
Vxworks因出現稍早,實時性很強(據說可在1ms內響應外部事件請求),並且內核可極微(據
說最小可8K),可靠性較高等,所以在北美,Vxworks佔據了嵌入式系統的多半疆山。特別是
在通信設備等實時性要求較高的系統中,幾乎非Vxworks莫屬。Vxworks的很多概念和技術都
和Linux很類似,主要是C語言開發。像Bell-alcatel、Lucent、華為等通信企業在開發產品
時,Vxworks用得很多。但Vxworks因價格很高,所以一些小公司或小產品中往往用不起。目
前很多公司都在往嵌入式Linux轉(聽說華為目前正在這樣轉)。L論如何,Vxworks在一段
長時間內仍是不可動搖的。與Vxworks類似的稍有名的實時操作系統還有pSOS、QNX、
Nucleus等RTOS。
第二類、嵌入式Linux操作系統:Linux的前途除作為服務器操作系統外,最成功的便是
在嵌入式領域的應用,原因當然是免費、開源、支持軟件多、呼擁梋眾,這樣嵌入式產品成
本會低。Linux本身不是一個為嵌入式設計的操作系統,不是微內核的,並且實時性不強。
目前應用在嵌入式領域的Linux系統主要有兩類:一類是專為嵌入式設計的已被裁減過的
Linux系統,最常用的是uClinux(不帶MMU功能),目前佔較大應用份額,可在ARM7上跑;t一
類是跑在ARM 9上的,一般是將Linux 2.4.18內核移植在其上,可使用更多的Linux功能(當
然uClinux更可跑在ARM 9上)。很多人預測,嵌入吽Linux預計將佔嵌入式操作系統的50%以
上份額,非常重要。缺點是熟悉Linux的人太少,開發難度稍大。另外,目前我們能發現很
多教材和很多大學都以ucOS/II為教學用實時操作系統,這主要是由于ucOS/II較簡單,且開
源,非常適合入門者學習實時操作系統原理,但由于ucOS/II功能有限,實用用得較少,所
以正規高校軟件學院不將其作為教學重點,要學習就應學直接實用的,比如 uClinux就很實
用。況且熟悉了Linux開發,ㄥb嵌入式領域有用,對開發Linux應用軟件,對加深操作系
統的認識也有幫助,可謂一舉多得。據我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌
入式開發,Fujitum則是在自己的處理器上大搞Linux開發。目前在嵌入式Linux領域,以下
幾個方面的人特別難找,一是能將Linux移植鴐Y個新型號的開發版上;二是能寫Linux驅動
程序的人;三是熟悉Linux內核裁減和優化的人。正規高校軟件學院在該嵌入式Linux方面的
課程系列是:本科生操作系統必修課,然後是Linux程序設計選修課,最後是嵌入式Linux系
統選修課。正規高校軟件學院在Linux方面目前已有較強力量,Q老師和張老師熟悉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來日還能有多長?興W高校軟件學院可能是全國高校中唯一一家
開設專門的“Windows CE嵌入式操作系統“課程的學校,這主要是基于以下原因:正規高校
軟件學院本身前面便有Windows程序設計課程,同學學過VC++後再學WinCE,非常方便自然,
通過學習WinCE同樣也可了解嵌入式軟件的一般開發過程,對Linux有懼怕心理的同學也很合
適。很顯然,嵌入式Linux永遠不可能替代WinCE,而且將來誰佔份額大還很難講,畢竟很多
人更願意接受MS的平台,就像各國政府都在大力推LINUX已好長時間,但您能看到幾個在PC
機上真正使用LINUX的用戶?據我觀察,目前在嵌入式平台上,LINUX是叫得最響,但還是WinCE
實際用得更多.嵌入式LINUX可能更多地是一些有長遠產品計劃的公司,為降低成本而進行長
遠考慮; 二是微軟亞洲研究院對正規高校軟件學院WinCE課程的支持計劃,我們也很希望將
來正規高校軟件學院能有同學通過微軟的面試去實習。WinCE和多媒體(如MPEG技術)是微軟
亞洲工程院目前做得較多的項目領域之一,他們很需要精通WinCE的人。
總結關于嵌入式操作系統類課程,若您覺得自己功底較深且能鑽研下去,則可去學嵌入
式Linux;若您覺得自己VC++功底較好且想短平快地學嵌入式開發,則正規高校軟件學院的
WinCE課程是最好的選擇。
(3) 嵌入▲}發的其它相關軟件課程
搞嵌入式若能熟悉嵌入式應用的一些主要領域,這樣的人更受企業歡迎。主要的相關領
域包括:
A、數字圖像壓縮技術:這是嵌入式最重要最熱門的應用領域之一,主要是應掌握MPEG編
解碼算法和技術,如DVD、MP3、PDA、高精電視、機頂盒等都涉及MPEG高速解碼問題。為此
,正規高校軟件學院已預訂了一位能開設數字圖像處理課程的博士。
B、通信協議及編程技術:這包括傳統的TCP/IP協議和熱門的無線通信協議。首先,大多
數嵌入式設備都要連入局域網或Internet,所以首先應掌握TCP/IP協議及其編程,這是需首
要掌握的基本技術;其次,無線通信是目前的大趨勢,所以掌握無線通信協議及編程也是是
很重要的。無結通信協議包括無線局域網通信協議802.11系列,Bluetooth,以及移動通信
(如GPRS、GSM、CDMA等)。
C、網絡與信息安全技術:如加密技術,數字証書CA等。正規高校軟件學院有這方面的選
修課。
D、DSP技術:DSP是Digital Signal Process數字信號處理的意思,DSP處理器通過硬件
實現數字信號處理算法,如高速數據採集、壓縮、解壓縮、通信等。數字信號處理是電子、
通信等硬件專業的課程,對于搞軟件的人若能了解一下最好。目前DSP人才較缺。如果有信
號與系統B數字信號處理等課程基礎,對于學習MPEG編解碼原理會有很大幫助。
(4)嵌入式開發的相關硬件基礎
對于軟件工程專業的學生,從事嵌入式軟件開發,像數字電路、計算機組成原理、嵌入
式微處理器結構等硬件課程是較重要的。另外,匯編語言、C/C++、數據結構和算法、特別
是操作系統等軟件基礎課也是十分重要的。我們的主要目地是能看懂硬件工作原理,但重點
應是在嵌入式軟件,特別操作系統級軟件,那將是我們的優勢。
我們的研究生裡有些是學電子、通信類專業過來的,有較好的模擬電路和單片機基礎,
學嵌入式非常合適。嵌入式本身就是從璊躨鰽o展過來的,只是單片機不帶OS,而現在很多
嵌入式應用越來越復雜,以至不得不引入嵌入式操作系統。另外,為追求更高速的信號處理
肕度,現在在一些速度要求較高的場合,有不少公司是將一些DSP算法,如MPEG壓縮解壓縮
算法等用硬件來實現,這就涉及到HDL數字電路設計技術及其FPGA/IP核實現技術,這方面的
人目前市場上也很缺。
(5) 題外話
另外,能寫驅動程序的人目前是非常緊缺的(驅動程序也可歸_嵌入式范疇),包括桌面
Windows中的DDK開發環境和WDM驅動程序。公司每時每刻都要推出新產品,每一個新產品出
來了,要能被操作系統所使蚔,是必須寫驅動程序的。寫驅動程序就必須掌握操作系統(如
Windows或Linux)的內部工作原理,還涉及到少量硬件知識,難度較大,所以這方面的人很
難找。想成為高手的同學,也可從驅動程序方面獲得突破。我可說一下自己的經歷,三年前
我曾短暫地在一家公司寫過WinCE驅動程序(正是因為知道這方面的人緊缺,所以才要做這方
面的事),盡管那以前從未做過驅動程序,應聘那個職位時正是看準了公司是很難招聘到這
方面的H,既然都找不到人,驅動還得有人做,這正是可能有機會切入這一領域的大好機會
。面試時大講自己寫過多少萬行匯編程序,對計算機工作原理如何清楚,簡歷中又寫著我曾
閱讀完兩本關于Windows Driver Model的兩本英文原版書,寫過幾個小型的驅動程序練習程
序(其實根本沒寫過,畯怐漲P學將來千萬不要像我這樣,早練就些過硬功夫,就不至于淪
落到我這等地步,就不用像我那樣去“欺騙”公司了,我這是一個典型的反面教材),居然
一切都PASS(當然最重要的是筆試和面試問題還說得過去),這只能說明這一領域找人的困難
程度。公司本就未指望找到搞過驅動的H,找個有相關基礎的人就算不錯了。做了以後,發
現也並不是怎樣難的。其實搞驅動程序的工作是很舒服的,搞完一個版本就會空一段時間,
珿有等公司新的芯片推出或新的OS出現後,才需要再去開發新一版驅動,那時有將近一個月
時間空閒著在等WinCE .NET Beta版推出,準備將驅動逢序升級到CE .NET上,現在在軟件學
院工作整日忙,無限懷念那段悠閒時光。
很巧合,最近本人無意中再次體會到了嵌入式的迷人之處。卬周我那用了3年的手機終
于不能WORK了。此次更新,除要求有手機常見功能外,最好有MP3功能(現在很多英語聽力都
有MP3文件),最好有英漢詞典,最好還能讀WORD文檔。最後選了個滿足以上條件的最便宜的
手機DOPOD 515(斬了我2.2K,但想想這也算自己對嵌入式事業的支持,這樣便也Q開了),
算得上最低檔的智能手機了。回來一查,手機的about顯示,本手機Processor是ARM,其OS
是MS Smartphone(即WinCE .NET 4.2),這麼巧合,簡直可做為學習嵌入式課程的產品案例
了(等我們的WinCE課程開得有聲有色後,希望能從微軟研究院搞些Smartphone來開發開發)
。有OS漱熅鱆G然了得,金山詞霸、WORD、EXCEL、REGEDIT等居然都有smartphone版的,
PC上的MP3、DOC等居然在download時都可被自動轉換成smartphone格式,真是爽。完全可用
Windows CE自己開發一些需要的程序download到自己的手機上。現在市面銷售PDA智能手機
火爆,MS總是財源滾滾。琱w發現國產的ARM+LINUX手機出現在市面上,價格只1.2K。
在GOOGLE網上能搜索太多的關于嵌入式系統的討論了,我剛發現一個
http://www.embyte.com 非常不錯,有很多有經驗者談自己的體會,投入到其中的論壇中,
你會切身感到嵌入式學習的熱潮。
要麼走ARM+WinCE,要麼走ARM+LINUX,要麼走ARM+VXWORKS。每個搞嵌入式的人都可選
一條路,條條大路通羅馬。
三、關于遊戲軟件方向
將遊戲軟件人才椄側r媒體軟件人才可能更好聽些,包括遊戲軟件策劃(最缺遊戲策
劃的人)、遊戲軟件美術設計、遊戲軟件程序設計等多方面的人才,對軟件學院,遊戲軟件
程序設計當然是最合適的了。
遊戲軟件人才的確目前很缺,聽說很多遊戲軟件公司苦于沒新人才補充,特別是沒有高
手補充,不得不相互挖人才,以至將遊戲軟件人才身價越抬越高。網上說日本教育部剛剛批
準成立了日本第一家專門培養四年制遊戲軟件人才的本科大C其實國內很多大學,特別是
軟件學院都有搞遊戲軟件人才的設想,但目前很少有做成的,主要原因是找不到能上遊戲軟
件課的教師,聽說有該學校只能花很大的價錢從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倒有峈Z之地,我想這可能主要是Java可跨OS平台的原因
,因為手機的OS是千奇百怪的。我對J2ME完全外行,但上次聽Square Enix公司的人說,
J2ME與我們同學學過的J2EE還是有較大差別的。據我所知,目前手機中用的較多的是KJava
語言,KJava是運行在一種叫K Java Virtual Machine的解擰馱W(K JVM是SUN早期為演示
J2ME在嵌入式系統應用而開發的一個虛擬機),所以將在K JVM上運行的J2ME叫KJava。盡管
SUN說今後不保証支持K JVM,將開發新的更高性能的J2ME虛擬機取而代之,但由于KJava出
現較早,很多早期的手機遊戲軟件都將K JVM假想成J2ME虛擬機的標準了,所以目前有大量
的KJava手機遊戲軟件存在,而且還在用KJava繼續開發。特別是日本的手機遊戲軟件由于開
發較早(像叫什麼docomi的日本最大的電H運營商手機遊戲搞得很火),多是基于KJava的。
所以目前市場上在招聘手機遊戲軟件人才時,很多要求掌握KJava。有關J2ME請到Sun的網站
上湴資料。
另一類手機遊戲是BREW平台,BREW是美國高通公司(Qualcomm,CDMA核心技術都是該公
司開發的,有無數移動通信技術專利)發明的,據說可編譯成二進制代碼,那當然快了。主
要的開發語言是C/C++。但迫于被指責為較封閉的壓力,目前Qualcomm已推出BREW平台上的
J2ME虛擰�但可想像那將是怎樣慢的速度)。Qualcomm搞定了很多手機制造商簽定BREW授權
許可協議,最狠的是Qualcomm與中國聯通綁在一起大堆基于BREW的手機遊戲,所以有些公司
招聘時要求掌握BREW也就不奇怪了。
去年00級2+2班畢業答辯時,有一位同學講的是在公司做的KJava遊戲(那是一家日本遊
戲軟件公司),還一位同學講的是另一家公司做的BREW遊戲,看來不同的公司有不同的選擇
。將來誰會更火,我估計隨著手機硬件篞蔽漱�_提高,不會在乎一個JVM的開銷,J2ME應
更有前途,畢竟它是更開放的。
(3) 專用遊戲機:如電視遊戲,XBOX等,我不太了解,不過這些遊戲也太偏了。
從著名遊戲公司發來的對網遊和手機遊戲的人才需求,很有代表性。從中我們可看出,
遊戲公司對人才的需求主要O以下技術:
(1) 計算機圖形學,特別是3D編程與算法,包括DirectX或OpenGL。開發平台是
VC++/DIRECTX或KJAVA。
(2) 公司說,手僻遊戲因手機資源有限,必須對圖像進行壓縮,所以若有一些圖像壓縮
算法知識比較好。像若能有MPEG壓縮算法較好,手機上採用的是比MPEG壓縮得更狠的一些特
殊算法,但觸類旁通。
(3) TCP/IP Socket編程是搞網遊開發的人必須掌握的。
(4) 人工智能知識:復雜遊戲可能需n一些AI算法。
(5) 網絡與信息安全知識:網遊要防外掛。
一般遊戲公司的網遊服務器是基于Linux平台的,所以還提出了對遊戲服務端軟件工
程師的技術需求(精通MSSQL、ORACLE、MYSQL等數據庫,精通Linux Programming,特別是
Socket編程)。還有對維護遊戲網站人才需求(ASP .NET和數據庫)。詳細請同學自己看服務
器。注意一條,最好有自己的遊戲軟件作品,若您應聘時能帶一個DirectX作品,那將有多
強的競坐O,所以最重要的是現在就要行動,實踐,實踐,再實踐。
—
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 222.35.3.162
[1;37m推 [33mFalldog [m [33m:我竟然看完了…好長…. =_= [m 01/14 18:58
[1;37m推 [33mAreTheyYou [m [33m:看完第2段先推 [m 01/14 19:06
[1;37m推 [33mdeepdish [m [33m:看完= = [m 01/14 19:39
[1;37m推 [33mnobody1 [m [33m:看完 +1 [m 01/14 20:13
[1;37m推 [33mAurim [m [33m:看完了,很純粹就是年輕人就業分析;不考慮十幾二十年後.. [m 01/14 21:29
[1;37m推 [33myoruhoshi [m [33m:看術語…好像是從大陸那邊抓過來的文章,現在還適用嗎? [m 01/15 00:04
[1;31m→ [33myoruhoshi [m [33m:抱歉,文章我跳著看… [m 01/15 00:06
[1;37m推 [33mcrazyorange [m [33m:覺得這篇寫的還不錯@.@ [m 01/15 00:30
[1;37m推 [33mkahiro [m [33m:好長..純推…改天精神好再來看..睡覺去… [m 01/15 00:35
[1;37m推 [33mPICASSO1 [m [33m:我很想看看Aurim的分析….Aurim應該已經50幾歲了吧??在 [m 01/15 14:43
[1;31m→ [33mPICASSO1 [m [33m:這變化起浮很的台灣本土,已經可以看到10幾20年後了!! [m 01/15 14:44
[1;31m→ [33mhahapp [m [33m:我同學在做獵頭(talent-hunter),據他說,大陸是文中這樣的 [m 01/15 20:12
[1;31m→ [33mhahapp [m [33m:據一個在做獵頭(talent-hunter)的說,此文正是大陸的現狀 [m 01/15 20:47
[1;37m推 [33mRightBack [m [33m:介紹得還不差吧…我也想知道10幾20年後該怎麼看… [m 01/15 23:29