软件技术专业就业方向.docx
- 文档编号:25290306
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:33
- 大小:32.75KB
软件技术专业就业方向.docx
《软件技术专业就业方向.docx》由会员分享,可在线阅读,更多相关《软件技术专业就业方向.docx(33页珍藏版)》请在冰豆网上搜索。
软件技术专业就业方向
软件技术专业就业方向
一、关于企业计算方向
企业计算(EnterpriseComputing)是稍时髦较好听的名词,主要是指企业
信息系统,如ERP软件(企业资源规划)、CRM软件(客户关系管理)、SCM
软件(供应链管理,即物流软件),银行证券软件,财务软件,电子商务/政
务(包括各种网站),数据仓库,数据挖掘,商务智能等企业信息管理系
统.
企业计算领域对人才的需求显然永远是数量最大的,因为这是计算机应用最
多的领域.搞这方面的好处是:
(1)人才需求量极大,从事企业计算的公司在IT企业中占了大多数。
除非在
专业上一无特长,一般在这一领域总能找到工作。
(2)这方面的入门门槛相对较低(如果你的软件功底不是很深,可考虑这一
领域)
(3)这方面的大公司较多,大公司要赚大钱,所以多将精力花在企业计算业务
上.如果将来想到大公司找一份相对稳定的工作,从事这方面机会要大很多
。
但从事这一领域的缺点也是明显的:
由于这方面的入门门槛相对较低,虽然这方面的人才需求量是最大的,但
将来竞争对手会较多。
您会发现,即使他原不是学IT专业的人,也许他突
击几个月后,做得照样像模像样。
特别是当您年纪渐大后,您可能会发现
,后面的年轻人可能很容易追上你的水平。
如果您将来到国外去工作,你
可能会发现从事这领域的人更多且高手如云。
当然,若您在这一领域经过
多年企业经验,达到较高境界(如能设计软件架构),则身价永远是高的
。
国内在这方面人才领域的主要问题是,有经验的高手太少,皮毛了解的
人太多。
从事企业计算领域,最重要的技能型技术课程是
(1)J2EE架构与程序设计
(2)大型数据库系统(如Oracle)
(3)基于UML的系统分析与设计。
如果说还有什么重要的技能,还可将XML与WebService技术包含进来,若
您在这几个领域掌握较好,则不愁找不到工作。
其中尤其以J2EE最为重要,目前J2EE已成为企业计算软件开发的最主要平
台。
希望同学无论将来想从事何种方向,都应学一下J2EE课程,至少可为
将来找工作备一手关键功夫。
包括想从事嵌入式或其它领域的同学,也是
很有必要学一下J2EE的,毕竟J2EE是目前最重要的平台之一,即使您将来
不想从事企业计算领域,了解一下J2EE也是必要的,就像一门常识课程一
样。
其它与企业计算关系较密切的技能还包括:
DotNet架构与程序设计、软件
测试技术、软件配置管理,该领域较高层次的技能包括数据仓库技术、构
件与中间件技术、设计模式等。
像通信协议分析与网络程序设计,Unix系
统管理等也属有些关系的课程。
只一个J2EE便是博大精深的,足够你啃下去的,钻研下去,您会发现你还
要学的相关知识还有很多(包括EJB、XML、WebService、DesignPattern
等)。
虽然从事企业计算的人才很多,但以下企业计算领域无论国内外都属稀缺
人才:
(1)掌握大型ERP系统,主要是SAP系统,包括SAPBasis(系统管理)或
SAPABAP(编程)或SAP功能模块实施(特别是财务模块FI的实施)。
SAP顾问身价是最高的,而且非常难找。
其它大型ERP系统,掌握
PeopleSoft、OracleFinacial、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环境中连续运行的关键应用(术语叫missioncritical
applications)都采用IBM大型机。
这方面的人才之所以稀缺,是因为会大
型机的人都是老人(90年代以前搞IT的人),全世界新毕业的IT毕业生不
可能再去学IBM大型机(这是一种相对"古老"的技术),没有新人补上,而银
行的系统必须维持下去而且银行还要不断开发新业务(如新的存款品种),
虽然对IBM大型机人才的绝对需求量不很大,但相对恒定,银行到哪里找这方
面的新人,很难找到.若好找,花旗软件也不会花那么大的代价去培训我们
的实习同学了(去年培训20多个人,听说公司就花了数十万元培训费).如果
您将来到国外找工作,会IBM大型机可能是最好找工作的领域之一了,而且保
证找的都是大银行等好工作,我以前教过的计算机专业90-94级的一些同学,
凡是毕业后从事大型机开发的,现多在国外一些很好的公司工作(有几位同
学在各国各公司跳来跳去,简直如履平地).其实我觉得我们最幸福的同学
就是在花旗软件做IBM大型机银行软件的同学,这样的机会太难得了.我院00
级2+2班一位同学,当初放弃保研,看准在花旗软件做大型机并且非常努力,
还未毕业,公司便派她到国外参加一个项目的开发,成了项目骨干,我觉得她
当初选择是完全正确的。
读书的最终目地还是为了工作.如果您将来在国
外找工作,根本没人管您是什么文凭,国外企业绝不会花冤枉钱,只会招有领
域工作经验能立即上手的人,用最少的钱在限定的时间完成项目.而在国内
因为人力成本较低,公司招聘一很多高学历的人才,尽管可能根本用不到这
么高的学历,但国内的人力太便宜了,为什么不高消费一下人才呢?
这样公司
的门面还要好看些。
.(3)其它如掌握数据仓库技术的人在国内也很少.目前最主流的数据仓库
平台应是ORACLE的数据仓库工具.在国外,会一些特殊数据仓库的人,如
NCR/TEREDATA的人非常难找.
同学现在年纪都很轻,年轻人充满热情,喜欢追逐一些热门技术,这当然正确
的,毕竟学习SAP和大型机的机会毕竟不多,毕业时先能找到一份工作是重要
的.但我相信随着年纪的增长,大家将来慢慢都会思考的,掌握一项竞争对
手较少的绝技的重要性,将来如果自己到国外工作什么技术最好找工作(对
搞软件的人到国外工作或移民是最容易的,也许您现在不想,但我相信工作
多年以后,很大一部分同学可能想到国外闯荡一下),你要考虑你今后一生的
出路,什么样的绝技是最稳定最轻松最高收入的.搞软件的人,当年纪大些
时,您可能更向住像搞医学人的那样能更多靠经验吃饭,而不须整天像年轻
人那样不得不去追逐不断出现的软件新技术,这个时候也许您也许会发现,
如果您在SAP或大型机等方面有些绝技,您会有很大优势,因为这些较偏的领
域其技术变化是相对很缓慢的.
我还记得在2000年时我曾在业余时间与一位德国人合作面试一些IT人才到
德国去,那时德方各公司发来的需求有很多是SAP和IBM大型机的,我们在众
多应聘者中最后也未找到一个在这方面有经验,甚至是有一点经验的.相反
掌握流行技术的人因太多而不很值钱.
我们的同学将来找工作时,不仅要盯着国内市场,还要有一种放眼全球的眼
光,对搞软件的人您将来完全可能到其它国家去工作.尤其是在欧美、日
本、新加坡等国家,对SAP(包括IBM大型机)人才的需求是很大的。
毕竟
比同学见得多些,提醒同学将来多留意有学习这些绝技的机会,一旦有机会
建议当仁不让.国内的人才市场可访问,国外的IT人才需求
可访问、、等著名
网站。
应经常访问这些网站,以了解市场对人才的具体需求,早做准备。
以上对企业计算领域的观点,供大家参考.虽然观点未必正确,但确是直言不
讳.总之,每个人的脑袋都长在自己脖子上,每个人都应有自己的判断.
二、关于嵌入式系统方向
嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。
嵌入式系
统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储
器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。
特别
是随着消费家电的智能化,嵌入式更显重要。
像我们平常常见到的手机、
PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数
字摄像机(DV)、U-Disk、机顶盒(SetTopBox)、高清电视(HDTV)、游戏机
、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系
统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。
嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。
一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件
设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、
BoardSupportPackage(像PC的BIOS一样,往下驱动硬件,往上支持操作
系统),最初级的硬件驱动程序等。
他们的优势是对硬件原理非常清楚,
不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(
例如嵌入式操作系统原理和复杂应用软件等)。
另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用
软件的开发。
如果我们学软件的人对硬件原理和接口有较好的掌握,我们
完全也可写BSP和硬件驱动程序。
嵌入式硬件设计完后,各种功能就全靠
软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了
嵌入式系统的最主要工作(目前有很多公司将硬件设计包给了专门的硬件
公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很
弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品
的差异很大程度在软件上,在软件方面是最有"花头"可做的),所以我们
搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能设备
越是复杂系统,软件越起关键作用,而且这是目前的趋势。
从事嵌入式软件开发的好处是:
(1)目前国内外这方面的人都很稀缺。
一方面,是因为这一领域入门门槛
较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软
件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高
),而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域
;另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现
时间不长或正在出现(如ARM处理器、嵌入式操作系统、MPEG技术、无线通
信协议等),掌握这些新技术的人当然很找。
嵌入式人才稀缺,身价自然
就高,越有经验价格就越高。
其实嵌入式人才稀少,根本原因可能是大多数
人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进
行指导开发流程。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些
(但收入不低)。
搞企业应用软件的IT企业,这个用户的系统搞完了,又
得去搞下一个用户的,而且每个用户的需求和完成时间都得按客户要求改
变,往往疲于奔命,重复劳动。
相比而言,搞嵌入式系统的公司,都有自
己的产品计划,按自己的节奏行事。
所开发的产品通常是通用的,不会因
客户的不同而修改。
一个产品型号开发完了,往往有较长一段空闲时间(
或只是对软件进行一些小修补),有时间进行充电和休整。
另外,从事嵌
入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围就是那些
(ARM、RTOS、MPEG、802.11等),时间长了这些东西会越搞越有经验,卖
卖老本,几句指导也够让那些初入道者琢磨半年的。
若搞应用软件,可能
下一个客户要换成一个完全不同的软件开发平台,那就苦了。
(3)哪天若想创业,搞自已的产品,那么嵌入式是一个不错的主意,这可
不像应用软件那样容易被盗版。
土木学院有一个叫启明星的公司开发出一
个好象叫“工程e”的掌上PDA(南校区门口有广告),施工技术人员用该
PDA可当场进行土木概预算和其它土木计算,据说销路特好。
我认识的某大
学老师,他开发的饭馆用的点菜PDA(WinCE平台,可无线连网和上网),
据他说销路不错,饭馆点点PDA让客户点菜,多显派头档次。
我记得00级
2+2班当年有一组同学在学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处理器,将来若同学到公司中从事嵌入式软件开发,公司都会
给你一本该设备的硬件规格说明书(xxxSpecification),您必须能看懂
其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎
么设计软件。
有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程
都较抽象的原因,等我们的嵌入式实验室10月份建好后,您做了一些实验
后就会觉得看得见摸得着。
还有同学对ARM汇编不感兴趣,以为嵌入式开发
用C语言就足够了。
其实不应仅是将汇编语言当成一个程序设计语言,学汇
编主要是为了掌握处理器工作原理的。
一个不熟悉汇编语言的人,怎么能
在该处理器写出最优的C语言代码。
在嵌入式开发的一些关键部分,有时还
必须写汇编,如Bootloader等(可能还包括BSP)。
特别是在对速度有极高
要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前主要还要
靠汇编写程序(我看到过很多公司是这样做的)。
当您在一个嵌入式公司
工作时,在查看描述原理的手册时,可能很多都是用汇编描述的(我就遇
到过),这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时您
就必须看懂汇编程序,否则软硬件人员可能就无法交流。
很多嵌入式职位
招聘时都要求熟悉汇编。
[小知识]目前嵌入式处理器常见的有ARM、PowerPC、MIPS、Motorola68K
、ColdFire(冷火)等,但ARM占据了绝对主流(资料说手机中几乎100%都是
ARM处理器)。
ARM是一个只卖知识产权的公司,目前获得购买了ARMCPU核
授权许可的大公司很多,包括Intel、Samsung、Amstel、Motorola、
Philip等,他们都在ARMCPU核的基础上进行了一些外围扩展,形成自己的
处理器(如SamsungS3C2410,Motorolai.MXL9328等处理器都是采用
ARM9内核,指令一级是相同的)。
而众多中小公司又购买了这些处理器,
设计了各种各样的开发板,如华恒等国内很多著名嵌入式公司都生产基于
SamsungS3C2410的开发板,供最终用户使用或供教学实验。
在ARM这个
食物链上,ARM公司是大鱼,Intel、Samsung等公司是小鱼,而华恒等则是
虾米,最终用户(想我们要采购嵌入式开发板的实验室)则是喂虾米的。
Intel早期生产的是低端ARM(StrongARM,相当于ARM7),现在转向主要生
产高端ARM(即IntelXscale处理器,相当于ARM10,主要用在高端PDA上,如
HP和DELL生产的PDA都采用IntelXscale,价格较高)。
目前应用最多的是
ARM7和ARM9两类处理器。
ARM7较便宜,可跑uclinux(是一个不支持高
级内存管理功能的嵌入式Linux系统)、Vxworks、uc/osII等实时操作系
统,但因处理器不带内存管理单元MMU(无内存分页和地址映射机制,所以
不能使用虚拟内存),所以不能跑WindowsCE,另外通用Linux中的某些内
存管理功能也不能用在ARM7上。
ARM9是一个带MMU功能的高端处理器,可
跑WinCE或通用Linux的大多数功能。
以上是我的一点了解,可能有不对的
地方。
我们学院正在建设的嵌入式实验室(10月底到货)包括30套ARM7系
统(拟采用SamsungS3C44b0x开发板,主要用于嵌入式处理器结构、嵌
入式linux课程实验),10套ARM9系统(拟采用SamsungS3C2410x开发
板,主要用于WindowsCE课程建设),每套实验板都配了高速仿真器,价
格都很贵(比我们招标的DELLPC还贵),很容易损坏,同学应爱护使用。
(2)嵌入式操作系统类课程
除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以
也可称为实时操作系统RealTimeOperatingSystem.从事嵌入式的人至少
须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中
是最为关键的了。
目前最重要的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
上跑;另一类是跑在ARM9上的,一般是将Linux2.4.18内核移植在其上
,可使用更多的Linux功能(当然uClinux更可跑在ARM9上)。
很多人预测
,嵌入式Linux预计将占嵌入式操作系统的50%以上份额,非常重要。
缺点
是熟悉Linux的人太少,开发难度稍大。
另外,目前我们能发现很多教材和
很多大学都以ucOS/II为教学用实时操作系统,这主要是由于ucOS/II较简
单,且开源,非常适合入门者学习实时操作系统原理,但由于ucOS/II功能
有限,实用用得较少,所以我院不将其作为教学重点,要学习就应学直接
实用的,比如uClinux就很实用。
况且熟悉了Linux开发,不仅在嵌入式领
域有用,对开发Linux应用软件,对加深操作系统的认识也有帮助,可谓一
举多得。
据我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌入式开发
,Fujitum则是在自己的处理器上大搞Linux开发。
目前在嵌入式Linux领
域,以下几个方面的人特别难找,一是能将Linux移植到某个新型号的开发
版上;二是能写Linux驱动程序的人;三是熟悉Linux内核裁减和优化的人
。
我院在该嵌入式Linux方面的课程系列是:
本科生操作系统必修课,然后
是Linux程序设计选修课,最后是嵌入式Linux系统选修课。
我院在Linux方
面目前已有较强力量,魏老师和张老师熟悉Linux开发,金老师和
唐老师熟悉Linux系统管理。
第三类、WindowsCE嵌入式操作系统:
Microsoft也看准了嵌入式的巨大
市场,MS永远是最厉害的,WinCE出来只有几年时间,但目前已占据了很大
市场份额,特别是在PDA、手机、显示仪表等界面要求较高或者要求快速开
发的场合,WinCE目前已很流行(据说有一家卖工控机的公司板子卖得太好
,以至来不及为客户裁减WinCE)。
WinCE目前主要为4.2版(.NET),开发
平台主要为WinCEPlatformBuilder,有时也用EVC环境开发一些较上层的
应用,由于WinCE开发都是大家熟悉的VC++环境,所以我院学过
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 专业 就业 方向