我第一份工作是做embedded system app开发,而且还是FAE,那时候其实有很长一段
时间我对韧体以及软件的认知是很模糊的,讲白一点、搞不清楚自己是韧体或者软件
工程师。
有FAE就有RD,然后公司的RD还分2个部门,driver&app,三个部门,都在写code,而
且还是同一份code,明明是linux base的OS,却是使用windows系统安装Cygwin来
编译产出firmware,一个bin档,那么多人同心协力就为了那一个bin file,更前面
则还有ic设计、SE的付出。
后来我区分韧体和软件的方式是...写code的时候会用到三用电表就是韧体,完全用
不到的话,即便你会放一个device做开发,我认为依然还是软件。
你说纯软没有device吗?那台电脑主机不算吗?写出来的软件总归是要有个归宿的,
难不成纯软写出来的东西就不用在实体机器跑吗?呵呵。
至于怎么转软件~~其实我曾经失败过一次、成功一半一次,先说失败那次好了、那
次是进到一家新创、超惨烈的,做得很累,即便把公司要求的功能开发出来,还是
被嫌弃对核心程式的掌握度太低(其实完全没有掌握),也许是我不够强,也许是刚
好小朋友出身把我搞得很累,总之"被离职后"有松了一口气的感觉。
再讲成功一半那次好了,因为刚好做过video streaming,对这方面有些心得,刚好
有家蛮知名的网络公司想要做streaming,所以就进去开发研究streaming,后来搞了
一支streaming service出来,弄出来后不久就离职了,因为我有其它事想做。
其实那时若是一直做下去,应该就成功转到纯软了。
这边先回答标题的问题,这是我自己的心得,就是你要掌握一样类似video streaming
的东西,刚好纯软也需要,然后又比较专精一点的技能,而不是一般做纯软耳熟能详
的node.js,php,css,android app之类的东西,那些东西一个做韧体的去搞,肯定要降
价的,而且还不一定能hold住。
韧体虽然鲜少用到听起来很厉害的算法、资料结构,但并不意味着它很容易。
举例来说吧:
韧体应该会常遇到,程式逻辑没错,但结果就是不对,又或者...根本没结果。
查了半天才发现,原来是讯号不够干净或者有噪声干扰了,这部份软硬件整合的能力
是纯软无法想像,也是习惯写纯软的人难以适应的一个门槛。
所以软韧体有各自的难处、各自的门槛、各自的优缺点,单纯从薪水上去考量其实很
不智,因为机会留给准备好的人,即便现在纯软价格真心不错,水涨船高,但是...
你准备好了吗?没准备好,等你降价进去到变得很强时薪水还是现在的水准吗?
然后韧体就没有需求了吗?大数据以及AI时代来临,数据从哪儿来?除了手机外只要
是人类使用的东西都可以是数据来源,说到这儿不就又扯上IOT吗?万物相连大数据及
AI才有搞头。等到大数据和AI发展到一个程度会不会又发现~~~数据从哪儿来?
还不是要把电器都加上sensor再连上网,那这些东西谁做?
前面有人提到韧体的程式相对简单,其实也不否认这件事就是了,大致上来说的确是
这样,但是前阵子我因为开发需要使用了气压计和acc以及gyr,这当中用了旋转矩阵
、filter、以及一些融合算法,坦白说...会用不会算啊(羞愧),目前只复习了旋转矩
阵,至于filter以及融合算法的数学还在研究中。也许是我太弱吧、我觉得这些数学
真心不容易哩,我连看都看不懂,只是参照说明去调整和使用而已,虽然效果不错,
但还是颇心虚,那个filter最难搞,有人说根本就是一阶互补滤波,但是我也用过一
阶互补滤波,也推算过,怎么看怎么不像,反正就是还有的研究就是了。
说了一堆、是感想也是发表看法,顺便骗点p币。
谢谢收看。
※ 引述《johnlee2772 (彩虹呢?)》之铭言:
: 大家好,小弟目前两个工作经验,基本上都是在chip maker里面作韧体工程师
: 用到都是语法不难,不需要高度演算的C/C++,最近萌生转行的念头,想要稍微往软件方
: 面走,进则变成chip maker的software engineer,虽然也是不太纯软,但是要能够找到
: 纯软的工作好像背景并不是那么强大。
: 只修过两门C语言和一堂差点被当掉的JAVA EE学生有机会跳过去纯软吗?
: 或者有没有什么coding 证照或者类似东西可以稍微提高"获得面试门票"的机会呢?
: 谢谢