⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 知乎 「网络」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

前言

最近在知乎上看到一个很有意思的问题:

硬件明明比软件更难,国内的硬件技术也不如软件,为什么硬件工程师待遇还不如软件?

下面分享几位网友的回答,有一定的参考价值,欢迎大家留言讨论!

01.回答一:“供需关系和行业特点所影响”

这个问题总体上主要由两个方面影响。

一、从业人员数量与公司需求的相对比例,也就是劳动力的供需关系。

二、行业特点,人均利润高低。

供需关系

从影响大小上来说,个人觉得第一点更重要一些,是决定从业人员薪资的主要矛盾。在资本主义社会中,劳动力和土地、机器、原材料本质相同,是完成整个生产过程的生产要素之一。(没错,你只是个工具人。)

所以,和原材料一样,劳动力价格遵循市场上的供需原则。

题主所说的职位技术门槛影响供给,而行业的发展状态影响需求。

互联网本质上是处理信息数据的行业,它的原材料是信息,产出也是信息。从二十世纪末社会进入信息时代以来,信息相关的需求一路飙升。那么此时,需求便是主要矛盾中的主要方面。

人才的培养供给是梯度的,需要时间。就算某些软件工程的职位门槛相对不高,也不会像简单劳动一样,有手就能干,需要一定的学习和训练,实际限制了供给的数量和速度。

阶梯式线性增长的供给难以赶上呈指数爆炸式增长的需求,进而在较长时间内造成了劳动力供不应求的状况。这种状况便直接反映在了软件工程的整体薪资上。

接下来说说硬件行业。硬件是软件处理信息的物理载体,负责数据的处理、存储、通信,相当于是信息行业的基础设施。

一台手机上跑的应用成千上万,你每天使用它浏览的信息,使用的应用,获取的服务,有可能就已经产生了几百块的价值,但这台几千块钱的手机却可以用上几年。

硬件不会直接面向互联网业务与数据应用,不会与数据本身的价值产生直接关联。

应用的更新速度可以飞快,但只要硬件能够满足其数据处理的基本需求,那么作为工具来说,就是合格的。这就是基础设施与应用之间的差别。

作为基础设施的硬件行业,其本身的发展需要依赖于实实在在的基础科学与工程技术,与业务关联性没有很强,所以其更新换代的速度就没有那么快,也就限制了从业人员需求的增长。

所以,即使某些硬件工程的门槛高,也架不住需要的人少呀。

行业特点

下面说说软件与硬件,或者说互联网与实体制造业各自的行业特点。

之前我们说过,互联网本质上是处理信息的行业,而信息这个东西是没有物理实体的。实体的物理物品,生产需要工厂,运输需要飞机铁路。

但是信息的获取,生产,运输的物理成本极低,只需要有限的服务器、基站、终端,便可支撑大量的数据服务。

这就造成了互联网的一大特点,扩张的边际成本极低。

对于实体制造业,每扩张一倍,就意味着与之对应的其他各项成本(包括人力成本,机器成本,土地成本等等)至少也要扩张一倍,考虑到效率的因素,扩张的边际成本甚至是在增加的。而且这个过程需要大量的时间准备。

但对于互联网而言,相同的信息与服务,提供给一个人与提供给一万个人,物理上可能仅仅只需要增设几台服务器,而且过程可以十分迅速,但此时其业务规模就已经扩张了一万倍。

可能几十个人的互联网企业就可以在全球提供千百亿的服务价值,同样互联网公司营业额可以在几个月时间增长上百倍。而实体制造企业却鲜有类似的消息。

边际成本低,较少的从业人员可以创造出很高的利润,互联网公司在人力这一方面便可以更加不吝惜投入。

而且,互联网行业容易形成规模效应与垄断。市场上耳熟能详的那些垄断企业利润更高,也助推了这几家公司人员的薪资。

综合这两个原因,造成了整体上软件薪资高于硬件的现象。

02.回答二:“市场需求决定市场价值”

硬件明明比软件更难,国内的硬件技术也不如软件,为什么硬件工程师待遇还不如软件?

先说是不是,再回答为什么。

硬件明明比软件更难

答:是。我当年电子信息工程专业的时候,就是觉得硬件太难学了,动手能力也差,模电,数电,高频,信号与系统什么完全学不懂,怒而转投软件,好歹还可以自学成才。硬件属于完全不能自学的那种。

国内的硬件技术也不如软件

答:如果说芯片级的硬件技术的话,国内在这方面的技术,确实不如阿里腾讯百度的软件技术,后者已经发展到全世界一流水平。题主的意思应该是硬件技术落后,所以更需要高薪招聘人才来发展,意思我懂,下面再聊。

如果说板级硬件技术,这个技术要求就不太高了。尽管学习和入行的门槛高,但一旦学成之后,工作过于简单,且没有技术可言,不能和软件比。

板级硬件现在都只剩抄抄图,看看芯片说明书。芯片说明书甚至帮你把外围电路都说了个七七八八。只需要一个高级的拼装工。

为什么硬件工程师待遇还不如软件?

答:这个问题虽然是问为什么,但我还是想回答下是不是,答案:是,符合事实。很多硬件工程师自己也认为,搞硬件的工资只能开这么多,不可能再多了。(哪里都有例外,特别优秀的别杠啊)

至于为什么?

正如我一直跟我朋友所说,一个职位的工资高低并不取决于该职位的技术难度,而是取决于该职位的市场价值。而市场价值又是由市场需求来决定。

难的工作不一定市场需求大,容易的工作也不一定市场需求小。

造原子弹难不难?造火箭难不难,当然难!但这个在中国有市场需求吗?除了进军工企业。回答也有人贴了火箭工程师的价格了。

其实说白了,原因就是硬件工程师的市场需求远远小于软件工程师的市场需求。

先说板板级硬件工程师。

在我这些年所经历的各类公司中,一个大部门几十号人马,硬件工程师的数量基本都是个位数,其他都是软件工程师。软硬工程师比例从5:1到10:1不等。
同样,对于一个项目,会分配若干软件工程师,但硬件工程师可能就只一个,承担所有模块。

即使对目前人力资源比较充裕的手机行业来说,硬件工程师也顶多细分为通用硬件工程师,基带硬件工程师,射频硬件工程师,Audio硬件工程师。而对于其他行业,可能就一个通用硬件工程师通吃所有了。

至于为什么需求这么小,前面也提到了,板级硬件技术发展了这么多年,很多东西都集成化,模块化了,没有硬件工程师发挥创造的舞台了,招一个牛逼的和一般的差不了太多。

尤其在联发科造的turnkey解决方案推动下,几乎所有的芯片原厂都会提供全套参考设计,也就是可以抄作业,抄好作业甚至还可以请芯片原厂检查一下作业。

一旦作业完成之后,硬件工程师的活就剩下日常打杂,失效分析,产线故障处理,配合软件调试软件之类,再也没有设计与创作的空间。

一个产品上市如果需要持续的硬件设计改进,说明这个产品的硬件设计一开始就是一坨屎,这种事情是绝对不允许发生的。而对软件而言,无论什么阶段,都可以持续改进,提高创新。说不定,还能引出一点新问题出来,大不了后续来个OTA升级修复就得了,可这些工作都需要人去干吧,需要软件去干吧。

在一个产品生命周期的任何一个阶段,软件工程师可发挥的空间远远大于硬件工程师。而硬件工程师,一旦方案最终确定,就稳定了。

再说说芯片级的硬件工程师,这严格说已经是芯片设计工程师。

这典型的属于技术难度大且有市场需求的职位了。所以,工资待遇是超过同行业的软件工程师的。但仍然比互联网那些软件工程师要低很多。

搞互联网软件的人虽然多,但互联网公司的软件迭代快,软件需求更是多得多得多。互联网公司赚钱的规模效应远比芯片公司的规模效应大。

有的人认为硬件工程师工资待遇低是因为硬件越来越不赚钱,行业利润低。
我认为这不是主要矛盾。

滴滴七年亏了500亿,你见它的软件工程师工资低了吗?美团之前也一直亏损,直到2020才开始盈利,你见它的软件工程师工资低了吗?亚马逊亏损了20年,你见它软件工程师工资低了吗?

事实上,在再不赚钱的公司,软件还是也要比硬件多几百块钱。

那硬件工程师的出路在哪里?

我不喜欢只提出问题,分析问题,而要能解决问题。

对于还没入行的,两个字,只能是劝退了。

入行不久的,四个字,尽早转行。

对于入行很久或者对硬件痴迷热爱的,可以在职业规划上优化,亡羊补牢,为时不晚:

硬件工程师虽然待遇低,但公司与公司之间差距也是很大的。待遇按供应链分,欧美芯片原厂>国内芯片厂(包括台湾省)>OEM&ODM终端厂>方案公司。

所以,在跳槽的时候,尽量从右往左跳,工资待遇和技术竞争力会越来越好。

凡事都有例外,像OPPO/VIVO这样的终端厂硬件待遇长期碾压芯片原厂,但我仍然建议一个硬件工程师至少有一段在芯片原厂的工作经历,以夯实技术,丰富经验,拓展视野,这只有原厂才能给你的,终端厂是给不了。
然后再居高临下,傲视天下的姿态下嫁到有钱的终端厂,才是一个完美的结局。

03.回答三:“技能值不值钱,与技能难度无关”

十几年前,我在面对软件开发还是硬件开发时,错误地选择了硬件开发。主要原因就是听信了我的老师说硬件难度大一些,门槛高,竞争小。

结果可想而知,2011年,从芯片选型到硬件原理图、PCB、焊接、单片机软件、上位机软件都全部自己搞定,在成都才TM拿2800一个月。

后来,我决定离职,技术总监还挽留了我三次,现在才明白别人不是惜才,是难得找到技能这么全面且廉价员工。

这次经历以后,我决定转软件,硬件那玩意儿心理压力真是大,一丢丢都不能出错,我亲眼见过一个员工由于少画了一个电阻直接导致价格上万的视频处理芯片烧毁的案例。

由于我不是计算机科班出生,想系统的学习一下计算机知识,就报了个软件设计师考试,结果考过以后也没学个啥,又决定考了研。研究生毕业的时候,其实薪资也不太行,相比那些做前端动不动就20k的本科应届生来说,太低了。

后来我总算明白了。一个人的技能是否值钱和这个技能的难度是没有一丁点关系的,只和市场需求有关系。

市面上如果需要100000个熟练前端,但是只能培养出5000个熟练前端,这些人的薪资当然高了。

反之,如果全中国每年只需要20个做编译器的软件工程师,但是每年光做编译器的博士研究生都有30个毕业的话。

那些本科生是一丁点机会都没有的,无论你在大学四年中学了多么难且艰深的理论,连免费实习的机会都没有,别人嫌你浪费电。

文章目录
  1. 1. 前言
  2. 2. 01.回答一:“供需关系和行业特点所影响”
  3. 3. 02.回答二:“市场需求决定市场价值”
  4. 4. 03.回答三:“技能值不值钱,与技能难度无关”