关注、星标公众,不错过精彩内容

文章来源:电子工程师笔记

关于软件工程师和硬件工程师总有太多的话题。

常态往往是这样滴:

板子出问题了,
硬件工程师:肯定是软件的原因!
软件工程师:绝对是硬件的问题!

以下内容摘自知乎匿名用户一位美国在校学生所写,虽然或有失偏颇,但还是很能说明问题的:

1. 我个人理解的就业与行业前景

因为我个人对美国这方面了解更多,就先从美国说一说。我相信硬件工程师和软件工程师的就业前景应该是提这个问题的人最想知道的方面。

就我所了解的,在现在以及可预见的未来,这个行业对软件工程师的需求绝对是碾压硬件工程师的。也就是说,招软件工程师的职位比硬件工程师的职位要多的多,而且软件工程师找工作上来说会比硬件工程师更容易

先从企业的角度来讲讲。我个人认为造成这个差异的原因,第一个是基本上所有的公司,从初创公司到全球百强,都有对软件工程师的需求。现在哪个公司不需要几个码农来开发app,或者做个web。但是做硬件这种工作并不是所有公司会去做的。举个简单的例子,摩根大通银行在我们学校的招聘会上有明确招软件工程师,expedia在我们学校招聘会上也明确招聘软件工程师,如果这个两个公司突然说要招电子工程师,这不是逗我吗。。而且哪怕是硬件公司,也需要大量的软件工程师来支持硬件前端工作。

第二点我觉得要归功于现在的创业潮。不管在美国在中国互联网创业都是趋势,但是可以说绝大部分的初创互联网公司做的都是软件方向。有个点子,有点技术,找几个合伙人抱着电脑就能开干了。但是初创公司要专注做硬件开发就比较难了,因为成立设计硬件公司的门槛和起步开销比较大。所以这也导致大部分初创公司以互联网为主,能做的了硬件设计的公司基本上都是处于垄断地位的大企业。

第三个很重要的原因就是硬件设计在现在来看已经是相对成熟的技术,我甚至有ee的同学跟我说大部分硬件的东西已经步入夕阳产业的范畴,因为很多东西已经成了规范,也因为很多东西被自动化所取代。前一阵子全球大牌的硬件公司才裁了不少人,intel更是裁掉了接近20%的硬件工程师。但是互联网热从90年代开始到现在热头还没过,而且未来诸多产业如人工智能,机器学习,图像识别,大数据都才刚起步,所以还有一定的上升空间。

还记得当初我们学校的初创公司招聘会上几十家公司只有一家招硬件工程师,而且还是偏软件的硬件工程师,剩下的公司里98%都在找会码代码的人;大企业的招聘会上才能见到nvidia, arm, intel, TI 的身影,但是哪怕是这样基本上所有的公司招牌上都会有大写加粗的招computer science的字样。。

再从个人的角度来讲。想成为一名软件工程师找到工作的门槛远比成为一名合格的硬件工程师低很多。要想以软件工程师的身份混到个饭碗,能学两门语言学好常用的数据结构刷点题就基本上能找到薪水小几千的岗位。我甚至知道国内有专门的软件工程师培训机构,那种专门教java和算法,两个月速成班,而且所声称的学生就业率还挺高的。但是要想成为一名合格的硬件工程师,不是科班出身的不好好学几门模电数电信号逻辑设计的课,没有在学校实验室里自己焊点电路做实践,连简历都发不出去。而且现在要想学个什么语言框架,网上搜一搜“”xxx语言入门教程“”就有非常丰富的资源,但是要是在网上搜“如何学好超大规模集成电路设计”,要想找到可以受用的资源几乎是不可能的。而且就我所参加的招聘会来说,如果有招硬件工程师基本都要求有研究生的学位,但是对软件工程师的要求基本上就是熟悉算法数据结构,会web编程有相关经历就够了。软件工程师很多时候吃的是体力,硬件工程师大部分时候是吃经验,所以硬件工程师一般得有一定的经历积淀才能脱颖而出。尤其像模电这种上手程度很高的方向,没个十年八年的相关经验根本不算学成出师。所以说本身对从业者的资质要求更高,也是硬件工程师不好找工作的原因之一。

上面是我所认为的短时间内软件工程师就找工作方面来说会比硬件工程师更容易的原因。但是这并不意味着会编程就肯定找得到工作,也不意味着硬件产业就会低迷下去。软件工程师的职位多,但是每年从事这个职业的人也更多,虽然我认为现在软件工程师短期内还没有出现饱和的趋势(毕竟那么高的工资还摆在那),但是总有一天这个行业也会像金融产业一样降温(人才供过于求)。硬件产业虽然大部分已经有步入夕阳产业的趋势,但是曾经一度被宣称没啥好搞的供电网络最近也被smart grid搞得神乎其神,美国top5的高校都还设立了相关实验室。此外,现在物联网,车联网,智能家居的概念被炒得火热,我相信等相关成熟的支持技术(能量采集,低功耗通信)以及统一的开发平台一旦出现,硬件工程师的需求只会更多,虽然这些产品依旧只有那些有背景的大公司才做得动(不过因为欧美国家电子产业上的封锁,国家也在硬件设计上砸了很多银子,初创企业也会慢慢增加,相信国内的相关机遇也会更多)。而且毕竟软件产业毕竟还是依靠硬件,如何设计低功耗,高稳定性,能够承载大吞吐量计算量的硬件也是这个产业的挑战,毕竟人工智能,机器学习,视觉处理等领域是很吃硬件计算量的。没有强大的硬件支持,阿狗要想打败李世乭还是痴心妄想吧。

2. 工作常态

现在在一家设计为设计硬件的公司所设计软件的百强软件公司实习,做的工作大部分还是偏软件,所以本身对工作常态也并没有非常深入的自己的感受。但是就我观察身边的同事以及跟别人的交流来看,不管是做软件硬件,都是要:对。着。电。脑。。。

软件工程师平时就是上班啊调试程序,比较低级的码农只能给高级软件工程师大大下手,帮他们做测试,实现他们设计好的东西。当然了做到高级工程师了才有能力开发设计自己公司的产品。如果在初创公司工作节奏更紧张,如果赶上产品要上线可能需要加班调试。遇到程序爆炸了可能还需要on call(就是你负责的东西突然出问题了,你的manager直接打个电话给你你得马上去公司修bug),至少我知道amazon是有这个机制。 我现在还没有在纯做硬件的公司实习过,但是从我知道的事实来看,硬件工程师不会比软件工程师轻松。硬件工程师也需要调试电路啊调试脚本啊反正也有跟软件工程师交叉的工作。工作环境的话取决于细分的工作类别。开发fpga的估计跟码农一样坐办公室,搞mems的嵌入式的就长期入驻实验室了。因为大部分硬件公司都是相对成熟的大企业,所以工作节奏普遍不会像在初创公司那么紧张,不过像在华为这样的企业就另说了。。。 当然了不管是在软件工程师还是硬件工程师,工作强度应该都是高于其他industry的职业的。毕竟这个行业竞争会越来越激烈,这也是聪明人聚集的地方。 至于工资的话,就平均来讲,美国这里的软件工程师年薪会略高于硬件工程师(从glassdoor以及其他门户的数据来看),但是软件工程师一样也有收入低的,硬件工程师的收入也有碾压软件工程师的。只要你技术过硬,薪水都不是事儿。

3. 个人感受

我个人的感觉是不管怎样,这两个行业在未来都会有非常非常多的机遇与挑战(详细原因见第一点)。不管是软件设计还是硬件设计底下都有更多细小的分支(比如说你硬件设计是想做vlsi,dsp,处理器设计,通信,fpga开发还是嵌入式,软件设计你想做web开发,app开发,软件开发,嵌入式软件工程师,操作系统还是distributed system)。 我个人是对两个大方向都很有兴趣,但是我决定自己最终的方向还是嵌入式设计和处理器设计,这两个行业都应该算是夹在了纯硬件设计和纯软件设计的中间。尤其是产业对嵌入式工程师的要求更高,能够自己设计mixed signal pcb,自己调试应用代码写kernel code,能调试无线通信,基本意味着一个合格的嵌入式工程师要对硬件和软件相关方面有足够的知识。我自己是比较讨厌做web开发app纯开发软件的工作,因为这些工作的门槛太低,不是科班出身的人可能都能混的比你好得多,体现不出来自己的价值。而且我比较喜欢把电路板和各种元件握在手里的感觉,而且我发现自己能够设计一个可以用的硬件的时候那种成就感会高于debug之后的成就感。当你发现自己在经受了大学的磨练真正拥有了学习知识的能力以后,丰富的网上资源以及自身的积累都会让你学习这些网页app知识非常轻松,所以我个人更喜欢硬件底层,以及和硬件底层打交道的软件领域。软件硬件的课程都不会简单,而且两个学科的工作量不是其他学科能比的(学工科的天天做project呆lab,学统计的上完课就回家看电影。。)所以要想学好,还是需要花一定精力,尤其美国的大学工科院系workload相对国内高校来说有增无减。确定这是你想要的,再给予考虑。

以上内容是不是说出了做软件与做硬件的不同体会?不过,据说,老工程师对此的回答是:工作久了就会发现其实需求才是根本,软件硬件只是实现需求的途径.....

推荐阅读:

手把手教你用STM32Trust生成加密固件

HAL库中do{} while(0U)宏定义的作用和意义

FreeRTOS如何减少RAM占用空间并加快执行速度

关注微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。

长按前往图中包含的公众号关注

硬件工程师 VS 软件工程师相关推荐

  1. 硬件工程师和软件工程师哪个更有前途?

    嵌入式工程师结合经历聊硬件工程师和软件工程师哪个更有前途? 我个人对美国这方面了解更多,就先从美国说一说.我相信硬件工程师和软件工程师的就业前景应该是提这个问题的人最想知道的方面. 就我所了解的,在现 ...

  2. 假如有一次重来的机会,你选择做一位硬件工程师还是软件工程师?

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达 来源:半导体那些事儿 昨天晚上,在芯方式的一个微信群里,有位朋友抛出了这个话题,如果回 ...

  3. 现代hy-9600音响_从音响工程师到软件工程师-为什么我要学习编码

    现代hy-9600音响 by Kalalau Cantrell 通过Kalalau Cantrell 从音响工程师到软件工程师-为什么我要学习编码 (From Sound Engineer to So ...

  4. 嵌入式开发有年龄限制吗_嵌入式硬件工程师和软件工程师都有35岁的限制吗,有前辈能讲下吗?...

    汽车行业嵌入式软件工程师. 非系统性分析,只是说一下自己的观察: 身边看起来35岁以上软硬件工程师(非管理岗)都挺多(一半以上),应该不是未老先衰. 软件的话是因为团队大,所以35岁以上工程师也比较多 ...

  5. vivado和c语言开发,软件工程师也可以做硬件开发:软件工程师使用Vivado HLS的快速入门...

    HLS可以用于将C语言函数转换成硬件模块.这是一个革命性的工具,从此软件人员也可以创建硬件模块.下面从软件工程师的角度,介绍使用HLS创建硬件模块时的注意事项.为了避免重复,请先阅读UG871 < ...

  6. 硬件工程师和软件工程师相比,哪一个就业发展前景比较好呢?

    个人认为软件吧,软件是思想 边界无限,硬件是物质,专业分工受限.通常软件为硬件服务,同时受硬件限制,似管理者和受控对象.硬件的先进程度影响软件功能结构,二者互牵制.一个手机包含很多软件,但是须硬件支特 ...

  7. 嵌入式软件工程师是前端还是后端_嵌入式软件工程师与软件工程师的区别

    对于任何一个想在计算机领域内"一通百通"工程师而言,这恐怕是过不去一道思考题. 先从日常工作说起,嵌入式软件工程师每天的工作就是操作一些寄存器或看一些器件的操作的资料,实现一些功能 ...

  8. 诚聘软件过程工程师,高级软件工程师,软件开发工程师

    绵阳铁牛科技有限公司(公司网址: http://www.sbuffalo.com/index.htm)诚聘以下职位人员,欢迎有志之士加入我们团队.如果您对下列某个职位感兴趣,请将您的简历发到公司的邮箱 ...

  9. 求职信计算机工程师英语,软件工程师英语求职信

    在求职信中要重点突出你的背景材料中与未来雇主最有关系的内容.通常招聘人员对其企业有关的信息最敏感,所以你要把你企业和职位之间最重要的信息表达清楚.下面是小编为大家整理的软件工程师英语求职信,希望对大家 ...

  10. 算法工程师、软件工程师、大数据工程师的区别

    前段时间,有几个HR朋友问我: 算法工程师的日常工作到底是在干嘛? 平常看起来似乎还挺闲的,工资还那么高. 有时候算法工程师好像又和大数据工程师是一样的工作? 这到底是怎么回事呢? 大约整理出以下几个 ...

最新文章

  1. 力扣(LeetCode)刷题,简单题(第10期)
  2. Discuz NT 架构剖析之Config机制
  3. 如何用python制作九九乘法表_“九九乘法表”案例理解python循环语句
  4. MySQL 多实例给root用户创建密码
  5. 详解如何充分发挥先验信息优势,用MRC框架解决各类NLP任务
  6. Android PopupWindow 隐藏软键盘的方法
  7. Linux静态暗Oracle,Oracle静态监听配置示例
  8. 数据分析学习笔记-数据分析预备知识
  9. java 反译md5加密_Java MD5加密与反编译
  10. 【2020年高被引学者】 车万翔 哈尔滨工业大学
  11. Failed to read artifact descriptor for com.google.errorprone:javac:jar:9+181-r4173-1
  12. Win10(11)下Qt6.2编译Qtxlsx库
  13. Hardhat以太坊智能合约开发框架基础教程
  14. Windows虚拟主机有哪些优势?
  15. 计算机的空间复用技术应用,MIMO技术的介绍
  16. Python统计学01——数据可视化
  17. hfds下的文件导入hive表格
  18. clipboard使用总结(复制文本到剪贴板功能的JavaScript插件)
  19. UCanCode发布领先的大型组态建模仿真CAD与GIS开源套件2019版本
  20. 倍福BECKHOFF PLC:FileWirte/Puts,FileRead/Gets File Function Blocks文件操作功能块

热门文章

  1. scsi服务器硬盘如何用,实战:不重启服务器添加scsi硬盘
  2. 单片机原理及其应用试题(含答案)
  3. 【STC单片机学习】第八课:单片机的LED点阵
  4. 源码编译 Qt 6.2
  5. CRITIC权重指标如何计算?
  6. 12月第1周网络安全报告:境内95.8万主机感染病毒
  7. C# BackgroundWorker用法详解
  8. Android 自定义控件 Demo合集
  9. 极路由3C【C103B】刷breed再刷老毛子教程
  10. 刚刚,2020年中国信息通信技术服务大会盛大召开!