嵌入式软件工程师做什么的?很多人对嵌入式软件工程师的未来还是比较迷茫的,除了知道简单的软件开发,基本上其他的比较盲区了,今天传智播客就来说说嵌入式软件工程师做什么的。
今天借着这个话题给大家好好解释下嵌入式开发:
1.嵌入式系统介绍
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式软件工程师就是编写嵌入式系统的工程师。
2.嵌入式软件工程师职业要求
最直接的方法,就是去根据各公司,招聘网站的嵌入式软件工程师的应聘要求来分析:
2.1.最重要的是C语言编程,以及C++,这个与你读程,应用,开发项目,做系统移植息息相关;
2.2.操作系统: LINUX,WINCE等,至少学习过一种,并且还需要对些基础知识有蛮多的了解;
2.3.对ARM,FPGA,DSP等这些硬件比较了解。
这是最常规的条件当然,一些基本素质,像英语能力,团队协作能管理,也很重要。
3.嵌入式软件工程师发展前景
嵌入式领域较新,发展非常快,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或进入嵌入式行业,更谈不上能有机会接受专业人士的指导。
因此,踏进这个行业的难度比较大,嵌入式人才稀缺,身价自然也水涨船高。权威部门统计,我国嵌入式人才缺口每年50万人左右。根据前程无忧网发布的调查报告,嵌入式软件开发是未来几年最热门和最受欢迎的职业之一。
做软件实际上有高下之分,开发语言从机器语言、汇编到C、C++,再到红透半边天的Java、C#等,该学哪种呢?为什么有些开发者工资低,而有些开发者千金难求?为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要10k的月薪?这就是他厉害之处了。还是门槛,比如Linux嵌入式开发职位,门槛就有 Linux系统、Shell编程、Linux开发环境、C语言、ARM硬件平台、数据结构、Linux内核、驱动程序等,粗略数数就有8道关口,他需要非常熟悉整个的计算机体系,能做出实际的产品。嵌入式开发本身也有高下之分,至少包含嵌入式应用程序工程师和底层的驱动内核工程师两种。
根据芯片具体情况把操作系统(如Linux)移植到上面,同时编写必要的驱动程序,改写相应的内核代码,要做出那小小一行代码的修改需要经过大量的资料搜索以及调试,耗费的脑力劳动是不能单单从改写相应内核代码的数量才判断的。很显然后者是一个公司真正的技术核心。而技术核心的工资很可能是其他开发者的数倍。嵌入式开发突出强制和项目,学习不仅仅是学习几项技术,而是构建你的知识体系。比如学习嵌入式开发,就要从基础Linux,C语言,数据结构开始,到ARM,汇编,Linux内核、驱动等,更重要的是更多的项目练习,设计至少5个项目,多达10000行强制核心代码的编写可以让你真正获得知识。为进入外企或者出国做准备。
未来的几年内,随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑) 工具将是PC和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。1999年世界电子产品产值已超过12000亿美元,2000年达到13000亿美元,预计2005年,销售额将达18000亿美元。一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,日用范围也将日益广阔。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,和移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。
4.嵌入式软件工程师职业发展从个人整体发展来说,如果想创业,做自已的产品,嵌入式软件开发可以开发出专利产品。
另一个发展路径是:积累丰富开发经验的嵌入式软件开发工程师可以向嵌入式系统开发工程师发展,对测试理论和方法有一定了解的嵌入式软件开发工程师还可以转作嵌入式系统测试工程师,最终也可发展为IT项目经理。还有就是学习智能机器人软件开发。这会是一个比较大的趋势。