过来人建议各位前后端 [软件] 工程师,慎入硬件相关的工作

2023-01-06 11:41:35 +08:00
 renhou

前提

[硬件相关] 指的是做和硬件相关的 [软件] 开发,比如触摸类机器的界面,atm 或者售票机这种

坑 1:基本上,你必须接触硬件

一般我们开发网站或软件,就在办公室一座电脑一开就行了,但是硬件不行,硬件开发你必须去硬件所在地。这是软件开发者不会意识到的,这就导致什么呢?

坑 2:测试和 debug 异常艰难

一般我们开发网站或软件,就看看 log ,点点鼠标,前后端联调一下,大部分 bug 和测试就搞定了。但是硬件想都不要想,你必须去实地模拟,链接硬件,这就使得什么呢?

最后

希望各位在选择硬件相关时,三思而后行,看好开发的到底是什么硬件,不要走我的老路,说多了都是泪
这并不是说硬件相关的工作不好,只是想提醒各位,入坑之前需要考虑清楚
如果是希望进入硬件或没有太多选择的人,就仅作参考

8440 次点击
所在节点    职场话题
82 条回复
iMiata
2023-01-06 14:22:58 +08:00
从纯软件转到软硬件结合的,真的巨难受,我有段时间甚至有点重回刚入行时候的恐慌心态,有点害怕上班面对那一大堆毫无头绪的问题
renhou
2023-01-06 14:23:05 +08:00
@DinnyXu
没错,就那些必须要涉及物理硬件的东西,软件开发的规则几乎都失效了
alikesi
2023-01-06 14:23:43 +08:00
结合同学和自己情况基本吻合,想想当别人点点鼠标敲敲键盘就能做好的事情,自己要把设备搬来搬去,拔线插线,或者到车间放设备的地方去折腾解决问题,有时还得去现场解决一些玄学的问题最后发现是硬件设计或者机构的问题,跟住就要分锅,一天下来你都花不了多少心思专心干一件事这体验能好吗?
renhou
2023-01-06 14:25:02 +08:00
@Bijiabo
那你们公司真是属于好的了老哥😂
renhou
2023-01-06 14:26:21 +08:00
@fightingCode948 能干,折寿🤣
renhou
2023-01-06 14:28:32 +08:00
@iMiata
巨难受,太懂了老铁,当时我每个周日晚上焦虑的都睡不着。上班我就想凭啥我一个软件开发要搞这些,真是受够了
mamili
2023-01-06 14:29:48 +08:00
哎,看到这个帖子真是感慨万千,刚毕业的时候就去了一家公司做上位机,一开始还没什么,就是串口输入输出什么的,可以模拟。
到布置现场,调试就抓瞎了,采集设备的状态,nnd ,输出和协议文档怎么不一样的。你想搞个设备来试试?做梦呢?人家公司在用的,停机你负责啊?买一台?就这一个项目,德国进口设备 30w ,再说这个设备型号已经停产了,想买都买不到。这还只是整条链路上的一个设备。
后来过完年直接飞去出差,现场住了一个月,他们下班了,我就去调试,抓完 log ,白天改代码。
最火大的还是有个设备,只有每周二凌晨停机检查的 2 小时能调,一礼拜一次的机会,一次只有 2 小时.....
回来就辞职了,后来每次找工作必问,能不能在公司调试,要不要去现场调设备
renhou
2023-01-06 14:31:36 +08:00
@alikesi
听你形容的我都要 PTSD 了,学个 java ,上班一天都是物理搬运和检查,各种电流信号,真是要吐了。尤其是排测,那就是噩梦
fightingCode948
2023-01-06 14:32:42 +08:00
@renhou 我是原先干硬件售后安装的,然后转的开发.我感觉你的主要问题是 嫌麻烦 或者叫不感兴趣.当深入之后,其实挺好的.硬件的职业长度要比开发长的多,并且是越久越香.并且他们解决真实问题的变通能力很强,让我很受教.我们毕竟要生活在真实世界.需要一定的动手能力.希望你能在其中学会很多,而不是回避
renhou
2023-01-06 14:35:42 +08:00
@mamili
我懂老铁,说多了都是泪
但凡和硬件有那么一丁点联系的,我就直接 pass
所谓的布置现场我也去过,我一到那先是解决网络问题,然后是物理搬运,在是各种物理调试,md 忙活半天才发现自己原来是开发
fzls
2023-01-06 14:39:37 +08:00
硬件和软件确实差别很大-。-纯软件的开发调试体验确实好很多
god7d
2023-01-06 14:40:13 +08:00
OP 说的这些只能说是这个行业中的细分行业,我自己就是从事上位机开发的,像 OP 说的 ATM 机、收银机类似的设备的都做过,只能说做这些的确是坑,但是也不是说一定要去甲方现场,因为很多时候除非甲方涉密一般都可以把设备搬回自己公司。

另外 OP 应该区分一下非标和标准设备,非标是 100%的坑,这个毫无疑义;但是标准设备的开发 99%的时间都在自己公司,想要远程确实几乎不可能,很多标准设备也很大无法搬回家。

至于调试电路板,一般也没法单独调试,除非是采集卡类的设备,但是采集卡类的设备很多时候又需要去甲方现场,比如电网的一堆设备,有几个公司能自己搭起来一个高压电路环境的……就算不是采集卡类,而是运动类的开发,各种电机、板子、钣金件搭建起来的原型机想要搬回家也比较难。

至于工作环境,去甲方的可以直接 pass ,只考虑在自己公司做开发的标准设备。一般环境都还可以,我个人喜欢这种跟硬件打交道的环境,因为觉得纯软件的开发环境比较压抑,在实验室里还可以走动走动,不用一直坐着,我觉得这是个优势。

硬件知识是必须要了解的,总不能连步进电机和伺服电机都分不清吧,另外还要学会调试硬件的基本知识(不用太深入)、抓包等等。

比较正规的公司,一般都是硬件开发完成后上位机软件才要正式进入,封装的好的下位机只需要上位机熟悉跟下位机约定的通讯协议就行,基本上还是专心在软件开发上的。

有的公司的设备没有集成下位机,只有一堆三方的板子,我劝你快逃。
god7d
2023-01-06 14:47:00 +08:00
我想说要是之前是做纯软件开发的,转到这行的确难受,而且做上位机软件开发的深度要深一些,举个简单例子,做纯软件 crud 的时候很少会接触到移位计算,但是这个在上位机中是很常见的,同时上位机开发也需要学习大量的算法去支撑开发工作。

本身就是做这一行的,这行只是个很正常的行业,没有那么恐怖,做硬件方面的开发避开非标其他的都不是问题,没有 OP 说的这么恐怖,他只是个很正常的行业,只不过没法 100%远程而已。

远程我再补充一下,跟硬件相关的开发是肯定无法远程的,但是上位机也存在大量跟硬件无关的纯软件开发,这部分是可以远程的。
renhou
2023-01-06 14:48:48 +08:00
@god7d
感谢老哥回复
确实因为我这个地方本身就不那么正规,所以问题多
许多岗位是混杂或没有的,就放大了这个问题
所以如果找到好地方,应该会体验好很多

而且这个是真的分人,像我们这种熟悉了互联网模式的人就很不适应这种
当然,我的同事们有一部分也觉得没问题,而且正如老哥所说,可以随便走动活动
所以这个还是要自己想清楚
god7d
2023-01-06 14:50:39 +08:00
像 OP 说的那么深入硬件调试的工作,我基本上可以断定你们公司为了省钱没招硬件工程师、电气工程师、结构工程师、下位机开发工程师等等,拿着三方的硬件做二次开发,企图让软件一个人完成所有的工作,理想情况下,上位机软件工程师其实完全不了解硬件也是可以进行开发工作的。
muooOOO
2023-01-06 14:53:11 +08:00
小公司电工也来说两点:
1. 做硬件相关设备的公司一般都是重资产的传统行业,这类公司大都以生产和销售为核心,技术氛围很差劲,精力耗费在跟其他部门的麻瓜们扯皮
2. 从电路设计,打样焊接,linux 移植和驱动适配,终端人机界面,桌面上位机,生产导入,甚至还要出差跑现场。这些都要一人全干。不知道大公司是否也这样
3. 硬件调试遇到比如,电磁干扰,接口老化等玄学问题时非常头疼,示波器,逻辑分析仪,万用表这些工具走哪背哪
4. 联调非常麻烦,底层硬件,内核层,驱动层和应用层,单独一个还好,结合在一起就很难受
renhou
2023-01-06 14:53:40 +08:00
@god7d
你说的全中
我这就是拿着三方的硬件做二次开发,企图让软件一个人完成所有的工作
说实话我到今天才知道还有什么结构工程师、下位机开发工程师😂
谢谢你老哥,我今天才算是入行了
god7d
2023-01-06 14:59:46 +08:00
@renhou 不客气,可以多交流
timeance
2023-01-06 15:02:29 +08:00
坏了,应届生刚入职 做边缘计算类产品。当时想着冲产品经理,没想到最后是产品经理(硬件)
silencil
2023-01-06 15:04:37 +08:00
我们开发地铁 PIS ,广州 18 号线的时候连续加班几个月,就是因为这个调试只能现场调试,在机房待了几个月,没椅子没桌子,坐地上盘腿放电脑。楼主说的很对

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/906962

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX