借这篇
其实我也有和原PO差不多一样的问题
不过我工作快两年了 冏
一开始从软件跳去FW时 真的很兴奋
除了很多东西没碰过要学 那种成长的感觉很Nice
最主要的是薪水和福利都比'大部份'的软件业好很多
而且我觉得FW和软件最大的差别在于
FW比较不用一直盯电脑 可以玩电路板 比较不伤眼睛
而且比软件吃人际,如果和EE/HW/SW/PM任一个处不好也不用做事了
做了一阵子后也大概理解为何大家说底层取代性低
软件业基本上其实只要头脑逻辑清晰就不会有太大问题
不过要学的东西也很多,如果公司是属于一直在开发的阶段
绝对不会是像原PO所说的那样准时上下班,会比较准时的大多是有固定案子在维护的
底层的部份首先第一关基础知识
很多软件不会碰到的部份 比如I2C/SPI 等等
但如果单就code的复杂度和逻辑面来说,不会比软件业复杂
底层最基本的难度在于写code要考虑的地方太多
电压,执行速度,code size,多重执行绪
但最大的难度个人觉得其实是出在硬件/推皮球/隐藏问题/cost down这几件事情上
IC和CODE一样都会有BUG
写code写半天,没做到自己想要的
运气好是最后才发现问题是出在硬件身上,运气不好就是没找到
有时觉得自己的code没问题,但是所有人
第一时间几乎都会先怀疑code是否有问题
这变成说有时FW要有能力'指出'这是别人的问题
也就是除了要帮自己debug,还要帮别人debug,然后还要有相关知识可以说服对方
否则皮球就会被推过来了,甚至有时问题的出现源头只是测试者的操作不当....
十件机器,二件出问题,八件没问题
把有问题的机器拿过来 跑了三小时都没出问题 这个时候就很冏
问题没出现无法debug,所以这个问题就会被先挂在FW身上
但最后问题的源头有可能不在FW,所以FW比较不好的地方是常要扛一些莫须有的东西
cost down简而言之就是要马跑但不给牠吃草
客人觉得某个零件太贵 要我们用便宜一点的
但是要做到和比较贵的零件一样的功能
每一家公司FW常碰到的问题不尽相同
但我觉得FW真的很花心力,工时长和出差也跑不掉
年轻是无所谓
但很担心继续做下去路走死了无法养老
毕竟我不觉得自己年纪大之后还有体力应付这么多奇奇怪怪的问题 冏
所以不知道版上有无强者能指点迷津
难不成最后也是要回软件业......