嵌入式软件工程师和软件工程师 当个软件程序猿好还是当个嵌入式工程师好

根据社会的需求量不断的扩大,嵌入式开发才的稀缺 。并且嵌入式的应用广泛而有着很大的发展潜力,所以这方面的人才目前并不多 。下面华清远见高端IT就业培训专家为大家介绍嵌入式开发的应用领域,以及成为一个嵌入式开发者需要进行的准备 。
关于嵌入式开发的前景,嵌入式技术已经无处不在,从随身携带的mp3、语言复读机、手机、PDA到家庭之中的智能电视、智能冰箱、机顶盒,再到工业生产、娱乐中的机器人,无不采用嵌入式技术 。各大跨国公司及国内家电巨头如INTEL、TI、SONY、三星、TCL、联想和康佳等都面临着嵌入式人才严重短缺的挑战 。
嵌入式人才有两类:
一是电子工程、通信工程等偏硬件专业出身的人,主要从事硬件设计;
二是计算机专业出身、学软件编程的人,主要从事嵌入式操作系统和应用软件的开发 。
在目前职场上比较走热的还属偏软件人才 。因为你必须得懂硬件才能开发出操作系统 。所以从事软件的职业人才是很少 。
市场上需要的嵌入式人才必须具备C语言编程经验、嵌入式操作系统(嵌入式Linux)经验、内核裁剪经验、驱动程序开发经验,比如高级嵌入式软件开发工程师相关职位要求是:有丰富的嵌入式多任务软件系统分析和设计能力,能独立完成项目系统方案 , 解决系统故障和问题;精通C语言应用开发 , 有良好的编程习惯和风格,程序稳定可靠;良好的文档编写能力和习惯,能够编写规范的概要和详细设计文档;熟悉项目管理流程 。特别指出,良好的英文阅读能力及较强的学习能力是从事这一领域工作的基?。?而熟悉Linux是该职位录用的优先指标 。
嵌入式人才稀缺,身价自然就高 。据了解,初入门的嵌入式开发人员年薪一般都能达到4-7万元,有3年以上经验的人员年薪都在10万元以上,有10年工作经验的高级嵌入式工程师年薪在30万元左右 。不仅薪水不菲,嵌入式人才的工作环境与发展前景也有优势 。
从事嵌入式工作有两大优势:一是工作强度相对较低 。开发企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都不同,开发人员往往疲于奔命,重复劳动;
二是搞嵌入式系统的公司,都有自己的产品计划 , 按自己的节奏行事,所开发的产品通常是通用的,不会因客户的不同而修改,一个产品型号开发完了,往往还有较长一段空闲时间进行充电和休整 。二是职业发展相对顺利 。从事企业应用软件的人,工作范围广,项目变化大,日常的积累很难产生质变,容易遭遇职业瓶颈;而从事嵌入式软件的人,所涉及的专业技术范围就是那些,时间长了会越来越有经验 。
嵌入式开发职业前景如何,我想童鞋们看到这里应该也知道了自己要发展的方向了 。华清远见高端IT就业培训专家分别在北京、上海、深圳、成都、南京、武汉、广州、西安和沈阳等拥有9个直营中心 。其中研发中心在北京中部!华清远见卓越的品牌形象和口碑效应,也成为众多国际知名IT厂商,包括Google、ARM、Microsoft、Atmel、NXP、Altera等业内最知名国际厂商的培训合作伙伴 。同时作为三星、西门子、思科、英特尔、华为、阿里巴巴、中国电信等500强企业的员工内训服务提供商 , 华清远见也成为行业内获得认可和支持最多的专业培训机构 。
所以想从事嵌入式开发的伙伴们,不妨详细了解下~或许这里就是你命运的转折点~
一、定义
嵌入式技术就是"专用"计算机技术,这个专用,是指针对某个特定的应用,如针对网络、针对通信、针对音频、针对视频,针对工业控制等,从学术的角度,嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统 , 它一般由嵌入式微处理器、外围硬件设备、嵌入 式操作系统以及用户的应用程序等四个部分组成 。
二、分层
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层 。
1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础 , 一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的 。但硬件平台是基础,增值还要靠软件 。
硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞 , 需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言 。
【嵌入式软件工程师和软件工程师 当个软件程序猿好还是当个嵌入式工程师好】
2、驱动层 , 这部分比较难 , 驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片 , 而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格 , 按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后 , 再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序 。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的 。
驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解 。
3、操作系统层 , 对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来 , 这部分工作大都由驱动工程师来完成 。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要 。据说,XP操作系统是微软投入300人用两年时间才搞定的 , 总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定 。因此这部分工作相对来讲没有太大意义 。
4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已 。如果涉及Jave方面的编程也是如此的 。嵌入式系统中涉及算法的由专业算法的人来处理的 , 不必归结到嵌入式系统范畴内 。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了 。