大家好,我是小麦,从一开始接触
嵌入式到现在,已经已经有十年了。
在这期间走过很多弯路,踩过很多坑。
平时和搞技术朋友聊到嵌入式的各种坑的时候,都会不约而同地提到这几点, 硬件的成本高,比较氪金,技术面比较杂,比较多,软硬件联调很麻烦等等;
偶尔在知乎上看到一篇不错的文章,文中大部分观点都不错,在这里分享出来。
作者:匿名大佬
转自:https://www.zhihu.com/question/28111300/answer/137176051
烧钱
嵌入式的学习十分烧钱,这就让人有点望而却步。我是做DSP起步的,更是能体会到嵌入式绝对是一个拿钱搭梯子的学习行业。
在我的学习过程中身边有不少的人投向了CS行业,也就是纯软件开发,比如网页、手机应用、数据库等。他们有一台联网的电脑几乎可以搞定,也是基于这个原因,我当时也想做纯软件开发。当时老师想让我们买开发板,我都没钱。
在CS行业有一些资深的玩儿家,买一台服务器就算可以了。
然而做嵌入式的你,需要买开发板,买模块,做到天人合一,软硬结合,等着做稍微高端点了,你又萌生出自己画板子买芯片的想法,这个坑越走越深。
等着差不多了,回头看看自己来过的路,就发现自己给自己搭了围城,想转行,已经花那么多钱了,能甘心吗,想继续走,那就继续烧钱吧。
我的第一个开发板是C51的开发板,好多年前的一个板子,我的第一个C51开发板花了168,那时候大一,一个月生活费就1000块,省吃俭用买了个这么大的。
拿着个板子学到大二,觉得特别没劲,后来碰到了我的老师,入行了DSP,那时候看某宝,F2812稍微好点儿的六七百,还要买仿真器,仿真器奇贵无比,加起来1000多。
后来我决定趁老师在就去实验室用学校的DSP试验箱,据说那个试验箱4000块钱呢,老师不在的时候就看书。压力很大,可学习很有动力,慢慢的开始接项目做,小来小去的也做,赚一笔,投一笔,收二手板子,后来板子一大堆,现在STM32,MSP430,DSP的C5000,C6000都有,还有小孩玩儿的电子积木arduino,自己买了示波器,各种工具电烙铁,万用表。后来玩电路板,印PCB很贵,买芯片也很贵。主要原因是我比较有兴趣,别人喜欢赌博砸钱,我喜欢给自己屯设备,东玩西玩的,挺有意思。
这东西,你光看书肯定不行,必须要编,去调。程序都是20%编,80%调,这调呢,就需要板子了。如果没兴趣,估计每花一笔钱都肉疼,如果有兴趣,可以省吃俭用的搞。或许吧,兴趣就是这么大魅力。但无论兴趣与否,这钱必须要花。
一堆必要的理论
以前想随大流学Java,学了三个月放弃,我甚至为自己规划路线,Java语言开始,然后后边三大框架Spring什么的,我现在忘了。后期就觉得没有挑战力非常容易入门,并非我多大牛,现在Java,做网页,安卓,市面上基本是大专,高职,他们但凡有点儿兴趣和上进心的,都能做的很不错。差异化竞争十分的不明显。
做嵌入式学习的理论就多了,一个大的分支,你可以以专家模式学习,你也可以以工程师模式学习。
软件方面学习的量不亚于做Java,C 编程的,甚至和底层打交道还要学的更深入,难度更加大,算法数据结构神马的都要了解。
硬件方面就更多了,电子行业基本入门知识,电容电阻这些不用说了,模电了解,数电必须熟练,还要学PCB,PCB里面Layout,各种大小,功率信号完整性,不说精通,你需要掌握和明白,看各种芯片各种文档,然而经验积累也十分重要。这些才是冰山一角,做DSP的,算法仿真,数学理论各种专业的理论知识和程序杂糅在一起,需要考虑硬件设备,一些芯片的编程还要考虑电路结构,电容大小,这还没结束。
调试上面,我们需要外接设备啊,软硬不分家,你还要看懂示波器,看懂频谱,真是够学了。有的时候觉得,学这么多也没用,人还是应该学的精,可常常最后的结果是,书到用时方恨少!学习量是个考验。做上EE工程,从来都是活到老学到老,不断的学习,不断的实践,现学现卖,现开发现积累。十分有挑战性。这是很坑的一点。
起始工资与纯软件差异
学了这么多,总想着付出就要有回报,实际上不然,互联网现在是热门的话题,各个行业都很缺人,到了社会上CS是又容易找,给的钱又多。我身边这些同学,参加培训,去了软件公司,曾经的屌丝手机也换成苹果了,小生活也好了,时而在朋友圈抱怨抱怨加班,实际上还是很享受生活的。
与CS比,嵌入式是卧薪尝胆。
CS也一直树立整个信息行业程序员的形象,一提程序员,外行不得不联想开发出一个软件的工作。可见CS群体的巨大。可嵌入式也有自己的优势,这些优势也不得不写在后面。
嵌入式VS纯软件
1 学的多,自然也就硬
嵌入式行业是个柔性的后路极多的行业,可能嵌入式软件势头不好,我可以转去做硬件,做硬件势头不好,我在努力一下去研究算法。在学嵌入式之出,入门之前,我们建立了一个庞大的地基,风向不好,则选另头建。
就算整个嵌入式行业轰榻,嵌入式工程师转CS轻而易举,反而有高屋建瓴的优势。相比于CS,只能一条路走到黑,不甘心一直写代码的,瞄准产品,运维,风险还是有的。
2 沉淀经验
嵌入式行业是个时间沉淀的过程,无人能逆袭,做不到极致,只能做的更好。这话怎么说呢,就是五年的不如十年的硬,十年的不如二十年的硬。
年轻人的优势就是思维灵活,接受新东西快,所以入行常常靠软件这个门路,入行几年开始积累硬件的知识,从底层追求极致,硬件是个慢功夫,经验比书本上的知识准,或者说,有些东西写不进书里只能自己明白,这就需要经历,所以,每个人都要爬台阶。
然而CS,处境十分尴尬,做几年,前有同行挡路,后有新人竞争,两头堵。这是我们公司的一个老软件工程师说的,虽然喝酒的时候吹牛逼,但是可以看到他很为自己担忧:做十年和做五年功效是一样的,换句话说,很容易“满级”。
3 纯软件越开发越简单
现在开发软件,有没有觉得越来越简单,封装性,模块化,流程化趋近完美。这要感谢大批进入CS行业的前辈们,在方便的同时,也堵死了CS的道路。
太容易就不需要那么多人了,大口径的收纳这么多人,等着一潮波浪向东过去,反作用的时候,会淹死后来的一批人,这是有迟滞性,当前看不出来。你可以保证这个潮流走10年,敢保证20年吗?越积累,后劲儿越可怕。
4 嵌入式稳如老牛
平心而论,在大牛的世界,互联网行业百万年薪的人很多,可嵌入式这样的顶层人很少,处于搬砖阶段的,也可能码代码赚的多些。但最主要的中坚力量,还是嵌入式稳。
人要把眼光放长,定位好自己,追求互联网顶层的人可能很多,但这条路上死的更多。在嵌入式上,你可以做的不温不火,大多数都能丰衣足食吧。
选择
嵌入式,我相信,到了40岁的时候,你会感谢自己的选择,感谢自己的辛苦。耕耘多,总会有收获的。毕竟天道酬勤。人不能只看眼前不是。