怎样成为一名硬件工程师

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-05-09
怎样成为一名出色的硬件工程师?

快速学习能力是指能够在抛开各种细致理论知识的前提下快速站在前人的肩膀上应用别人的成果给出现有问题的解决方案(查找各种数据手册资料,迅速搭建基本模型(成熟模型)验证理论),这是初级硬件工程师要求,相当于打人机终于打赢啦~的阶段,虽说这是第一步,可是很多人就倒在了这前面,(硬件工程师的入门门槛外躺着一堆尸体,一部分人认为高深莫测,不敢试水,一部分人认为就是简单抄板,无技术含量,从未跨入一步)快速学习成型可以说只是搭建了一个简单的硬件模型(比如简单运放反向放大),直接应用别人的成果以及理论(可能是自己不清楚不熟悉的理论)完成要求指标。深入学习能力是指能够在快速学习的基础上对未知可能影响结果或导致错误的细节进行深入研究讨论分析,并给出解决方案的能力。举个例子,比如本问知友提到的一个问题,为什么运放的反馈电阻选10K,这就是一个深入一点的问题(但是还是很基础),需要你了解到运放的具体内部电路,并根据实际需求给出分析计算(为什么要10K?如果发生震荡怎么处理?加个电容,为什么?这个电容要多大?为什么?这种运放能这么处理吗?为什么?)到了这一步,相当于说打人机终于可以一挑4啦,哇哈哈......极强执行力:很多人停留在一二级,愿意学各种理论,做足各种仿真计算分析,但是就是不实际实物实践验证,”打代码仿真这么轻松啦啦啦,我干嘛要去焊电路,做测试验证调试,这不是工人做的吗?啦啦啦,堂堂一个985学生,这不是我的工作~~~“,我只能说,童鞋,图样图生破啊!!!你在考虑纠结这个问题的时候我已经元件买完,PCB设计完焊接调试分析完毕了啊!!!很多问题不是理论上那么简单的啊!仪器使用(N种仪器,使用错还测不准),工艺流程,设计流程,工程项目开发组织经验这可不是纸上谈兵啊!(硬件一次错误的成本可是很高的~,有的初创硬件公司经不起几次试错就破产了)所以作为一名硬件工程师,要有很强的执行力,遇到问题不是回避(规避问题是规避风险里面比较愚蠢的做法),而是立马分析计算,仿真验证给出误差可接受的答案,并立即执行。由于硬件设计周期长,成本高,水深,特别是模拟射频部分,所以快速行动解决问题是一项很重要的能力(当然其他岗位也要有强执行力,但是硬件工程师不同,拖延的成本巨大)。三流工程师在遇到问题时推拖,扯皮条,二流工程师在出现问题是快速解决,一流工程师在问题出现前就避免解决了。耐得住寂寞。记得当初走硬件这条不归路的时候,师兄对我说,你要想清楚,这是条不归路,水深不见底,水广易迷失方向。在身边各种诱惑,如互联网热潮,金融热潮下任然能够专心专注研究一个领域(射频滤波、天线等),而这个方向可能不能为你创造出很好的经济效果(工作工资低),这是一件很难得的事情。但相信天道酬勤,聪明的人总能在其中找到自己的乐趣,并创造挖掘出更多价值(谁说做这个工资低来着?是你能力不够,找不到好工的原因吧~)

我看单片机工程师(alloy518原创)

看了这么多,我也想说说,我也是做单片机的,CPLD用过,FPGA没有弄过,不会VHDL, 我用的是Verilog。我本科是学的计算机,但是软件方面确实不开窍,记得毕业设计的时候 被师兄责备为C都不会,从大二暑假参加电子竞赛开始搞硬件,到现在大概有5年了吧,也做 了大概10来个项目了,基本上都是用的单片机或者是单片机+CPLD的主控结构,也写过两本 单片机的教程。一直想学习ARM,但是处于时间、金钱的原因,也只是停留在认识的基础上而已,没有实践的经验这么多年来,用的最多的还是单片机,我比较偏爱ATMEL公司的产品,虽然有功耗大的 缺点,但是谁叫我第一块单片机就是用的AT89C51呢,记得当年停产的时候,我和教研室的 一个同学还感叹了半天呢。市场上项目还是挺多的,单片机还是很好用的,因为在低端控制 系统中,单片机基本上就可以胜任,51单片机比较便宜,而且现在也有很多高级51系列单片机,集成了很多功能,例如IIC、USB、CAN、MP3、MMC等,程序空间和内存也越来越大,64K+1K也很常见的,跑一些小的操作系统也可以了,例如uc/OS就可以,也可以移植TCP/IP协议 ,支持网络通信,所以51系列单片机完全可以应用于现在很多的场合,而且随着ISP和IAP在 51单片机上的应用,开发起来也越来越容易,我现在做简单的开发用编程器(并口线)+串口就足够了。

其缺点主要是保密性能太差,另外MIPS性能不高,即使用了X2功能,也很差。但 是51系列单片机的Keil环境,确实非常好用,自己也可以做一个MON来配合调试(说到MON,我想说我做MON-51遇到的一个问题:我的MON-51运行起来之后就不能够stop了,只能够退出 debug,大家谁知道是怎么回事情,告诉我一声,谢谢),非常方便。AVR单片机MIPS非常快,集成度比51要高,有些产品连外部晶体都不用,而且还有tiny等小封装系列,可以用于低 成本,小体积的场合。而且AVR的保密性能比51要好一些,其缺点就是外部扩展比较麻烦,除了和51兼容的几款之外,基本上都要软件模拟时序,这也难怪,人家做AVR的目的就是单 片化嘛:)AVR的ICCAVR和ICCTiny都还可以,用ISP下载也很方便,但是我没有用过AVR的仿真 器,因为太贵了:(不知道怎么样,我调试基本上都是通过串口的,因为做的项目也不太大。

MSP单片机算是16位吧,用在仪表上比较多,我做过一个热表的项目,它的最大特点是低功 耗,开发使用简单的Jtag来下载就可以了。PIC的单片机没有用过,也就不说了。整体来看,我认为很多场合都可以使用单片机,并不是非要用ARM内核、PowerPC等等,因为它们有不同的特点,所以以后很长一段时间,单片机还将有很大的用武之地,估计我们这辈子是看不到单片机被淘汰了,所以我们不必担心没有工作做,我们完全可以让我们的下一代去学习ARM什么的吧:)

说说我对单片机开发的看法吧,这只是我自己的看法,说的不对的地方,大家别拍我,因为我也只是一个研究生:)
1、搞单片机的绝对是有工作做的,没有必要为自己只会单片机就耿耿于怀;因为单片机要用好了,也是很不容易的没有个2-3年时间,没有5-6项目的开发经验,很难说真正把单片机学会了,我觉得我现在也就是会用而已,远远说不到用好了,记得以前在21ic上看到过一 个用于检验单片机开发者功底的系统,有时间找出来贴;
2、搞单片机绝对不能够只会单片机本身,因为如果只熟悉单片机的话,你是什么都做不了的,计算机这个行业,除非你研究计算机本身,否则你就的把它应用到实践场合中去,所以你必须对它的应用环境有所了解。单片机系统这么多外围芯片,你必须知道在什么场合应该用什么来实现你的功能。所以学习单片机的人除了单片机,对什么通信原理、数字电路、模拟电路什么的也应该至少有所了解。
3、单片机是计算机处理器的一个分支,我建议大家有时间找本计算机组成原理好好看看,我碰到过好多用单片机的人,连计算机的基本知识都不知道,怎么做设计阿,推荐一本书 《inter微处理器全系列:结构、编程与接口》(第五版),这本书是我本科时候带过我的两 位导师和一位博士师兄翻译的,里面错误虽然有一些,但是大体还是不错的,当然,你要是能够看原版那就更好了,算是我给他们做个小小的广告吧:)
4、多看书,多上网,多看看别人的设计思路和系统,开阔视野,为以后自己的系统设计打好基础
最后说说我觉得初中级单片机工程师应该达到的水平吧,呵呵,我觉得自己应该算是在初级和中级之间吧:)
1、对单片机应用场合有充分的了解,能够在应用项目中选择合适的单片机和外围芯片的型号;能够根据系统指标很快的设计出一个应用系统的体系结构;在深圳那边,做一个项目也给你的时间也就是一个星期左右,因为这些东西谁都能做,主要看谁能够做的又快又好;
2、熟练使用ASM和C等相应的单片机语言,有良好的编程风格和一定的编程技巧;
3、能够进行简单的PCB版图设计,至少能够设计出有一定抗干扰能力的单片机电路板;
4、对控制、信号系统有所了解,知道必要的算法;
5、熟悉计算机方向的简要开发,能够使用计算机开发工作做一些简单的主机端软件;
6、对模拟、数字电路、总线等比较熟悉,能够使用它们进行单片机的外围接口;
一句话,时刻努力学习,不仅仅学习单片机本身!

个人感觉,要成为一名优秀的硬件工程师不是一蹴而就,像学习软件变成一样,经过几个月的突击培训就可以上路的,要成为优秀的硬件工程师是一个经验积累的过程。
初期要把电路基础,模电,数电这些基础打好,学习一些有用的软件如 PCB布板、protues仿真等,然后找一款有程序的成品,自己试着从原理图到pcb走一边,在这些过程中累积经验。其中熟练应用常用电子元器件,熟练检索各种元器件材料,看懂器件的数据手册(重要的参数), 掌握常用的硬件设计工具,调试仪器仪表的使用方法。
随着经验的积累熟悉嵌入式系统的硬件及软件开发。过程中细节比较多,在于你慢慢的投入进去后,发现自己的兴趣并投入热情。

这个视频将分享我的硬件工程师经历,以及我对想成为硬件工程师朋友们的一些忠告和建议。



硬件是什么?硬件工程师是干嘛的?其实很多人都可能好奇这个问题,今天就借题主地方分享下我的看法。

1、什么是硬件。

狭义来说,一般我们所说的软件和硬件指的是电子领域的。

软件代码也是人编写的,我们所熟知的语言比如C、C++等都是通过编译器翻译成汇编语言,然后汇编语言通过汇编器翻译成二进制机器语言,机器语言操控门电路完成相应的动作。个人觉得,没有硬件,软件就没有存在的意义,硬件是一切的基础,这里可以看出硬件设计是多重要。

但软件和硬件又有明显的区分,至少工作内容区别很大。按照行业内描述硬件属于底层(一般称为底层硬件),软件称为上层(软件又分为:底层驱动、上层业务以及应用层等)。如果非要举个例子来说明软件和硬件, 那最好的例子就是人,硬件指人的躯体,而软件指人的思维。

 2、什么是硬件设计

一般来说硬件设计指的是电路设计,这样说是没问题的,因为你所有的工作都是围绕电路设计,最终的目标也是产出一个优秀的电路,能够满足各种要求,经历各种考验。但实际上我们要求的是产品,而不是单板。

网上有一篇文章讲的挺好:"硬件设计就是根据产品经理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前业界成熟的芯片方案或者技术,在规定时间内完成硬件产品,而且要符合以下要求:PRS功能(Function)、性能(perrformance)、电源设计(power Supply)、功耗(power Consumption)、散热(Thermal/Cooling)噪音(Noise)、信号完整性(Signal Integrity)、电磁辐射(EMC/EMI)、安规(Safet)、器件采购(Component Sourcing)、可靠性(Reliability)、可测试性(DFT: design for test)、可生产性(DFM:design for manufacture)

 

详细了解硬件设计开发的伙伴可以看这里,刚毕业的时候就是在这里学习硬件相关知识,对初学者来说收益很大,适合刚入职场的各位~~

硬件工程师必看

3、什么是硬件工程师

硬件工程师负责整个产品的硬件设计

硬件产品的研发团队可以如上图所示,在整个项目研发团队中,有两个人和所有人打交道,一个就是项目经理,另一个就是硬件工程师。硬件工程师需要和各种研发人员打交道 、协调工作,这也要求硬件工程师具有丰富的知识面和强大的协调能力。

 硬件工程师的本职工作,如下图所示:

硬件工程师可以大致分为如下四个阶段:

o   初级硬件工程师

    在别人的指导下完成阶段三、四的部分,这个是应届毕业生入职三个月基本可以达到。

o   普通的硬件工程师

    独立完成阶段三、四的工作,一般工作1到2年即可。

o   资深的硬件工程师

    主导完成阶段三、四的工作,参与完成阶段二总体设计的工作。

o   专家级硬件工程师

    主导完成阶段一、二的工作。

    作为一个硬件工程师,负责整个产品的研发过程。所以必须对每个时间段进行精确把握。项目都会有项目周期,虽然项目经理在把控时间,但具体的操作还是硬件工程师来搞。

4、硬件工程师需要的工作能力

    硬件工程师的目标是产品零缺陷。

    在这个过程中,需要设计电路、解BUG、部门沟通交流,各方面能力都需要提高。

    关于硬件工程师基本素质与技术,在这里给出华为硬件工程师手册中的定位,如下图所示。

最后就是硬件工程师的自我修养:

沟通能力强、性格温和、谦虚谨慎 、认真仔细 、要有耐心 、不会就问  、有责任心、分清主次、乐善好学。

 

从上面可以看到硬件工程师不是我们认为的一个纯技术型岗位,更多的是还需要跨部门沟通,团队协作,所以说一个人的力量是有限的,一群人的力量是无限的,和不同的同行业交流可以学习更多的知识。

硬件工程师必看



  • 3.硬件工程师需要具备哪些技能和特质
    答:4.团队合作:硬件工程师需要具备优秀的团队合作能力,与其他工程师和项目经理合作,共同完成项目任务。5.不断学习:硬件工程师需要具备不断学习和更新知识的能力,跟上科技的发展,保持竞争优势。综上所述,要想成为一名优秀的...
  • 怎样成为一名优秀的硬件技术工程师?
    答:1、精通电脑软硬件、周边产品的安装调试及组网;2、大学以上文化,具相关工作经验者优先。作为一个硬件工程师,既需要塌实的硬件知识也需要很好的软件知识,现在随着使用器件的更新对软件的要求越来越高.学会并掌握主板芯片级维修...
  • 硬件工程师需要学哪些
    答:4、工程实践 硬件工程师需要具备良好的工程实践能力,包括项目管理、团队合作、问题解决等。他们需要学习如何规划和组织项目,如何通过合作与沟通解决实际问题,并具备良好的创新思维和实验技能,以保证硬件项目的质量与可靠性。硬...
  • 硬件工程师证书怎么考?
    答:1、考试报名 到当地硬件工程师考试培训机构进行报名,报名时应携带身份证,学历证明等报考资料,并在报名表上如实填写个人信息。2、费用缴纳 提交报名后进入信息审核阶段,通过审核的考生需要在规定时间内完成报名费用缴纳,未...
  • 硬件工程师需要学哪些
    答:并。薪资待遇较高,也着实难学一些,单凭自学很难胜任这些岗位,除非你本身就从事行业相关工作,有机会在实践中学习,然后能凭借个人能力考个相关专业的权威认证,并长期不断补充学习,才能成为一名成功的硬件工程师。
  • 什么是硬件工程师的专业资格要求
    答:首先,硬件工程师需要具备丰富的基础理论知识和良好的专业技能。硬件工程师应具备扎实的电子、通信、计算机等相关专业基础知识,能够掌握硬件的设计、开发、制造、测试、维护等技能。其次,硬件工程师需要具备一定的实践经验。在...
  • 硬件工程师证书怎么考
    答:报考方法如下:1、报名:前往当地硬件工程师考试培训机构进行报名,提交相关报名资料。2、审核通过:报名资料将会进行审核,确保符合相应的申报条件。3、缴费:审核通过后,要完成相应的报名费用缴纳。4、学习培训:参加培训课程...
  • 电脑硬件维修工程师证申报条件及考试时间
    答:电脑硬件维修工程师证是指经过培训或自学,具备电脑硬件相应维修技术的技术人员,经人力资源和社会保障部相关部门严格考核合格颁发的证书。本文将介绍电脑硬件维修工程师证的申报条件及考试时间,帮助读者更好地了解该证书。申报条件电脑硬件...
  • 硬件测试工程师需要掌握什么
    答:6、熟悉公司产品开发流程,要明确中试测试工程师在产品开发阶段中的角色和职责。测试工程师的发展道路 一种选择是走测试的技术路线,成长为高级测试工程师,这时他能够独立测试很多软件,再向上可以成为测试架构设计师。从硬件...
  • 想成为硬件开发工程师,应该学些什么?
    答:硬件工程师必须掌握基础知识\x0d\x0a\x0d\x0a目的:基于实际经验与实际项目详细理解并掌握成为合格的硬件工程师的最基本知识。\x0d\x0a\x0d\x0a1);基本设计规范\x0d\x0a2);CPU基本知识、架构、性能及选型...