计算机硬件如PC、手机、摄像机、路由器、交换机、服务器等产品的基础就是硬件单板,硬件工程师就是设计合格的单板。
本人是硬件工程师,目前毕业3年多,毕业一开始岗位是EMC工程师,做了1年又10个月,对电磁兼容和卖硬件设备的公司有了一定的了解,觉得EMC工程师没前途,于是跳槽去新公司做硬件工程师,到目前为止设计过7、8块单板。
计算机硬件如PC、手机、摄像机、路由器、交换机、服务器等产品的基础就是硬件单板,硬件工程师就是设计合格的单板。之前做EMC的时候,觉得硬件工程师无非就是参考设计那来一抄,原理图连连线就好,后来发现不是。
一、硬件工程师的职责与定位
首先,介绍下一个硬件产品的研发流程,如下图所示:
公司内所有的岗位是同等重要的,有些公司可能没有研发或者部分研发工作外包。虽然各团队的重要性是一致的,研发团队在产品开发中的位置应该更加核心,研发人员可以转去做市场、测试、供应链或者质量管理等,但市场等岗位的人却很难转做研发。一来研发门槛较高,二来研发工作接触面广。
硬件工程师在研发团队中重要的一员,硬件产品的研发团队大致组成如下图所示:
一个硬件产品的项目团队中,有两个和所有人打交道的角色,一是项目经理,另外一个就是硬件工程师。硬件工程师需要和各种研发人员打交道,协调工作,这也要求硬件工程师具有丰富的知识面、强大的协调能力。
硬件工程工程师的本职工作,如下图所示:
硬件工程师可以大致分为如下四个阶段:
• 初阶的硬件工程师
在别人指导下完成阶段三和四的一部分工作,应届毕业生入职3个月基本可以达到。
• 普通的硬件工程师
独立完成阶段三和四的工作,一般工作1到2年即可
• 资深的硬件工程师
主导完成阶段三和四的工作,参与完成阶段二总体设计的工作
• 专家级硬件工作师
主导完成阶段一和二的工作
这里,你可以定位一下自己目前处于哪个阶段。
二、硬件工程师的发展方向
不管什么岗位都想明白自己的职业发展方向,软件工程师不想一辈子写代码,硬件工程师也不想一辈子奋战在最基层画原理图、调板子。
就我理解,硬件工程师的发展方向大概有以下几种:
1.产品经理
产品经理负责一条产品线工作、规划及发展。硬件工程师由于工作涉及面比较广,对产品整个流程的工作及问题都涉及到,适合向产品经理发展。
2.团队管理者
管理者协调资源、管理员工的工作分配以及绩效、设计完善流程等。
3.技术专家或系统工程师
专家提供的是什么?不是源代码、不是原理图,而是产品实现的方案、思路以及技术发展的方向。
4.创业
虽然国家鼓励这样做,但创业是困难的,如果创业卖硬件,就更难了。做好准备,也是一个选择。
无论选择什么方向,对我们这群目前毕业几年还在底层的硬件工程师来说最需要做的就是积累,明白自己的路需要什么。
三、硬件工程师所需关注的事情
关注本职工作以外的事情
1.技术上,关注软件或者FPGA工程师的工作。这不是让我们学习写代码,而了解软件或FPGA实现功能的方法、流程和思想。也就是从系统的角度思考产品是如何工作。研发的过程会经常出现各种BUG,产品出现问题,研发的每个人都有份,不能说这个问题是软件BUG,我就不管了。和软件或FPGA工程师之间都讨论或者争论有利于提高效率,打开思路。
2.关注市场,也就是提高产品的竞争力,目前国内硬件产品貌似不停走向低成本,cost down是公司永恒的主题,越来越多的产品被做烂了。换一个角度思考,市场上那么多同质的产品,有没有不完善的地方?可不可以通过增加某项功能,突出自己产品的竞争力?进而和研发团队思考功能如何实现。
3.关注项目管理、质量管理上的事情,硬件工程师不可避免要面对这些问题,产线的问题要找你,物料供应的事情要找你,产品返修要找你,现场维护要找你,这些都是提升的机会,问题来了要用科学的方法做事情,多学习质量管理,可靠性设计的知识。
注重学习,任何行业的人都要不停的学习
个人觉得硬件工程师需要知识储备比较多,电子信息领域的技术和知识本来就很多,人需要不断的学习。我大概列举一些,是自己工作以来学习的方向,当然工作中会不到遇到各种更新更深入的问题需要学习。
1.EMC与安规
EMC与安规在规模较大的公司都有专门的团队,但小公司只能硬件工程师亲手来。
CE认证测试项目最多,学习可以先关注CE的相关标准。不同行业的标准是不一样的,汽车电子和信息技术设备的测试方法和要求都不一样。
EMC理论个人觉得已经发展的比较形象(不像电磁场那么理论抽象),精髓就是EMC三要素,干扰源、敏感源和耦合路径。设计分析就是关注共模电路的回流路径或者泄放路径
2.RF与天线
同样的RF与天线在规模较大的公司也有专门的团队。
行业发展到现在,硬件工程师的RF和天线设计工作基本就是选型了。因此,需要明白一些基本的参数如增益、P1dB、IP2、IP3、天线的方向性等等。
3.电源
电源部门在规模较大的公司也有专门的团队,无论板级DCDC电源还是电源适配器都有专人完成设计、选型或测试工作,硬件工程师应用时标准电路拿来用即可。
关于电源大概就以下几个方面。
DCDC有几种基本拓扑?效率与什么有关?
LDO原理是什么?设计需要注意哪些参数?
POE协议是否熟悉?
4.时钟
晶体和晶振有什么区别?怎么设计?
时钟信号有哪些关键参数?
PLL的原理是什么?环路带宽是什么意思?PLL失锁的可能有哪些?
时钟芯片如何选型?
5.小模拟电路和小逻辑电路
硬件工程师的工作是系统级应用,不是IC设计的大神,工作中很少用分立器件设计电路。
二极管、三极管、MOS管和运放的特性要熟悉会分析,简单的电路要设计。
如三极管电平转换电路怎么设计,为毛低温就不工作了?
如MOS管双向电平转换怎么设计?要关注什么参数?
如MOS管的米勒效应,能不能定量的用公式分析?
6.高速信号及信号完整性
建立时间与保持时间?
时钟的抖动分哪几类?
数据相关抖动是什么?
CDR是什么?
抖动与误码率的关系是什么?
EQ、去加重、预加重?
7.低速信号
I2C、UART、SPI是什么?会不会通过示波器测量判断通信数据对不对?
8.RAM 和ROM
NAND FLASH和NOR FLASH有什么区别?
DDR3 SDRAM原理是什么?CL、AL、RL、WL是什么?各种参数的会不会设置?
9.CPU、SOC、FPGA
X86、ARM、MIPS、POWERPC有什么区别?
FPGA设计需要注意什么?IC设计领域了解嘛?
关注自己的行业
不同行业的技术是不一样的,应用环境及解决方案也不一样
如你是设计智能电视的
1、视频相关知识?BT1120是啥?H.264是啥?YUV是啥?4:2:2是啥?什么是HDMI?具体协议是啥?
2、思考下产品,内容重要还是硬件重要?能不能优化下3D?
如你是设计交换机的
1.802.3了解嘛?啥是MAC?啥是PHY?GMII接口如何设计?
2.交换机如何工作的?VLAN是啥?
3.客户是啥?教育网还是运营商?
如果你设计无线路由器的
1.802.11 a/b/g/n/ac的区别?TCP/IP协议是啥?ARP是啥?路由的工作原理?
2.天线如何设计的?增益、方向图是什么?各种PA、LNA如何选型?
3.客户是啥,需求如何?150块卖给普通人,还是1000块卖给企业级用户?
以上都是我思考的一些点,水平有限,也不够深入。
四、最后几点
硬件工程师最大的优势就是在研发工作中可以涉及到各种各样的问题、学习各个领域的知识,这是成长的基石,不停地总结,可以从整个产品的角度思考问题。有人说什么都懂得一点的人注定只是普通的硬件工程师,但我们必须都要懂一点,这是硬件工程师的基础。但我们还需要在自己的领域成为专家,因此需要在技术上对一个行业非常的了解。
个人觉得有两个领域值得去深入研究,以后是物联网的时代,网络和无线通信的应用会越来越多。
1.网络
也是交换机和路由器等应用与组网。现在互联网基于以太网,802.3标准规定了MAC和PHY规范。上层协议如TCP/IP、UDP、ARP、环网等等,总之网络的水很深,值得一探。
2.无线通信
如移动通讯、WIFI、sub 1GHz等等应用会越来越多,之前国家发布的什么旅游规划,有一条就是景区要实现免费WIFI覆盖。无线通信也基本是802.x协议族。基带和RF都可以深入学习。
我现在也很迷茫,不知道往那条路上走,但有一条是不变的那就是学习,硬件工程师需要保持好奇心,不断学习新的知识。
(本文为知乎用户王一一原创)