嵌入式行业那些坑与出路

嵌入式的坑

烧钱

嵌入式的学习十分烧钱,这就让人有点望而却步。我是做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岁的时候,你会感谢自己的选择,感谢自己的辛苦。耕耘多,总会有收获的。毕竟天道酬勤。人不能只看眼前不是。

匿名大神

https://www.zhihu.com/question/28111300/answer/137176051

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

入行后第二份工作的一些感悟

这是我毕业后进入的第二家公司。也是我工作的第二个年头。转眼之间在新公司已经度过半年的时间了。内心还是有些许的感慨。 工作的内容和上家公司是差不多的,主要是做windows方面的基础架构和应用的维护,例如AD、exchange、lync、ISA、虚拟化等等&a…

poj2631

求一棵树的直径,所谓直径就是树上距离最远的两个点! 树形动归,每个点的为根的子树的最长向下链和次长链的和! 当然也可以二次深搜! ————————————————————————————————————————…

原来做的一个语义搜索软件的界面

今天得知NGW(New Generation Web,关于语义网络方面的)课程及实验作业成绩已公布,急去查看,但与想象中相去甚远。 罢了,凡事但求尽力而为,末了问心无愧即可,其它种种皆是虚幻。 附&am…

tcp为什么需要3次握手和3次握手的过程

网络上关于tcp连接时的3次握手相关的文章很多,在此不再重复,个人总结如下,如有不正确之处请给予指正。 tcp“三次握手”的目的是: 为了防止已经失效的请求报文段突然又传送到了服务器端,因而产生错误。 tcp的3次握手过程: (1)、…

C使用FILE指针文件操作

文件 文件的基本概念 所谓“文件”是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作…

java 守护线程 run_java守护线程(后台线程)

/*1.让各个对象或类相互灵活交流2.两个线程都冻结了,就不能唤醒了,因为根据代码要一个线程活着才能执行唤醒操作,就像玩木游戏3.中断状态就是冻结状态4.当主线程退出的时候,里面的两个线程都处于冻结状态,这样就卡住了…

2年质保期刚过就翘辫子,这是什么骚设计?

1.终于又坏了一件自从开始写聊聊身边的嵌入式这个系列,便常常有一个邪恶的想法在脑袋里盘旋,总盼着家里哪件电器赶紧出点毛病。你知道,如果不把一个东西拆的七零八落,覆水难收,那是不能满足咱们的好奇心的。都说念念不…

剑指offer---用两个栈实现队列

题目:用两个栈实现队列 要求:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 1 class Solution2 {3 public:4 void push(int node) {5 6 }7 8 int pop() {9 10 } 11 12 priva…

Java内存泄露原因详解

一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的&#xff0…

java时间戳版本号_maven 自动编译版本号 buildnumber-maven-plugin 1.4

最近新项目要需要更新发布版本号,用于标识发布的版本,网上找了下插件:buildnumber-maven-plugin 1.4 。记录下自己使用成功过程中遇到的各种问题,以供需要的朋友参考:插件官方网站:http://www.mojohaus.org…

如何分割合并ISO文件

今天打算在电脑上装Androd系统,谷歌考虑到了这方面的需求,特意制作了liveandroidv0.3.iso操作系统的镜象文件供开发人员下载。没有人愿意为了装这个系统而把原先的系统换掉,许多人也只是想玩票一下。这样就只能用虚拟机安装了,虚拟…

推荐Linux内核书籍

大家好,挺久没推荐内核相关的书籍了,今天给大家推荐一本我觉得不错的书,这本书籍的作者叫做李云华,书籍名字叫《独辟蹊径品内核》,他的写作思路非常不错,他会引用内核代码中的内容,给大家剖析讲…

3个Gmail 邀请,先进先出!!

3个Gmail 邀请,先进先出!!转载于:https://www.cnblogs.com/zhangqh/archive/2005/01/27/98222.html

互联网公司的项目经理:客户伤不起

互联网公司的项目经理:客户伤不起 前面《互联网公司的项目经理:大同与大不同》谈到了互联网公司的项目经理面对的客户和传统软件公司的不同,主要表现在客户与项目经理是同一组织内的、是和你一个战壕共同战斗的,很多情况甚至荣辱与…

java照片墙_基于jQuery实现照片墙自动播放特效

一个动态展示图片的页面:功能:定时从后台取数据,进行页面图片追加。对已经在页面中的图片,进行放大缩小动画展示。目前我们用于微信新关注用户头像展示。抽奖body{background-color:#000;text-transform:uppercase;color:#fff;pos…

位运算实现四则运算(C++实现)

前言 Leetcode中有一道这样的题:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。 如果正常的四则运算符号不允许使用,呢这道题的考点我觉得应…

使用croc命令在Linux系统电脑之间传输文件和文件夹

‍在两台或多台计算机之间传输文件的方法有很多。‍你可以使用基于服务器的文件共享工具,点对点文件共享app,U盘,外部硬盘驱动器,SCP,NFS,FTP,HTTP,云存储平台等等。本文将介绍一个名…

Lady Bird

La Ballade of Lady Bird[Lady Bird]Bird : Lady? Lady : Yes Bird? Bird : Its cold Lady : I know Lady : Bird... I cannot see a thing Bird : Its all in your mind Lady : Im worried Bird : No one will come to see us Lady : Maybe they come but we just dont see …

redhat oracle 开机自启动

一:修改 /etc/oratab N 改为Y 二:修改dbstart dbshut su - oracle cd $ORACLE_HOME/bin vi dbstart 找到 ORACLE_HOME_LISTNER/ade/vikrkuma_new/oracle ###########9i下没有,不用修改 改为 ORACLE_HOME_LISTNER$ORACLE_HOME 同样道理修改d…

Android中的5种数据存储方式

Android中的5种数据存储方式 Android中的5种数据存储方式 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据; 2 文件存储数据; 3 SQLit…