0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FW工程师是干什么的

工程师人生 来源:工程师吴畏 2019-03-13 15:08 次阅读

我的第二份工作算是搞软件的,招聘的时候说是 软件工程师,但上班后发现,在公司里大家叫我 FW ,汉语发音为 fen wei(分位),这是相对于HW 的叫法。刚开始的时候,我一直没弄明白什么是FW?就像很多外行的人听到这个名字一样。那么 FW 到底是什么样子的职位?一个优秀的 FW工程师 应该具有什么样的品质?

FW 实际上是 FirmWare 的缩写,就像 HW 是 HardWare 的缩写一样,但是很多人都明白 HW 是硬件工程师,是每天和电路原理图、PCB板子以及电烙铁、示波器打交道的工作。在现代词典里,HardWare的解释是:硬件;FirmWare的解释是:(计算机的)固件(指存储在存储器而非软件中的指令)。由此可以理解成:在电子系统中,存储在如Flash里面的,开机后自动启动,控制电子系统以响应用户操作,也就是嵌入式软件工程师职位的一个分支。但是,这样的理解却并不是对 FW工程师 的准确表述,他们有着自己特殊处境,有着自己独特于嵌入式软件工程师的特殊点。

做一个纵向的对比以帮助我们更好理解 FW工程师。实际上,FW工程师 是夹在软件工程师(SW)和硬件工程师(HW)中间的那个职位。

软件工程师(SW)的工作是写程序产品,他们的工作就是根据系统架构完成特定模块中的特定部分的编程工作,是一种纯粹的写代码的工作。即便是底层程序开发人员,他们的编码工作也仅仅需要理解目标硬件接口的特性,只需要弄明白在什么情况下需要用控制位将硬件设定在正确的状态,就可以安心的去写他们的代码了。

硬件工程师(HW)的工作主要是把一个电路原理图,做成一个正确的硬件电路板。这中间又有更进一步的分工,电路原理图有专门的设计人员,PCB实现有专门的Layout人员,以及EMC等等,他们各司其职。普通意义上的 HW工程师 实际上就是根据电路原理图,协调Layout、EMC以及工厂方面人员,完成产品设计,主导期间出现的问题,并与FW工程师配合,完成产品设计,并编制BOM,将产品导入工厂进行批量生产。

FW工程师 就是SW和HW中间的那个角色。他们不需要编写大量的代码,因为他们的Source Code是芯片商的软件开发团队开发好的,基本上已经实现的所有的功能,他们不需要自己动手编写。所以称他们嵌入式软件工程师是十分勉强的。但他们的工作是在一个已经能够正常工作的Source Code的基础上,根据特定的需要完成一些改变(就整个Source Code来讲,这些改变实在是小的可怜)。在某种意义上,他们的工作和软件维护人员的工作差不多。他们和软件开发人员有着明显的界限,在遇到困难的时候都可以寻求软件开发人员的帮助(对于FW工程师,就是找芯片商的技术支持部门,如果其技术支持人员搞不定,他们会进一步寻求其软件开发团队的帮助);他们都需要对整个Source Code有个大概上的认识,要知道代码在运行期间的主流程,要清楚Source Code有多少模块和这些模块的作用。他们在日常工作中,常常会根据产品差异化的需求而改变OSD(On Screen Display),有时候需要对UI控制方面做比较大的手术;常常会为一个不同供应商的硬件做一些正确的初始化设定,因而要细心阅读其datasheet,确保正确控制其按预期的方式工作;常常会细心的调节个别Register的值,反复验证以得到期望的最佳效果;常常要根据HW的改动,而修给必要的GPIO通道的设定;常常为了一个Bug而苦思冥想数日,不断的反复的尝试以定位对应的代码段……

他们不需要有十分扎实的程序基础,不需要有出色的程序设计能力,不需要知道数据库,不需要知道复杂的数据结构……他们需要熟悉的就是这个Source Code使用的语言(一般是C),需要能够看懂代码,可能需要了解操作系统原理(某些Source Code的底层是多任务的嵌入式操作系统),需要能看懂常见的电路(要能够基本理解整个硬件系统的工作原理,实际就是了解HW上的信号流),需要熟练使用示波器(某些Bug的分析常常需要使用示波器分析波形)。

最为重要的是他们需要一定的理解能力,需要有比较好的想象力。他们只有比较透彻地理解整个Source Code才能迅速的定位Bug,需要通过想象来猜测被打包封装的部分代码的功能。

他们不是真正意义上的程序员,也算不上真正意义上的嵌入式软件开发人员,他们是程序员和硬件工程师中间的那个人,那个配合硬件工程师和专业的软件工程师之间的过渡体,一边是从专业程序员那里取得软件成品,再根据项目需要配合HW改造出自己需要的Firmware,烧录到Flash里面的“固件”。

如何成为一个优秀的FW工程师?优秀的FW工程师应该具有哪些品质?请关注后续文章。

FW工程师 是一个基本上可以说是个低级的职业,在薪水链条里面处于底层。那么他们的出路在哪里?在职业规划上,他们应该怎样向薪水链条的上游过度?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1569

    浏览量

    68501
收藏 人收藏

    评论

    相关推荐

    LM318 COMP管脚是什么引脚,干什么用的?

    LM318 COMP 管脚是什么引脚,干什么用的,PSPICEFORTI 里面没有318的COMP管脚在怎么应用
    发表于 07-31 07:45

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的一种专业工程师,他们主要负责设计和开发嵌入式软件,
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    美国云服务器是干什么的

    美国云服务器主要用于提供计算资源、托管网站、应用程序以及存储数据等。很多用户想要了解美国云服务器具体是干什么的,rak部落小编为您整理发布美国云服务器是干什么的。 美国云服务器是一种**基于云
    的头像 发表于 04-10 10:16 419次阅读

    美国云服务器是干什么的

    对于美国服务器是干什么的,相信很多小白用户不是非常了解,接下来小编就为您整理发布美国云服务器是干什么的相关资讯,希望对您有帮助。
    的头像 发表于 02-19 09:53 435次阅读

    云服务器是干什么的

     云服务器是干什么的?很多小白用户会有疑惑,今天小编为您整理云服务器是干什么的相关资料,希望对您了解云服务器是干什么的有帮助。
    的头像 发表于 02-18 09:58 1485次阅读

    电磁炉工作原理 电磁炉板上有个可调电位器的作用是干什么的

    电磁炉工作原理 电磁炉板上有个可调电位器的作用是干什么的? 电磁炉是一种利用电磁感应原理来加热食物的厨房电器。其工作原理是通过电路中的电感线圈产生高频交变电磁场,使铁制的镶嵌在炉板下方的发热盘产生
    的头像 发表于 02-05 10:29 2343次阅读

    什么是温补晶振?温补晶振是干什么的

    什么是温补晶振?温补晶振是干什么的?  温补晶振是指对晶体振荡器进行温度补偿的一种技术。晶体振荡器是一种电子设备,通过驱动晶体谐振频率上的机械振动来产生稳定的电信号。它在现代电子设备中广泛应用,如
    的头像 发表于 01-23 16:42 1108次阅读

    云服务器是干什么的?服务器的主要功能有哪些?

    云服务器是干什么的,主要功能是什么?相信很多技术人员已经很了解,但是对于其他行业的人群云服务器又有什么用呢?拥有云服务器有什么用处呢,RAKsmart小编今天来为您做详细的解答。
    的头像 发表于 01-09 09:48 719次阅读