嵌入式是大坑的说法,是否与学生的信息不对称有关?

论坛 期权论坛 期权     
匿名用户   2018-9-24 00:42   396700   9
提示: 作者被禁止或删除 内容自动屏蔽
分享到 :
0 人收藏

9 个回复

倒序浏览
2#
明白人  2级吧友 | 2018-9-24 00:42:25
正好是从嵌入式转的换联网,在嵌入式领域有过一年工作经验,当然,一年仅仅是入门而已,只是在这一年中发现嵌入式这个坑确实很深,所以毅然决然转行了。

就技术难度而言,嵌入式涉及到软件和硬件。评价一个嵌入式产品好不好,仅仅完成了基本功能,能跑起来只是最初级的,即便是这样的产品已经足够很多小公司拿去忽悠了,毕竟识货的很少。一个嵌入式产品要想做好,在硬件上,各种测试得做,什么高低温,三防,尤其是玄之又玄的电磁兼容性,电源上的各种脉冲得打一遍吧,信号完整性得模拟仿真吧,每一个领域都是大坑。一个硬件工程师便是在这些大坑上居中协调。而涉及到软件,坑就更深了,操作系统裁剪,算法设计,系统参数设定,每一样都需要在足够高的平台上积累很长时间才能有所收获。要做成一个合格的嵌入式,是需要采购,硬件,测试,驱动,软件,算法等很多工程师配合完成的,而每个工程师,都是一个螺丝钉。在技术难度上,嵌入式是绝对不亚于互联网的。其实互联网也是个大坑,只是这两个坑是有区别的。

之所以转行,是因为觉得在这个领域成长周期太长了。一个熟练的前端的成长周期大概是两年,到时已经是可以独当一面,可以不用操心了,而他的成长,是可以通过自己的学习来完成的,初期需要的就是一台电脑然后撸代码。而一个硬件工程师,焊板子,调试,带着产品去各种单位去做测试来获得最直观的信息,在成长周期上就长了很多。而软件工程师想自我提高也很难,毕竟平时在公司的工作平台动辄上万,自己备不起。而且,嵌入式方向工程师们的自我提升在很大程度上依赖单位的整体技术水平。而加入想在业余时间去提升,只能去啃干巴巴的课本一样的东西,学些理论,至于怎么和实际联系起来,得有 项目文档吧,但是详细的文档只有大公司才有,好吧,又绕回去了。

转行另外一个十分重要的原因是,自己在下班后费心费力学的点东西无法和公司需求挂钩,简单来说就是很难变现。嵌入式产品开发,从开始就是大兵团作战,每个人都是螺丝钉。一个嵌入式产品,从研发,采购,测试,联调,定型,国产化,量产化,每一个步骤,动辄几个月。虽然很多步骤是并行的,但是当缺了人手,你必须啥都得干。这样,你被当做革命一块砖,哪里用你哪里搬。这样的模式,对于技术成长而言,没有益处。其实,做互联网的说嵌入式坑很深,不是说嵌入式在技术上简单,而是相比于互联网,嵌入式开发和机械,车辆等领域一样,已经是传统领域了。互联网领域迭代速度快,小团队很快就能做出一个功能上能用的产品来发布,开发所需要的生产资料很少很少。快速的迭代,开放的技术社区,这些都十分有利于年轻人的成长。比如一个前端,在工作之余研究下nodejs,做几个小项目,在GitHub上跟几个开源项目。他这段时间的努力,工资水平就会反馈给他。而嵌入式方向,没这种机会。一块赛灵思demo板动辄几万,买不起。。。
不否认,嵌入式方向,无论是机电,通信,测控,都是十分有意义的领域。但是作为年轻人,尤其是有着 住房等压力的年轻人,还是倾向于互联网领域。
3#
王锤锤  1级新秀 | 2018-9-24 00:42:26

这是个好问题啊.
我先占个坑,后面慢慢补充.

首先回答问题,
嵌入式可是推动着人类进步的重要工具啊.我们生活的各行各业随处可见嵌入式设备, 手机, 路由器. 汽车电子, 无人贩卖机, POS机, 人类已经离不开嵌入式. 所以嵌入式是大坑的说法并不成立.
但是,一般的高校学生从事嵌入式,显然是门槛太高.

接下来,就要讲我自己的故事了.
<我的嵌入式之路>
接触嵌入式是从2007年开始的,那个时候我大三了,湖南科技大学 通信工程专业.
面对即将毕业,我一脸的迷茫.
各种课程学了.但又不知道学了啥,数电,模电,单片机,51汇编,c语言,计算机原理学了有啥用,
那时候只知道魔兽世界,
有一天,和室友打完游戏,我对着电脑发呆.
"还有一年毕业了,我毕业以后怎么办..."
"老家是没有什么本事安排我进个好单位的,更何况我老家在西北的一个小地方,好不容易考大学出来了, 不能再回去."
上网.百度"通信工程","就业","未来","发展"之类的关键词.
映入眼帘的就是"嵌入式Linux"

-----------------------------------------那天是我和"嵌入式" "Linux"的第一次见面.


原来嵌入式是我们这个专业的一个延伸,结合硬件和软件,区别于X86架构的电子行业.在这里我找到了一个答案, "各种课程学了.但又不知道学了啥,数电,模电,单片机,51汇编,c语言学了有啥用".原来就是用在这地方的,当时觉得这就是我以后的路了.开始各种收集资料.了解和学习.

那时嵌入式linux还是个新鲜玩意,没什么太多资料,咬咬牙,和家里父母讲了一声,我暑假不回家了.去广州学技术,学嵌入式,学Linux.于是那年暑假,我去了广州.开始了暑假40天的培训,这个课程我学得非常认真.比在大学上课的时候认真多了.从早到晚泡在电教室,拿着发给学员的三星2410 ARM9的板子做实验, 点亮液晶,实验按键,认真的看调试信息,分析启动过程,中间遇到的问题就太多了.为什么代码烧不进去?为什么代码编译不通过?为什么屏幕点不亮?为什么按了按键中断不出来?那时就是一只小白,看到别的学员调通了.自己确还卡在问题里,简直急的想哭.
40天的时间很快过去了.学的东西一大堆,发了一堆资料,买了个移动硬盘,把这些相关的课程资料全部拷贝了.回学校,整个大四时间继续看这些东西.接着就是找工作的阶段,


-----------------------------------------------------找工作


那时自己一门心思的找嵌入式的开发岗位,别的岗位都不考虑.
但是无奈湖南这方面工作太少了.
好不容易找到一家做仪器仪表的,居然不要应届生做开发,
他们只招去跑销售的应届生.
面试了几家,都是不要应届生做开发,
我有个高中同学在南京上学,她说要不来南京看看,刚好有招聘会.我就去了,
走遍招聘会,只看到了一家做导航的,和嵌入式沾点边,所以投了简历,很快就通知我面试,
然而,面试官问了我一些问题,
其实现在看来都是很基础的问题,C语言的指针的概念.C语言各个循环的区别,一些算法的实现,
当时的我却没有答上来.
看来,不招应届做开发是有道理的.
还面试了一家公司,但是人家主要产品是基于Wince的,问我做不做.
我说"我还是想做Linux"
于是打道回府,回学校,开始恶补嵌入式面试的题目,

很快,收到了来自周立功先生的面试邮件,
哇!开心的不得了.
在这个行业,这是我的男神了,(后面会再次提到).

因为我刚开始学嵌入式 ARM时.看的很多书和学习资料,作者都是周立功
然后到了面试那天,
一早有大概100多人在教室里,听着周立功先生的宣讲,
而内容是周立功先生在勉励我们这些就要步入社会的大学生,要坚持学习.不要以为毕业了,就告别学习了,其实进入社会.进入工作岗位,是更严酷的学习,
当然了.也有批判,说他面试的一些学生里,什么都不会,天天打游戏.最基础的51都讲不清楚,这样的学生来学校混日子,以后也就是啃老,靠父母.
问了几个问题.台下没有人敢举手,他又说,你们现在太腼腆.胆子太小,放不开.没有年轻人该有的朝气,然后他在台上清唱了一首腾格尔的<天堂>.
台下气氛被点爆.宣讲会结束,开始笔试环节.

拿到题目.我又懵逼了.
难.
一句话,我会的都没考,他考得我都不会.
时至今日.
我回想起来.
那时的校招,怎么可能有嵌入式linux的岗位给应届生呢,学校都没有设这个专业.
嵌入式linux应该是简单的硬件原理 + 软件 + 操作系统的范畴.
而那次考试的试卷是汇编,电路设计,数电,电机马达控制相关的,
所以,那次的校招,要的是开发单片机和硬件开发的.
于是,我再次的落选了.


继续看书,学习,
很快,又收到面试电话了,
是一家软件培训学校,类似北大青鸟这样的.
让我去当老师.教他们的学生使用单片机.
我去试讲了一节课.
看到他们的学生,我心凉了一大截.
都是初中肄业高中退学上不了大学的,
果断拒绝.



又收到了面试电话,
来自广东,
原来是同专业的学长,叫我来他们公司,
我就去了,
公司是在国内做POS和收款机比较有名的公司.
面试我的是他们的总工程师,
问了几个问题,都是ARM和Linux的
我全都答出来了.
靠! 这才是专业对口啊! 找到组织了.
然后谈了一下待遇,
"试用期1300,包吃包住,正式录用以后根据能力加薪"
我当时想都没想.
可以!
哈哈 ,说出来不怕大家笑啊, 当年我一个应届生,又没什么大能力,没有实际项目,觉得能有一个学习的机会已经非常不容易了.更何况还包吃住,解决了一个生存的大问题,最起码毕业后的着落问题解决了.就想着先学习,然后以这里作为跳板就可以了,
于是盖了公司的盖章,回学校,这是我们班的第一份就业证明.

-----------------------------------------------------------------------------毕业了
有的同学们还来不及说上一句道别,就已经在深夜踏上了火车,
我去送室友时,我们几个互相拥抱,说着以后还会见面的.一转身,眼泪却也不争气的流了下来,
同学送我时,他们几个有的帮我提行李,有的帮我拿袋子,搬到出租车上,
车开了,我回过头看到他们还在校门口挥动着胳膊说着再见,保重,一路顺风.

直到在我的视野里慢慢变小,然后消失不见....


---------------------------------------------------------------------------工作了
刚开始工作的节奏非常快.
早8:00~17:30,一周上6天班.
每天学习和培训.
陆陆续续又从各个地方来了很多和我一样的应届毕业生.
我们十几个人一起住在公司宿舍.
岗位不同,有开发,测试,销售.
貌似最终能通过试用的名额不多.其他的只能走人.
我接手的第一个任务是,实现一个用ARM7做的能同时给几台热敏打印机用串口烧程序的小工具,
因为公司有生产打印机产品,如果每台机器都要用电脑来加载程序的话,那这个生产效率就太慢了.
有一个前辈带着我入门,帮我解决了很多问题,
后来只要是通过串口升级的都用这个工具, 直到后来USB加载逐渐代替了串口加载.这个工具也就告别了历史舞台.

接着,试用期过了,顺利转正,工资加了,不过开始交五险一金,所以拿到手也没比以前多多少.一起来的几个大学生有的已经另谋出路了.

我则马不停蹄的继续做新东西,
公司之前在深圳设立了一个分部,用Atmel9261 ARM9 + linux做了一个嵌入式Linux的系统.
但是因为POS机行业太多外接设备了,要移植的驱动太多,而且这个系统一直都有问题.
那个分部耗了太久终于耗不下去了,解散了.
而我就开始背着个锅,
把Linux移植到Atmel9261上,并且实现POS行业内的各种外设,最后再这个嵌入式linux上开发应用程序,

vmare虚拟机.redhat9.交叉编译工具.busybox,linux相关的中断,Linux目录,源码结构,Linux启动过程,脚本配置,shell, 输入子系统,TCP/IP.块设备,字符设备,进程线程,信号量.Platform.Devices和Drivers的配对过程,驱动的结构体,SPI,I2c,I2S,外接串口热敏打印机,USB射频卡.USB转串口驱动.
这个系统,我足足做了1年,
像蹲监狱一般的做事,没和外界接触,
每天早上从宿舍醒来,下楼就是办公室,1楼就是食堂,下了班也是在食堂吃完饭回宿舍就用电脑看资料.
因为基础不好,在大学时C语言和数电模电,单片机,计算机那些课没有认真学.很多资料读的不是太懂,只能翻来覆去的读.有的时候,一些内容要几本书结合起来读才能明白.
比如大学时候,不知道指针到底是干啥的,后来.看书看通了计算机原理,明白了数据在内存里存放的原理,搞清楚了地址的原理,后面很多东西就都迎刃而解了.尤其是在对Linux的驱动开发时,控制数据发送实际上就是控制发送寄存器,而寄存器其实就是被映射成了地址,通过改变地址上的值,达到修改寄存器的值.


这段时间是我人生中的低谷.是最艰难的时候.

整个东西做完以后,
本以为如释重负了,但是没有.
公司又有新任务了,
用minGUI和QT在这上面开发应用程序.
不过这时,公司给我配了2个新员工帮我,我的工资加到3000,
我可以搬出去租房子了,不用住在公司宿舍了,
娱乐活动也多了一些.

大半年后,minGUI的项目完成了.
我也对开发产品开始得心应手了.
任何客服反馈给我的产品问题,都能很快意识到系统问题还是应用层问题,然后快速的解决.
慢慢的,我负责的产品有了市场.
在公司的会议上得到一些领导的表扬,
那是2010年,中国的房价开始普涨,
我找到公司大BOSS.探讨人生,
do or go?
最后,公司决定给我一笔钱,用来买房子,
这笔钱是十万块.前提是我5年内不能辞职.
于是,拿着公司的10万,管父母要了15万,自己的5万,银行贷款20万.
买了一套130平的房子,
那时我刚满24岁.



-----------------------------------------------------------新阶段

那时,基于ARM9 Linux miniGUI的产品卖的并不是很多,
市场也不是特别好.
开始寻找新的方向,
然后Android出现了.
寻找各种途径学习Android开发,买书,上网看视频,在手机上调一些简单的应用,
掌握那些控件的用法,调用一些框架,然后自己买开发板,在开发板上外接一些I/O.接上收款机用的上的外设,比如说射频卡,磁卡读卡器.热敏打印机,8位数码管,VFD显示屏之类的,
我觉得这个可行啊!
首先Android基于Linux,可移植性很好,而且界面友好,开发应用也快,
然后我跟公司谈了这个规划,
公司让那个我作为产品经理全权负责这个事,
做产品经理要关注的事情就多了.
首先,产品性能定义,功能定义,机器的外形,平台选择.价格成本分析,物料选择,出差去各种供应商那里了解情况,去模具厂那里了解人家的生产规模,然后订计划,时间表, 当然了,做产品经理的这一切有一个前辈带着我干,就是公司的总工程师.

最后,在全志,瑞芯微和飞思卡尔里面,最终选择了用飞思卡尔imx6q做为产品的核心,因为当时都觉得美国货稳定性最高,还支持双屏异显,
最后产品出来了.虽然不算是国内最早的Android POS机.但是是目前同期最稳定的,


&amp;amp;amp;amp;amp;amp;lt;天店T1收银一体机&amp;amp;amp;amp;amp;amp;gt;互联网收款设备,收银软件最佳伙伴,3分钟完成部署!在2016年,Android 程序员应该如何选择?

这些产品的销售情况不如预期,原因还是POS机行业也不太规范.
很多商家还不用嵌入式的POS,而是找一台电脑装个盗版免费的收款软件.


2015年
很多有名的互联网公司也看到POS机,收款机这个蛋糕,
纷纷投资收购建厂做宣传,
竞争也越来越大了.
其中,小米投资的商米公司


商米--为智能商用硬件而生

百度投资的OnPOS


餐饮收银设备,餐饮管理软件,POS收银机-客如云,最新餐饮管理系统

电器巨头海信投资的


海信智能商用 - 智能商用中文站

酷点云智能收银机 帮助中小商户智慧经营

有这些巨头和科技厂商的推动,
应该会带动一波嵌入式POS的浪潮.
存在竞争是必然的,
但也让人们熟知和接受嵌入式POS,
那种找一台电脑装个盗版免费的收款软件的作坊应该会越来越少.


我现在的工作,还在优化升级,解决产品的各种问题,
比如,这个型号的wifi模块停产了,供应商发来新型号,做适配,做驱动,测试稳定性,测试OK,发布,
隔了几天,售后告诉我有客户投诉触摸屏不好用,总是上下跳,联系客户,在边边角角有个点击效果一直在点击,出差到现场发现里面的大型设备居然对触摸屏产生了干扰,赶紧联系触摸屏供应商的人来解决,通过软件增加抗干扰过滤.解决问题.
前阵子,核心板内存型号升级,在工厂测试中发现机器会有时启动不了,又在一步步的排查问题.终于发现内存时序导致的,解决问题,


--------------------------------------------------------------------一些思考
一直在思考这份工作给我的意义是什么
实话说,有无数次的念头想要放弃了,
有时调试某新模块,愁眉苦脸一个月了也找不到问题,
领导捶胸顿足催我什么时候交产品.
遇到公司业绩下滑,工资迟迟不涨.
遇到爱抬杠的同事为了一个小小的事情争论不休.
做销售出身的领导问这么简单小功能加不进去?
内心想过无数次辞职算了.改行干别的去.
真是不想干了.

然而最后还在公司电脑前调着软件硬件.


想了很久,我觉得我的人生也不会遇到什么大富大贵的机会了.
老老实实做一个普通人吧.
什么跑车,什么豪宅,美人,应该跟我都没什么关系.
人的一切烦恼,来自于对现实世界无能的愤怒!
是的.
上面那些烦恼都是因为确实挺无能的.
如果不干嵌入式我还能干啥呢?

身边各种各样的人都有.各行各业的朋友都有.
有钱人有有钱人的烦恼,没钱人有没钱人的烦恼.

公司的老总.一个星期差不多有5天在出差.为了集资扩建厂房,到处找关系拉投资,在桌上应酬喝了多少酒,光我看到的醉成烂泥的就有好几次.
办公室一个同事,他老婆和他都是外地的,还有2个孩子,老婆没有工作,负责在家看两个孩子,他一个人的工资养活四口人.


我现在能做的,只能是通过我的努力,
用我掌握的技术融合一些创新的想法,
持续开发顺应时代的产品.
给使用这些产品的人们,
带来切切实实的方便,
这不就是嵌入式诞生的初衷吗?


十年前的收款机长这样



现在的收款机长这样


很高兴.在我和一群同事的共同努力下.

把公司的产品,甚至行业的产品.

带到一个前所未有的高度.


随着嵌入式技术的发展和进步.

还有很多很多行业可以被优化和改变.

人们的生活会变得越来越好.越来越方便.

这就是嵌入式存在的意义.



-----------------------------------------------------------------------关于未来
之前做这行迷茫过一阵子.
我自己趁着业余时间逛科技论坛,
看国外的新发明.新概念,
自己也搞搞新的发明创造.

在wifi刚普及的时候,就做了手机控制家里电器开关的APP.

有了嵌入式的基础,玩玩Arduino上手还是很快的.

给自己做了一个自行车上的测速器和里程记录器.

人体感应灯. 温控湿度监视器. 电子秤, 还幻想过要不要搞个智能农场.呵呵呵

一些东西虽然没有量产,但是身边朋友用起来觉得很有意思,
在朋友眼里我是个技术宅.
以后应该也会持续的搞点小发明,
未来,物联网还是挺有前景的.
科幻片里的东西说不定真的有一天会变成现实,


前面说到的周立功先生------------------------------------

工作很多年以后,我去参加一个会议.

在国内是比较大的电子行业的一次峰会,

毕业这么多年又偶遇了.

他还是那么雷厉风行.

那天他在台上做了演讲,讲述他们从零到有研发示波器的例程.

受益匪浅,

会议结束后.我去跟他聊了聊天.加了微信.

以前需要仰视的偶像,现在的隔阂变得更小了一点.

觉得生活真是很奇妙.只要朝着一个方向持续的努力,总有一天会发生想象不到的事.



------------------------------------------------------------

大事件更新


也许就是命运的安排,同城某大学的老师私信联系到了我,说需要有实战经验丰富的工程师去学校里面任教,带学生实验或课程设计,我们见面后聊了很多。

主要是

1,学校在转型为应用型本科,需要增加更多的实训课,需要老师有更多的开发经验,提高学生编程能力。

2,电子信息,通信,物联网,这几个专业,专业课变化太快,知识更新,需要有新人注入。

3,学校增加安卓开发课程和安卓开发实战,就是集中一个星期只做安卓开发,

4,学校有嵌入式开发的课程,ARM9和安卓移植,驱动和应用。


总之最后经过3个月的集中培训和授课训练,我正式成为一名大学老师,未来开始,将在嵌入式,安卓,物联网,不遗余力的分享我的经验和知识给我的学生们,面对我的学生们,从他们的眼神中不知不觉会联想到我大学时的迷茫,希望我的分享能正确的引导他们,祝自己一切顺利!



4#
文艺程序猿  2级吧友 | 2018-9-24 00:42:27
没有忍住来回答几句。
我在通信行业工作了八年,一直从事的就是大家所说的嵌入式。在华为中兴都待过,现在在一家小公司里,有个小职位。说说我自己的感受。
1:嵌入式学起来难。不谈Linux内核中的内存管理,任务调度机制,把C语言写的清晰易懂易维护就需要一定的功底,这个时候还不谈软件架构,稳定性和扩展性。
2:要学习的东西太多。硬件要懂一点吧(CPU,业务芯片等),汇编至少要看的懂,指针数组要理解透吧,不然搞个异常出来怎么查?编译原理,数据结构和算法要懂吧!然后软件架构设计要学习,你写出来的东西至少逻辑清晰。编程语言至少要精通C,C++。
3:工资高不高看公司,看能力,还有你的身体素质,扛得住加班啊!

我曾经转岗到网管部门用Java做前端,刚开始总是提出质疑代码是否考虑内存的使用和效率,同事觉得我事多,说实话思维方式一下子还转变不过来。

推荐一本书吧《深入理解计算机系统》,我每年都会重温一遍,每次感受都不一样。话说,我老婆我越看越觉得普通了,这本书却越看越觉得屌。

呵呵,其实我水平烂的很。想写个操作系统一直都写不完。
5#
Kerr Wang  3级会员 | 2018-9-24 00:42:29
泻药

首先,题主的这个问题问的非常好,五个现象的分析很客观。

“知乎大部分人眼里的嵌入式:1工资低的不像话 2小学生干的活 3学的要死要活的,付出很多,最后付出得不到回报,还不如趁早转互联网。” 这个观点里面初看有那么一点道理,但是很多人从来就不想想,现在自称是嵌入式工程师的,有几个具有正儿八经的完整的知识体系的,大部分人眼中认为会玩点ARM,会点C语言,甚至连指针都用不熟的就是嵌入式工程师了。

那些个几天嵌入式培训课程上完,一点原始的技术积累都没有,能拿着人家弄好的内核镜像烧着玩,拿着人家的程序也能改几行,大部分这样的人实际上只是搬砖的,拿低薪也是正常的。

不过话又说回来了,现在很多小公司也只需要这样的人打打下手的也就行了,主要是开发平台越来越先进,开发的成本越来越低,而且小公司压根就不需要保证性能和可靠性,直接使用芯片提供商或者硬件提供商的评估板评估代码改改就能用,并不需要去了解架构这些东西,只需最后的东西能工作就行了,你觉得这些工作需要什么水准的人?我觉得这样的工作让小学生去干,确实是可以的。

但是嵌入式开发真的就这么简单吗?我一个师兄在华为无线部门,上次聊了会天,他们给设备写代码增加功能,代码功能一加再加,但是要求编译出的二进制文件体积和程序运行占用的内存不能比之前的代码大,因为新代码要兼容旧设备,旧设备的flash和ram就那么大,你增加了体积,旧设备就没法用了,所以就得不断的优化,甚至得到汇编级别,寄存器级别去优化。这要是换在小公司或者初创的公司的话,没事,代码体积增大了,换大存储大内存完了咯,这样他们需要的就不是嵌入式工程师了,或者只需要水平很低的所谓的工程师了,工资拿不高也是正常的。

这个时候有人就会说,那些大公司进不去啊,那没办法,自己水平低又不愿意突破还天天抱怨那又有什么办法呢?但是有人会说,那些初创的互联网公司要的人水平也不咋地,随便培训几天工资就很高了。这个是真没办法,这个是由经济情况决定的,互联网经济下热钱多,投资人不差钱,自然给的就多,这个不是技术水平决定的,反观嵌入式开发,实体经济下滑,真正能开起大价格的只有大公司,从这个角度来看,嵌入式工程师的工资是很符合经济规律的。互联网公司的大牛的工资也很高啊,所以就得出结论,不论是嵌入式还是互联网,真正能称得上是工程师的工资都不会低,你看今年海康的嵌入式开发就比软开高了1K。工资差异大的,只是那批打下手的,这个是经济情况决定的,但是三十年河东三十年河西,谁敢保证互联网经济就不是一个泡沫呢?到那时,只剩下大公司能够运营,情况你就可想而知了。仔细研究一下你就会发现,嵌入式的公司大多都是服务提供商,提供的是通信,基站等等行业,这些行业永远都是不会垮的,所以在经济危机当中,嵌入式行业不见得就是一个坑,中国可以没有那些创业的电商,但是绝对不能没有华为,中兴这样的公司。另一方面,现在智能硬件火起来了,你看各种智能家居,各种无人机,VR都需要嵌入式的支持,今年网易不是还有招硬件开发的么?到这里,搞嵌入式的是不是心情爽了一点。总之一句话,不论哪一行,互联网还是嵌入式还是其他行业,你要想不被淘汰,只需要一个字,“屌”,够屌就行。

至于题主后面的现象分析,现象1和现象2这个是当前的教育环境与生产环境脱节导致的,体制导致的东西,这个谁都没办法的。尽管学校大搞产学研,但是都TM是假的,当年嵌入式课的时候,老师一直在那读PPT,有些关于架构和编程的东西还讲错了,嵌入式实验课的时候,第一节课发一份pdf文档教大家ADS软件是怎么用的,这个软件ARM公司当时都不再提供支持了,我的Win7电脑装都装不上。第二节课的时候每人发一块板子,我记得是OMAP138的,给了一个bin文件,烧进去看看现象,代码都没开放,这叫上课,这TM在逗我,不过我也不需要那些个实例代码,因为我自己也可以写,成功装个逼,要不是先前自学了点,还真被忽悠的一愣一愣的,觉得嵌入式开发就是拿着bin文件烧着玩。

教育体制的东西就不去吐槽了,所以么,自己心中要有数,知道自己该学什么,该干什么。

问题5前面最前面分析的差不多了,不说了。

至于问题3和问题4,那是自己的问题了,其实很多人都知道问题在哪了,就是不去做不去改啊,老西医就要说一句了,别治了,已经治不好了,没救了,等死吧。

本科阶段是打基础的时候,广而学之,这是很重要的,开阔眼界,串联各个技能树和知识体系最重要的阶段,培养自学能力和查找资料能力最重要的时候,大一大二的时候就是培养这个能力的,这个时候很多东西自己都要有个概念,什么叫有个概念,就是这个东西你知道名词,你知道它是干什么,但是可能对细节不了解,这个没关系的,当你遇到一个任务或者需求的时候,因为你知道每个东西是干什么的,你就知道用什么东西去做,至于细节上怎么去操作,查啊,网络这么方便,至于怎么查,这个时候就是名词的作用了,这个才是你大一大二甚至大三上学期真正应该掌握的能力了,后面的时间就是不断的深化和实践。不要觉得本科的理论课程不重要,记住啊,是理论课程,你应该清楚理论课程都是在大二的时候结束的吧?他们的目的是什么,目的就是通识,需要你去掌握概念,你要是现在问我,小信号放大怎么实现,我不一定马上就能答得出来,但是我可以去百度三极管,静态工作点,直流通路,交流通路,小信号模型,运算放大器,同相放大,反相放大这些东西了,很快就可以给你一个电路,这就是概念的重要性,但是如果你不知道三极管这个名字或者你也不知道三极管的作用,你告诉我,你拿什么关键词去查,关键词理不理解?当然,你要是够聪明,直接查放大器就行了,当然这里只是举一个例子而已,不必当真。前一段时间啊,由于一定的需要,去看了一下《数字信号处理》和《现代谱估计》里面的AR模型,伯格算法,时频域分析,为什么呢?因为我知道要这么干啊,卧槽,看一下还真TM有用,当然啦,这几门课当年都是学过的,我知道要这么干,所以我就去看了AR估计,深入了解了一下细节,然后去吹牛逼吹得很是牛逼啊,要是不知道这些个概念啊,这个牛逼啊,它就吹不起来了……

所以,对于现象3和现象4,最重要的能力不是你会写几行代码,会玩点Linux,而是一个完整的体系,这个体系搭不起来,都是扯淡的。软件工程师也要懂一点硬件啊,硬件工程师也要懂一点软件啊,不是说精通,但是至少知道概念啊。至于这个能力怎么培养,我也不知道,我能怎么办,我也很绝望啊。我可以猜出来,有人会说,我学校不咋地,学校软硬件设施跟不上,我该怎么办?我也不知道啊,我能怎么办,我也很绝望啊,但是我只知道认真学就对了。不要觉得,其他学校就能怎么样,马克思主义告诉我们,“人的主观能动性是很重要的”,但是习主席又告诉我们,“空谈误国,实干兴邦”,所以还是赶紧干活去了,哎,我能怎么办?我也很绝望啊……

一家之言,不喜勿喷!!!谁喷我,我就骂谁,老子TM这么多年的马列毛思想政治可不是白学的……我也不想说脏话啊,但是,我能怎么办?我也很绝望啊……
6#
Tbabtm  3级会员 | 2018-9-24 00:42:30

后记,考上了哈工大深圳。

我就是所谓的“大神”,16年毕业,实习加工作一年多后准备18考研,下面是我劝师弟不要入坑写的,欢迎广泛讨论,我也是一家之言而已。

#为什么我跳出单片机的坑?#

1、单片机发展趋势

现在硬件发展得很快,嵌入式(嵌入式范围很广,包括单片机、linux、Android等方面的开发)渐渐地会向计算机那边靠拢,因为现在芯片性能强劲和价格的下降,我预想单片机会发展成为树莓派那样子的模式,用一些高级语言进行开发,计算机的同学很快可以上手,那学习单片机其实没有什么优势。你说那我这么多年操作寄存器的总该比他们强吧?渐渐地我看到一些厂商开始封装寄存器,留下一些接口来给外面的开发,不给你操作寄存器了,原厂自动会给你这样子做,这样子加快开发者的上手速度,例子:ST公司的库函数、我接触到一些蓝牙芯片的根本就封装起来,给你个接口手册而已,没有寄存器、wifi模块也遇到过直接封装起来。计算机的同学在编程方面有优势,加上软件操作性会更强,因此建议你上手树莓派,搞搞算法,反正跟单片机一样都是工具而已,你真的有必要在工具上花很多时间吗?“底层你们不用管,我来搞定就好”——蓝牙厂商对一个做算法的同学如是说(小米旗下公司)。一些大客户芯片厂商已经排技术人员帮忙加快进程,根本不用公司自己弄底层。有人说,“那你可以去那些厂商给你的计算机同学做封装”,那岗位少很多啊!竞争也激烈很多啊,人生已经如此的艰难......

给出两个本可以用嵌入式开发,但是在不差钱和设备少的情况下用台式机+windows系统,想想统一平台,高级语言真的是方便。

图书馆借书机

友宝零售机,死机了。。。


2、单片机就业行情
现在单片机就业行情比不上计算机,但是还可以,因为还没有真正发展到我预想中不用操作寄存器的地步,计算机的同学没有办法抢你饭碗,等到那天真的到了,还有救?不过计算机的同学估计也没有兴趣吧。我看电子论坛上面搞单片机的大神也是过得还好而已,没有达到我觉得更好的程度。人总要顺应潮流,不然就是秋后的蚂蚱。这样的一幕经常让我心惊,三四十岁,拼不过公司二十七八岁的年轻人,他没有家庭,加了班比谁都狠,你抱着老板的大腿加班给他看,让他不开你,否则你下个月的房贷就还不上,周末还在微信上晒调试板子的图片,老婆一旁对你嗤之以鼻,最后你还秃头。
“我面试了一些工程师,有好些技术都不错,50多岁微信朋友圈里时间线上都是开发板/项目板子及调代码的画面。东莞这边也就喊价月薪1W到1.5W之间,看着就觉得凄凉。好些搞了一辈子连个代步工具都没有,近40岁才结婚的也有。我司有个写PLC的40岁了现在还没老婆,感触良多。”

3、单片机真的有趣吗?
我之前一直这样子认为,可是树莓派也可以这样子做啊,操作起来更简单,虽然你还不能用树莓派去开发产品(已经有,因为其性能非常强劲和价格逐渐降低,而且上手快)。为什么不花点时间在算法,比如机器学习,人工智能,图像处理,模式识别这些更加有趣的东西上面呢?打好数学的基础。

另外我也很心疼我自己去做这些重复,简单逻辑的工作,白瞎了我这么智能的大脑。这份工作是干什么呢?读读datasheet, 有库抄库,没库写寄存器,实现一些逻辑功能,我觉得其实电脑程序也可以做这些工作啦,现在只是不成熟而已,有些厂家出的自动生成代码的工具不就是雏形咯,现在虽说很难完全代替,将来可不一定(好吧,我承认有点远)。我也知道有些嵌入式程序也不简单,但是总体对比做算法还是白瞎我的智能大脑。

上面推荐树莓派是给那些喜欢实践操作的,不喜欢就一台pc就可以做很多实验了。

每做一个产品换一个MCU,在逻辑之间游走的我终于受够了。

另外说下为什么要顺应潮流: 作为个人的命运是很卑微的,人来此世上一遭很多东西都是身不由己,很多时代碾压个人的例子比比皆是,比如文革让很多知识分子一下子进监狱,社会阶层固化让一些职业的人成为另外一些人的奴隶,干得更苦,得到更少,人到中年,干着不喜欢的工作,钱不多的人比比皆是。从宇宙的观点来说,不要说个人,地球都是很渺小的。所以来着世上几w天,60年是2w天,最重要是明白自己来世上一遭要得到什么,干成什么,努力去做到。

7#
xdh-linux  1级新秀 | 2018-9-24 00:42:31
先说说 是否坑,如果只是做单片机的话 没有OS,发展前景不是太好,做单片机的侧重点偏向电路设计 PCB 硬件控制 等方面,可以理解为和软件搭点关系的硬件开发
Arm上跑OS,这个方向还可以,如果os是linux的话,整个方向就基本侧重软件了,但是没有十几年前那么热了,智能手机出来之前,不同厂家的手机OS不一样,芯片方案也不同,各种方案五花八门,都需要驱动工程师去调试,市场需求量非常大,android出来后就不一样了,硬件方案趋于统一,OS也固定,驱动开发量大大减少,市场需求量也随之减少,就连我们做监控相机的也开始用高通方案跑android了,主要的芯片驱动开发工作都由芯片厂商完成,下游的公司主要是拿厂商的驱动demo去适配自己的产品
另外要说的是相比互联网,嵌入式方向 技术稳定变化小,假设android没落了,出了个bndroid你也不用担心,

再说说学习数据结构和操作系统,首先没有系统学习过这两门课,直接在项目中学习,这个是在扯淡
我是学自动化的,我们有学过数据结构,没有学过操作系统课程,但是我在考计算机三级的时候,自己学过操作系统,其实和计算机专业那些没有认真学的人差不多,大概知道几个概念,锁,死锁,内存管理,进程,线程等,具体是个什么根本就不知道,数据结构虽然有课程学过,也只是知道 链表、队列、 栈 、二叉树、图这些基本的概念,不不知道如何去使用,但是至少我是有几本概念的,后面在学习内核代码的时候,会发现原来这个概念是这样的,那个概念是这么回事

工作这么多年,想象以前在学校感觉好多基础课程都没什么用,确实太幼稚了,C/C++ 数据结构 操作系统 基础知识 这几个是我现在工作涉及最多的,很多课程不是没有用,只是你暂时没有用到而已,还有学过忘了和没有学过 根本不是一个概念

我有选修过计算机网络这门课,大概知道有TCP IP网络模型,了解了IP地址,还有网络端口(ftp/http等协议的端口号),纯粹就和学政治一样,强行灌输,我一直以为网络端口是和串口类似的东西,因为都有一口字,直到我在学wince时,发现boot过程中 连接PC下载wince镜像时,网络不通,然后分析boot代码,第一次对TCP/IP协议有了真正的理解,知道它到底是个什么东西,还有那个端口号不过就是个数字编号而已

能把C 数据结构 和 操作系统 三者完美结合起来的就是linux kernel,通过学习kernel代码,可以极大提高你对 这三个基础课程的理解

真正理解指针是C的精华这句话,数据结构的各种运用在kernel里面遍地都是


至于薪水确实相对差些,我在苏州,2010年硕士毕业,目前月薪可以达到 苏州房价均价,刚工作时加班多些,毕竟要学东西,现在除了公司规定每周有两天加到8点,其他很少加班,有项目紧急情况还是要加,但是比较少

主要还是看个人兴趣,本人还是对电子方面的东西感兴趣,互联网方面兴趣不大,编程语言还是喜欢C,就连C++我看着都有点别扭,虽然我也在用,更不要说java /OC
8#
神出鬼没的七叔  2级吧友 | 2018-9-24 00:42:32
不请自来,爪机码字,写点感受。
先自我介绍一下,半路出家,目前已经从事相关工作近十年,一直开发单片机裸机程序,硬件略懂,软件比较擅长。
熟悉51,各路厂商的各种单片机,arm7,m3等,操作系统略懂ucos和Linux。
开发出来的产品稀奇古怪,涵盖仪器仪表,家用商用电器,工业自动控制等等,颇多上市的产品。

题主的描述中有和互联网进行比较的部分,以我了解的情况来看,确实是实际情况,这个没什么好否认的,无论从收入水平,就业岗位数量上来看,嵌入式是不如互联网的,有以下几个原因:
1,几个大公司拉高了互联网的待遇水平,bat的起薪从应届生的角度来讲,还是有竞争力的。
2,目前的环境来讲,开发app,微信程序,甚至美工的岗位都很多,这个比例是远远高于嵌入式岗位的数量。
3,相对来说,嵌入式的修炼成本更高,时间更长,所以同等时间内,薪酬或晋升会不如互联网。
当然其他原因也很多,不一一列举,从事一门职业,没有必要非得从别的职业上找优越感,比如说我的朋友,从事互联网,现在轻轻松松年薪百万,还算不是特别冒尖的技术人员,而在我这个层面上,一样的嵌入式工程师,即使在华为,也需要相对出色才能拿到这个薪水(大家可以查查,07年左右进华为的,现在是大概一个什么薪资)。所以嵌入式只能说比上不足,比下有余吧,我这里的上下,全指薪水待遇,不涉及高尚卑劣。

嵌入式其实不分技术高低,这一行,你能做出来稳定可靠的产品,你就是nb的,操作系统玩得再熟,理论上再厉害,比如说做一个智能家电,你肯定是用不上的,你总不能开机就开好几分钟吧?所以适合的技术才最重要。
同时这里引申出来的一个问题就是,嵌入式的产品也相对错综复杂,不像其他和软件开发有关的工作,(比如说早些年的ERP系统,也是风光了好些年),相对更有体系和套路。万能宝随便搜一个智能硬件,有多少种啊,你擅长做四轴,那你不一定能做好机器人,你擅长做倒车雷达,那你不一定能做好自动泊车。
你的经验和阅历,只能帮助你绕过一些坑,但是每进入一个新领域,嵌入式工程师有些开发和填坑的时间是怎么也省不掉的。

综上,嵌入式可以说是一个坑人的职业,并不过分,但每个人对坑的理解不一样,它同样代表了机遇和挑战,等题主真正在这个行业里摸爬滚打许多年以后,相信会有自己的另一番感受的。
9#
陈伊文的哥哥  3级会员 | 2018-9-24 00:42:33
愿意跟题主分享一下自己的经历,希望对题主有帮助。
/*

刚上研的时候就想,互联网和嵌入式学哪个好?


自己本科学的自动化,学的都是模电、数电、微机原理这些硬件相关的课程,互联网我懂啥?前端、后台还是移动端开发?HTML、PHP、Java还是Objective-C?我只会C语言啊妈蛋,算法和数据结构、操作系统和计算机网络都没学过啊!

可是听他们说互联网工资高?年薪竟然20W?卧槽,我要转CS,为了钱我啥都干得出来!

去图书馆借了两本书,随便看看就扔了——真心推不动,没项目支撑啥都学不会,草,我还是老老实实接点嵌入式的私活和实习赚钱吧……

干着干着突然发现,原来嵌入式也挺好玩的呀,改一行代码马上就可以看到LED亮了、小车跑了、机器人动了,原来模电数电还真有作用?原来C语言还有这么多玄机?原来还有嵌入式操作系统?卧槽要学的东西好多啊!

终于开始找工作了,好激动啊,跟着他们互联网的刷点笔试题吧,卧槽怎么互联网面试一个也没用?我要找不到工作了?好着急!

妈蛋,老子不找互联网了……
来了个做智能交通的公司?产品占全国70%份额?还有做无人机的?产品占全球70%份额?做厨房家电的?做手机的?原来这么多公司都要嵌入式?好多都没听过名字啊!不管了都投吧,工作都快找不到了……

收到第一个offer了好开心!虽然只有12k,但差互联网也不远了,毕竟年薪也有18W呢!

就这样,offer一个比一个好,最后也拿到了20W+的offer……

原来我也能拿20W,最重要的是做的是自己喜好而擅长的东西,好像也不比互联网差太多?
*/

以上就是一个搞嵌入式的研究生的找工作经历。
10#
装逼过度遭雷劈  2级吧友 | 2018-9-24 00:42:34
@Kerr Wang 腰,
转到嵌入式软件部门已经有半年时间了,说实话还没有入门,最大的感受就是嵌入式实在是太博大精深,没个三五年是不可能完全掌握的。另一个大的感受是,IC厂就他么是个任劳任怨的保姆,底层驱动都帮你写好,上层应用给你出个demo,甚至一些低端的寨厂他么板子都得帮你做好。。。然后求你快量产吧!
额,好像跑题了!题主是要问嵌入式坑不坑是吧?

答案是目前很坑。为什么那?

其他答主已经说了,没有对比就没有伤害。跟目前大火的互联网比确实挺坑,我很多同学快毕业随便报了培训班出来工资都比我高,我能怎么样那?我也很悲伤!

但是,但是互联网行业为什么工资高那?主要原因是互联网快速发展,相应的人才培养没有跟上,供不应求必然抬高价格,然而当大家纷纷转去互联网的时候,互联网高薪还能持续多久?当做嵌入式的人越来越少,那企业如何招人?对,就是抬高嵌入式工资,而且你要知道,嵌入式可不像互联网随便培训几个月就能轻松上岗的喔!所以,你懂的!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:24326
精华:1
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP