[硬件相关] 指的是做和硬件相关的 [软件] 开发,比如触摸类机器的界面,atm 或者售票机这种
一般我们开发网站或软件,就在办公室一座电脑一开就行了,但是硬件不行,硬件开发你必须去硬件所在地。这是软件开发者不会意识到的,这就导致什么呢?
一般我们开发网站或软件,就看看 log ,点点鼠标,前后端联调一下,大部分 bug 和测试就搞定了。但是硬件想都不要想,你必须去实地模拟,链接硬件,这就使得什么呢?
希望各位在选择硬件相关时,三思而后行,看好开发的到底是什么硬件,不要走我的老路,说多了都是泪
这并不是说硬件相关的工作不好,只是想提醒各位,入坑之前需要考虑清楚
如果是希望进入硬件或没有太多选择的人,就仅作参考
1
weak 2023-01-06 12:10:56 +08:00 via iPhone 1
国内很多硬件都是拿国外的方案,买国外的芯片,给你开发文档,到手后调试
|
2
xing7673 2023-01-06 12:27:04 +08:00 via iPhone 1
是对的
所以建议直接别转 |
3
Bijiabo 2023-01-06 12:32:17 +08:00 1
一直在做相关的开发,针对楼主提到的问题,我的看法:
- 坑 1: 调试的时候一般用开发板或者硬件工程师 /嵌入式工程师提供的开发用板卡就可以,一般是弱电( 5V ),或者 220V 点,配上隔离电源可以基本保证安全和轻量,一般也就巴掌大小的一个小板子。在调试的时候可以忽略外围电路 - 坑 2: 看团队基建和工具储备,一般需要比普通的前后端开发准备更多工具,另外前端工程师至少需要学会使用串口工具、树莓派,节约自己和同事时间,抓个日志什么的方便排查问题 |
4
murmur 2023-01-06 12:37:20 +08:00 8
我就说一点,模拟电路数字电路这些科目在大学里挂科都是很高的,尤其是模电,开卷考都能挂成一坨屎
电路和电路之前不是 http 那么高级的协议,是要按照时序交互的,时序是最离谱的东西,明明仿真一切 ok 的东西上了板子直接飞到奶奶家 搞编程都吹各种大数据,AI ,机器学习,到了电路层面谁也不会想只知道用开发板吧 |
5
zhang1215 2023-01-06 12:56:53 +08:00 1
跟公司里的硬件工程师配合过,跟楼主说的基本一致
|
7
wusheng0 2023-01-06 13:07:07 +08:00 via Android 3
做过一段时间,基本符合楼主说的。
还有一个地方就是,硬件相对来说不那么开放,有时候遇到问题无从下手,只能自己去调,不像互联网那些通用教程和文档比较多。 |
8
renhou OP |
10
renhou OP |
11
whyrookie 2023-01-06 13:39:01 +08:00 1
同意,和硬件相关的调试真的太难受了
|
12
wangxiaoaer 2023-01-06 13:44:01 +08:00 3
真挺搞笑的,刚刚看到一个贴子,说自己是做嵌入式硬件的,身边都是 35+,没有 996 ,越老越吃香,过的有滋有味,回头这边就有劝退的,笑哭。
多说一句,因为不能远程上班就放弃一个行业挺幼稚的。 |
13
web3invt 2023-01-06 14:01:42 +08:00 2
也不说说 工资差距。。。
|
14
dinghmcn 2023-01-06 14:01:43 +08:00 1
我就是硬件行业,调试确实不方便;由于没法远程调试今年疫情居家办公完全就相当于放假,那些能远程办公的听说由于效率变低反而更忙了
|
15
N046rM6vF6v9FuUi 2023-01-06 14:05:45 +08:00
不好意思,占个楼推荐一下工作,大家可以看我的最新一条帖子
|
16
huangya 2023-01-06 14:12:13 +08:00 2
需要懂的东西很多,有时候需要经验积累,很可能一个问题就卡你十天半个月。但懂的人,一眼就可以看出问题在哪里
|
17
renhou OP @wangxiaoaer
首先,无法远程只是这个工作千万缺点中的一个 其次,这和入行时候的状态有关。刚入行或之前从事的和硬件有关,你就会认为开发就是这样,这样的心态肯定 ok 干的长。假如你是互联网从业呢?我上面说的问题互联网行业都没有,所以你入行后就会产生巨大的违和感和不适。 再次,和公司以及薪水有关。如果给我极高的薪水,没有 996 ,越老越吃香,我也会发一个帖子赞美一番。如果没有呢? 所以这并不矛盾 |
18
DinnyXu 2023-01-06 14:19:39 +08:00 1
我朋友是做前端路由器和交换机相关的,不止是页面,也跟硬件接触,要把一些前端的包上传到硬件里面去,后端就更别说多烂了,全部是买的台湾的,或者国外的一些软件包回来自己修修改改,而这些还都是大家常用的路由器,华为、海康、移动、联通等等,反正就跟硬件沾边,真的很水。
|
19
Bijiabo 2023-01-06 14:20:29 +08:00
@renhou
我遇到的大部分的情况都是不规范的,遇到问题就想办法解决呀。可以给硬件工程师提要求、给团队提要求、自己做工具解决它。 大部分工作都是可以在以后的时间里复用的。而且我们现在软件和硬件的调试状态就是远程协作 |
20
fightingCode948 2023-01-06 14:20:37 +08:00
干不了呗?
|
21
iMiata 2023-01-06 14:22:58 +08:00 1
从纯软件转到软硬件结合的,真的巨难受,我有段时间甚至有点重回刚入行时候的恐慌心态,有点害怕上班面对那一大堆毫无头绪的问题
|
23
alikesi 2023-01-06 14:23:43 +08:00 via Android 2
结合同学和自己情况基本吻合,想想当别人点点鼠标敲敲键盘就能做好的事情,自己要把设备搬来搬去,拔线插线,或者到车间放设备的地方去折腾解决问题,有时还得去现场解决一些玄学的问题最后发现是硬件设计或者机构的问题,跟住就要分锅,一天下来你都花不了多少心思专心干一件事这体验能好吗?
|
25
renhou OP @fightingCode948 能干,折寿🤣
|
26
renhou OP @iMiata
巨难受,太懂了老铁,当时我每个周日晚上焦虑的都睡不着。上班我就想凭啥我一个软件开发要搞这些,真是受够了 |
27
mamili 2023-01-06 14:29:48 +08:00 3
哎,看到这个帖子真是感慨万千,刚毕业的时候就去了一家公司做上位机,一开始还没什么,就是串口输入输出什么的,可以模拟。
到布置现场,调试就抓瞎了,采集设备的状态,nnd ,输出和协议文档怎么不一样的。你想搞个设备来试试?做梦呢?人家公司在用的,停机你负责啊?买一台?就这一个项目,德国进口设备 30w ,再说这个设备型号已经停产了,想买都买不到。这还只是整条链路上的一个设备。 后来过完年直接飞去出差,现场住了一个月,他们下班了,我就去调试,抓完 log ,白天改代码。 最火大的还是有个设备,只有每周二凌晨停机检查的 2 小时能调,一礼拜一次的机会,一次只有 2 小时..... 回来就辞职了,后来每次找工作必问,能不能在公司调试,要不要去现场调设备 |
28
renhou OP @alikesi
听你形容的我都要 PTSD 了,学个 java ,上班一天都是物理搬运和检查,各种电流信号,真是要吐了。尤其是排测,那就是噩梦 |
29
fightingCode948 2023-01-06 14:32:42 +08:00 1
@renhou 我是原先干硬件售后安装的,然后转的开发.我感觉你的主要问题是 嫌麻烦 或者叫不感兴趣.当深入之后,其实挺好的.硬件的职业长度要比开发长的多,并且是越久越香.并且他们解决真实问题的变通能力很强,让我很受教.我们毕竟要生活在真实世界.需要一定的动手能力.希望你能在其中学会很多,而不是回避
|
30
renhou OP @mamili
我懂老铁,说多了都是泪 但凡和硬件有那么一丁点联系的,我就直接 pass 所谓的布置现场我也去过,我一到那先是解决网络问题,然后是物理搬运,在是各种物理调试,md 忙活半天才发现自己原来是开发 |
31
fzls 2023-01-06 14:39:37 +08:00
硬件和软件确实差别很大-。-纯软件的开发调试体验确实好很多
|
32
god7d 2023-01-06 14:40:13 +08:00 4
OP 说的这些只能说是这个行业中的细分行业,我自己就是从事上位机开发的,像 OP 说的 ATM 机、收银机类似的设备的都做过,只能说做这些的确是坑,但是也不是说一定要去甲方现场,因为很多时候除非甲方涉密一般都可以把设备搬回自己公司。
另外 OP 应该区分一下非标和标准设备,非标是 100%的坑,这个毫无疑义;但是标准设备的开发 99%的时间都在自己公司,想要远程确实几乎不可能,很多标准设备也很大无法搬回家。 至于调试电路板,一般也没法单独调试,除非是采集卡类的设备,但是采集卡类的设备很多时候又需要去甲方现场,比如电网的一堆设备,有几个公司能自己搭起来一个高压电路环境的……就算不是采集卡类,而是运动类的开发,各种电机、板子、钣金件搭建起来的原型机想要搬回家也比较难。 至于工作环境,去甲方的可以直接 pass ,只考虑在自己公司做开发的标准设备。一般环境都还可以,我个人喜欢这种跟硬件打交道的环境,因为觉得纯软件的开发环境比较压抑,在实验室里还可以走动走动,不用一直坐着,我觉得这是个优势。 硬件知识是必须要了解的,总不能连步进电机和伺服电机都分不清吧,另外还要学会调试硬件的基本知识(不用太深入)、抓包等等。 比较正规的公司,一般都是硬件开发完成后上位机软件才要正式进入,封装的好的下位机只需要上位机熟悉跟下位机约定的通讯协议就行,基本上还是专心在软件开发上的。 有的公司的设备没有集成下位机,只有一堆三方的板子,我劝你快逃。 |
33
god7d 2023-01-06 14:47:00 +08:00 1
我想说要是之前是做纯软件开发的,转到这行的确难受,而且做上位机软件开发的深度要深一些,举个简单例子,做纯软件 crud 的时候很少会接触到移位计算,但是这个在上位机中是很常见的,同时上位机开发也需要学习大量的算法去支撑开发工作。
本身就是做这一行的,这行只是个很正常的行业,没有那么恐怖,做硬件方面的开发避开非标其他的都不是问题,没有 OP 说的这么恐怖,他只是个很正常的行业,只不过没法 100%远程而已。 远程我再补充一下,跟硬件相关的开发是肯定无法远程的,但是上位机也存在大量跟硬件无关的纯软件开发,这部分是可以远程的。 |
34
renhou OP @god7d
感谢老哥回复 确实因为我这个地方本身就不那么正规,所以问题多 许多岗位是混杂或没有的,就放大了这个问题 所以如果找到好地方,应该会体验好很多 而且这个是真的分人,像我们这种熟悉了互联网模式的人就很不适应这种 当然,我的同事们有一部分也觉得没问题,而且正如老哥所说,可以随便走动活动 所以这个还是要自己想清楚 |
35
god7d 2023-01-06 14:50:39 +08:00 1
像 OP 说的那么深入硬件调试的工作,我基本上可以断定你们公司为了省钱没招硬件工程师、电气工程师、结构工程师、下位机开发工程师等等,拿着三方的硬件做二次开发,企图让软件一个人完成所有的工作,理想情况下,上位机软件工程师其实完全不了解硬件也是可以进行开发工作的。
|
36
muooOOO 2023-01-06 14:53:11 +08:00 1
小公司电工也来说两点:
1. 做硬件相关设备的公司一般都是重资产的传统行业,这类公司大都以生产和销售为核心,技术氛围很差劲,精力耗费在跟其他部门的麻瓜们扯皮 2. 从电路设计,打样焊接,linux 移植和驱动适配,终端人机界面,桌面上位机,生产导入,甚至还要出差跑现场。这些都要一人全干。不知道大公司是否也这样 3. 硬件调试遇到比如,电磁干扰,接口老化等玄学问题时非常头疼,示波器,逻辑分析仪,万用表这些工具走哪背哪 4. 联调非常麻烦,底层硬件,内核层,驱动层和应用层,单独一个还好,结合在一起就很难受 |
37
renhou OP |
39
timeance 2023-01-06 15:02:29 +08:00 1
坏了,应届生刚入职 做边缘计算类产品。当时想着冲产品经理,没想到最后是产品经理(硬件)
|
40
silencil 2023-01-06 15:04:37 +08:00 1
我们开发地铁 PIS ,广州 18 号线的时候连续加班几个月,就是因为这个调试只能现场调试,在机房待了几个月,没椅子没桌子,坐地上盘腿放电脑。楼主说的很对
|
41
ChoateYao 2023-01-06 15:06:36 +08:00 1
做过智能硬件相关,硬件出问题有时候真的叫天天不应叫地地不灵,你人不在现场根本不知道发生了什么错误,要怎么解决。
|
43
god7d 2023-01-06 15:13:17 +08:00
|
44
unco020511 2023-01-06 15:18:25 +08:00
一般硬件核心都是集成的,会有类似开发板这种东西,不需要整个硬件都在身边吧
|
45
nothingistrue 2023-01-06 15:20:36 +08:00
看来 OP 还是接触的少,接触多了你就会发现,你所说的坑,就是纯软件也照样有。大点的,客户要求必读在客户现场开发,各种权限卡得你基本没法看调试日志,都是很常见的。小点的,一个客户一套代码一把梭,没测试环境,甚至连代码版本库环境都没有的,也很常见。
|
46
Cloutain 2023-01-06 15:24:00 +08:00
我知道工控行业的开发工程师,常年在外出差,很多时候必须现场调试测试
|
47
Donahue 2023-01-06 15:42:21 +08:00 1
硬件确实是大坑
|
48
wangsd 2023-01-06 15:43:48 +08:00 1
@Cloutain 不仅是出差,你碰到三班倒的工厂经常得 24 小时待命,还有各种离奇得问题,我碰到过最离谱的的是有台机器会时不时莫名停止工作报警,检查了几天都检查不出来,直到有一天发现有一根头发丝粗细的线掉在 PLC 两个信号点上,机器震动一大两个信号点就导通了导致机器报警。
|
49
interim 2023-01-06 15:50:17 +08:00 1
大学时期搞过嵌入式,浅度总结下偏硬件的嵌入式各类问题:
1.购买硬件费钱 2.调试 bug 困难,开发需要涉及到模电、数电知识,各种硬件问题从意想不到的地方出现,例如:cpu 引脚坏了导致部分指令正常部分错误。PCB 板子验证,有问题测出来又要返工找厂商制版。 3.资源没有软件开发多,部分资源比较封闭,天天就是翻硬件的技术手册 4.知识面又广又杂,什么都要涉及和学习 |
50
shakoon 2023-01-06 16:22:55 +08:00 1
基本赞同,搞硬件开发是比较苦,debug 很麻烦。我这里搞 ATM 开发的同事,他们的开发和测试设备是在地下停车场里围起来的一个玻璃屋子,想着就有点惨
|
51
renhou OP |
52
koebehshian 2023-01-06 16:29:12 +08:00
之前做了医疗器械,由于没有系统工程师,项目经理直接把软件工程师当系统工程师使,遇到问题不光要找电子工程师,有些可能是机械问题。最关键的是样机一开始只有一台,机器分了几个模块,由不同的人负责,而有些模块间是有依赖关系的,别人在调他的模块导致你的模块被占用。
|
53
zggsong 2023-01-06 16:40:20 +08:00 1
@renhou 机器人难以承受的痛,我去写个网站他不香嘛,看了好几天硬件对接手册,都是些啥呀。当初在学校以为做机器人啥的还挺好的,后来发现这他喵就是工厂。。。离大谱,搞了一年纯软件开发,还好。回过头来还是难逃硬件交互软件开发,啥啥 plc 串口 头都疼
|
56
rationa1cuzz 2023-01-06 16:44:30 +08:00
但是工资高啊,我认识一个培训出来的,去了小米全资子公司,差不多是同等普通开发的 2 倍。不过有段时间在井里面待到凌晨调试轨道机器人。
|
58
rabbbit 2023-01-06 16:55:20 +08:00
还有些前端 MQTT ,出差没跑了都是坑
|
59
Bijiabo 2023-01-06 17:00:16 +08:00
@renhou 普通小公司而已,我感觉你的看法比我还悲观,别放弃嘛。这个行业的坑确实存在,也算是一个机会吧,找到方法能做起事情来轻松一些
|
60
CodeXx 2023-01-06 17:04:58 +08:00
公司是做雷达的也有点类似的情况,不过还好很少情况要去现场
|
61
qinghou 2023-01-06 17:20:24 +08:00
开发调试到还好,做硬件开发最怕产品上市以后用户发现 bug 。远程没办法定位,只能跑去现场,有时候去了又无法复现。来来回回,能折腾死人。
|
62
wxiao333 2023-01-06 17:28:11 +08:00
我们也有很多同事是做嵌入式的,了解他们的痛苦,我一直很好奇一个问题:
培养一个 嵌入式工程师 比 前后端软件工程师 无论是时间还是难度都要长很多,但是为什么好像国内嵌入式的工程师的收入并没有明显高于软件工程师,甚至很多时候是低于??? 另外就是国内好像嵌入式能进的大厂真的比纯软件要少很多 |
63
hambers 2023-01-06 17:33:13 +08:00
你不觉得远程上班越方便资本家压榨的就越厉害么, “方便” 所省出来的时间马上就安排各种需求填满. 所以 工作效率越高你的工作就越密集. 硬件工作越不方便 可能大部分时间都在搞辅助. 本质上都是拿时间换金钱 没啥区别..
|
64
8355 2023-01-06 17:33:52 +08:00
看我同学调过一次 你说的还少了呢
他做嵌入式的 去厂房层层关卡之后要穿特殊的衣服 貌似防静电还是啥 还要洗手到小门里有类似消毒还是啥的隔离门 挺费劲的 不过到点工厂下班他们也必须走 不加班就是了. |
65
godfunc 2023-01-06 17:50:37 +08:00
你这......... ,昨天刚入,模拟电路
|
66
israinbow 2023-01-06 18:00:00 +08:00 via Android
在室外冻了一天,问就是野外调式和采集飞控数据。
|
67
god7d 2023-01-06 18:00:06 +08:00
@wxiao333 这个薪资应该挺高的,但是 10 年以下工资低是因为没法出师。你可以关注下很多沿海三四线城市招聘的 10 年以上的嵌入式软件,他们的薪资堪比一线城市。
|
68
SekiBetu 2023-01-06 18:04:00 +08:00
但是工资嘎嘎高
|
69
jiegege 2023-01-06 18:24:51 +08:00 via Android
刚毕业的时候干过。。调试仪器整了好几天发现是仪器本身的软件 bug 。别的和楼主说的差不多,另外有时候还有资料匮乏
|
70
duke807 2023-01-06 18:38:36 +08:00 via Android
|
71
shijingshijing 2023-01-06 18:41:42 +08:00
|
72
meeop 2023-01-06 18:53:57 +08:00
也有好处的,工作稳定点,应该能干到退休
可以作为互联网被裁员的一个退路 |
73
zhang2e 2023-01-06 18:56:13 +08:00
本职 Android 开发,前前东家做蓝牙相关的硬件,为了解决蓝牙连接的问题,出差去深圳,去当地工厂,在流水线上办公,工人焊接,我调代码。
|
74
L4Linux 2023-01-06 18:57:12 +08:00 via Android
花了很多时间在刷 firmware ,firmware 调参上😂
|
75
Barnard 2023-01-06 20:08:50 +08:00
海康大华这些厂家,就是,啊哈哈哈
|
76
yuuko 2023-01-06 21:38:56 +08:00
确实,之前也在搞过无人超市的门(开门 /商品检测之类的),开发完去那个测试门那里调试,大晚上跑燕郊无人超市拍蚊子。。。
|
77
chiu 2023-01-06 21:45:02 +08:00
个人经验, 如果工作需接触硬件的话, 尽量往上游走, 比如芯片原厂.
|
78
throns 2023-01-06 22:23:16 +08:00 via Android
本科电子信息的,当初就是觉得硬件不好调试,满是玄学问题,于是走上了前端这条邪路。考研的大学同学的确是往上游走,做 FPGA 之类的,纯嵌入式开发的不多。
|
79
zhq566 2023-01-07 08:31:58 +08:00
还有转硬件的?我做嵌入式软件 偶尔被分到调试单板。太恶心了
|
80
impl 2023-01-07 10:43:24 +08:00 via Android
单纯就是喜欢桌面干净的,不要放电路板,焊枪等乱七八糟的玩意;两只手就想放键盘上,不想去搞那些接线,按钮开关啥的。
|
81
BingoXuan 2023-01-07 14:06:11 +08:00
还有一点不知道有没有人遇到过,就是硬件工程师硬做系统设计。程序不好写,出了问题难 debug ,使用不方便。这也是痛点。
|
82
coyoteer 2023-05-11 15:45:37 +08:00
宁波这边硬件工程师的岗位好多,而且都是大公司,软件开发都是一些小公司。。。
|