硬件比软件难,那为什么硬件工程师待遇还不如软件?

2023-10-28

大家好,我是张巧龙,今天看知乎,有一个很有意思的问题。

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

e5a510ddb430dfdfffbc4b6c48f8977e.png

在这里分享几个回答,有一定的参考价值,欢迎留言讨论!

01 


回答1

作者:Tinker

链接:https://www.zhihu.com/question/418963577/answer/1827737240

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

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

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

供需关系

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

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

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

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

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

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

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

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

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


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

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


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

行业特点

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

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


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

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

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

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

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

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

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

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

02 


回答2

作者:蓝宝王
链接:https://www.zhihu.com/question/418963577/answer/1822550396

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

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

硬件明明比软件更难

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

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

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

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

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

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

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

至于为什么?

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

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

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

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

先说板板级硬件工程师。

在我这些年所经历的各类公司中,一个大部门几十号人马,硬件工程师的数量基本都是个位数,其他都是软件工程师。软硬工程师比例从5:1到10:1不等。


同样,对于一个项目,会分配若干软件工程师,但硬件工程师可能就只一个,承担所有模块。

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

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


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


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


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

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

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

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

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

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


我认为这不是主要矛盾。

滴滴七年亏了500亿,你见它的软件工程师工资低了吗?

美团之前也一直亏损,直到2020才开始盈利,你见它的软件工程师工资低了吗?

亚马逊亏损了20年,你见它软件工程师工资低了吗?

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

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

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

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

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

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

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

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

凡事都有例外,像OPPO/VIVO这样的终端厂硬件待遇长期碾压芯片原厂,但我仍然建议一个硬件工程师至少有一段在芯片原厂的工作经历,以夯实技术,丰富经验,拓展视野,这只有原厂才能给你的,终端厂是给不了。


然后再居高临下,傲视天下的姿态下嫁到有钱的终端厂,才是一个完美的结局。

03


回答3

作者:邦彦
链接:https://www.zhihu.com/question/418963577/answer/1878912520

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

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

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

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

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

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


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


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


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

b3481ed75b99df97ad4fd933606d049d.png

各种Arduino外设的用法,生动形象,相当好看!

d240fd02af2622dedbf802659ac1489f.png

做个全国一等奖的小车,其实不难(F题:智能送药小车方案分享)

3b91343ef54f8f996457ddb5eedc346f.png

【STM32入门】这个项目绝了,用手势来产生波形!

b6cf61067edee93f1462521483fa727f.png

带学生参加电赛,5个国一,2个国二!15个省奖!

-END-

我是张巧龙,一名教电子的大学老师,欢迎关注!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

硬件比软件难,那为什么硬件工程师待遇还不如软件? 的相关文章

随机推荐

  • 刷脸支付成了不少商家抗衡疫情冲击的利器

    凭借高科技支付方式出圈的刷脸支付 高效便捷只是它诸多优势之一 在众多优势中 有一个优势无法被其他事物所替代 这也是刷脸支付备受青睐的主要原因助力线下行业实现智慧经营 存在物就像是奔腾不息的河流 事物处于不断变化之中 面对每一刻的崭新 无人可
  • Ubuntu14.04 更换内核重启出现:Missing Modules

    1 前言 最近由于实验的需要 需要更换Linux系统的内核 我的系统是Ubuntu14 04 内核版本时3 19 由于实验的平台需要内核版本3 14 0 只好将Ubuntu14 04的内核从3 19降级到3 14 0 在编译安装之后 运行命
  • Vue中数组赋值问题

    出现的问题 昨天工作内遇到的问题 用输入arrList渲染了一个表格 修改了arrList 然而列表没有改变 Vue 不是双向绑定吗 怎么回事 what s fuck 值变了 列表没有变 测试代码 Vue中列表渲染的数据是这样的 单价和数量
  • 详解 Windows 10 安装 CUDA 和 CUDNN

    目录 查看本机 Window 10 系统已经安装 NIVIDIA 的驱动版本 说在前面 查看驱动版本 CUDA 下载 直接下载最新的 CUDA 下载历史版本的 CUDA 安装 测试 CUDNN 下载 下载最新版本的 cuDNN 下载历史版本
  • linux 多线程 pthread_cond_wait(&cond,&mutex)理解

    pthread cond wait 用于阻塞一个线程 知道有信号唤醒它 下面是一个简单的例子 我们可以从程序的运行来了解条件变量的作用 pthread cond wait c include
  • js逆向之有道词js加密解析

    js逆向之有道词js加密解析 文章目录 js逆向之有道词js加密解析 需要用到的工具 下面就介绍一下3种看js加密的代码方法 第一种方法 第二种 第三种 下面我们来了解我们要用什么解密md5 下面做一个js加密解析十分适合上手的 有道词典的
  • Unity 抠图 shader

    Created by Oliver Davies Enjoy oliver psyfer io Shader Unlit ChromaKey Properties MainTex Texture 2D white KeyColor KeyC
  • 基于阿里云ECS服务器搭建k8s集群

    此处仅有两台服务器 一台master节点 一台node节点 后期可按照步骤继续增加node节点 1 搭建环境 Master节点 CPU 2核 内存 2GiB 操作系统 Centos7 6 64位 带宽 1Mbps 服务器公网IP 私有IP
  • JDBC在IDEA中配置mysql过程及编程详解

    目录 jdbc编程简介 1 导入jar包 2 建立数据库连接 2 1 创建数据源 描述数据库服务器在哪 2 2 实现一个mysql客户端 通过网络和服务器进行通信 3 使用代码操作数据库 3 1 增删改操作 增加操作 更新操作 删除操作 3
  • 【论文阅读】Contiual learning with hypernetwork

    文章目录 论文阅读 2019 Contiual learning with hypernetwork 1 超网络简介 2 论文的总体介绍 3 相关的介绍 3 1 一些数学符号 3 2 继续学习从模型角度的理解 4 论文将超网络继续学习模型分
  • 0-1背包问题--动态规划解法

    问题描述 给定n种物品和一背包 物品i的重量是wi 其价值为vi 背包的容量为C 问应如何选择装入背包的物品 物品不能分割 使得装入背包中物品的总价值最大 抽象描述如下 x n 表示物品的选择 x i 1表示选择放进物品i到背包中 问题分析
  • CSS学习--css的由来(1)

    一 什么是css 1 css Cascading Style Sheets 层叠样式表 级联样式表 2 css 是控制HTML文档内容的排版 二 css解决了什么问题 以前网页的元素的样式 全部是依靠标签属性来控制 比如 h1 align
  • 基于C++与CUDA的N卡GPU并行程序——OpenGL图形互操作性

    图形互操作性的极简框架示例 GPU的成功要归功于它能实时计算复杂的渲染任务 同时系统的其他部分还可以执行其他的任务 这就带来了一个显而易见的问题 能否在同一个应用程序中GPU既执行渲染计算 又执行通用计算 如果要渲染的图像依赖通用计算的结果
  • KVM重定向PCI

    应用场景 将服务器上的USB控制器 重定向到KVM中 一 修改KVM的配置文件 1 查看KVM的xml配置文件 KVM的配置文件存放在 etc libvirt qemu目录下 使用vi进行编辑 下面的这个KVM是重定向了一个PIC控制器 添
  • Windows平台Java开发环境的搭建

    下载安装JDK 首先到oracle的jdk下载页面 下载jdk jdk建议使用最新的jdk8 根据系统版本选择32位或者64位的 下载完成之后点击安装 安装位置随意 但是必须记住 一会配置环境变量的时候会用到 配置环境变量 安装完成之后就可
  • ubuntu 16.04 安装ssh失败,原因竟然是自带的openssh-client版本造成的

    ubuntu 16 04默认安装上了最新的openssh client 可以连接其他计算机上的ssh服务 而没有安装openssh server服务端 允许其他计算机通过ssh访问和操作计算机 如 xshell等工具 openssh ser
  • 题海战 C++ STL set应用

    目录 题目描述 思路分析 代码 题目描述 某信息学奥赛教练经验丰富 他的内部题库有 m 道题 他有 n 个学生 第 i 个学生已经做过p i 道题 由于马上要进行noip考试 该教练准备举行 k 场比赛和训练 每场比赛或训练都会有一些他的学
  • STM32堆和栈及变量的存储理解

    STM32堆和栈及变量的存储理解 转至 https blog csdn net shaynerain article details 71952754 关于堆和栈已经是程序员的一个月经话题 大部分有是基于os层来聊的 那么 在赤裸裸的单片机
  • 学习太极创客 — MQTT 第二章(九)本章测试

    程序代码如下 项目名称 Project 零基础入门学用物联网 程序名称 Program name complete connect 团队 Team 太极创客团队 Taichi Maker www taichi maker com 作者 Au
  • 硬件比软件难,那为什么硬件工程师待遇还不如软件?

    大家好 我是张巧龙 今天看知乎 有一个很有意思的问题 硬件明明比软件更难 国内的硬件技术也不如软件 为什么硬件工程师待遇还不如软件 在这里分享几个回答 有一定的参考价值 欢迎留言讨论 01 回答1 作者 Tinker 链接 https ww