我是建筑学转嵌入式的,目前工作三年多点儿,此帖子主要分享工作经验,工作经历见我另一个帖子【嵌入式贴吧真是一片哀嚎呀】。
转行前两年其实没学到什么东西,第一年是stm32的工作,第二年linux应用层的工作,目前工作是stm32工作。目前这个工作也是干的最长的一年,也是比较有收获的一年。所以分享下经验,我这点儿经验在大佬们看来可能不值一提,但也有可能帮助初学者少走弯路,感兴趣的可以往下看,不感兴趣可直接划走,不浪费时间。
分享一:前两年为啥没学到什么技术?自学嵌入式后就开始找工作20200801。自学期间linux基本框架都学过,比如c语言,数据结构,linux系统编程,linux驱动编程,还有qt,这些我其实只过了一遍视频,然后stm32也过了一遍视频。赶时间所以也没做什么实验,同时学习视频上的内容感觉也好理解,说白了,一听就懂。结果找工作后问题就出现了,好的工作面试过不了,最后找的工作一般般,一方面自己知识体系并没完善,以为学的差不多了以为听懂了就行,这是犯的第一个错误; 另一方面,没搞懂嵌入式工作的核心能力是什么,这是工作前两年没学到什么技术的主要原因。
分享二:嵌入式工作的内容(嵌入式软件)和需要的核心能力是什么?嵌入式软件工作内容主要就是编程+调试。为什么找工作都看重项目经验?原因就是花几个月培训,过一遍知识很容易理解,但调试经验短期几个月无法速成,编程经验也无法速成。大家可能大二就已经过了c语言二级,什么数组,指针,链表队列都学过,都会,也写过例程,以为自己学的差不多了,体现在简历上也挺厉害的,但是实际上远远不够。嵌入式编程追求效率,和节省资源,需要理解内存,理解整个项目的软件架构,需要应用层编程经验也需要驱动层编程经验,说白了既要会应用层软件设计,也要会操作寄存器,出了问题还得能排除是不是硬件问题。也就是说,综合能力越强,越能不断优化自己的代码,越能写出效率最高,设计最精巧的代码,这都需要时间积累的,单单逻辑思维能力强是不够的,还得有综合知识应用能力和编程经验。我前两年工作大多时间都在调试,没写多少代码,写的少自然能力上不去,公司接触项目少,大多时间都在维护老项目,没调试过驱动,到处都是短板,虽然每天也比较忙,没有高手指导,每天也就迷失在小问题上,迷失在重复调试中。再说说我对嵌入式工作核心能力的理解,其实就是综合能力的运用。不论是编程设计,还是出现bug后解决问题的思路,都依赖你的综合能力的运用,综合能力主要是编程经验和调试经验,这又依赖你的软件知识,硬件知识,调试方法。
分享三:转行嵌入式的新手需要注意什么?前期编程能力比较难提高,珍惜每次编程实践的机会,时刻注意了解项目的软件框架,了解框架后就可以查漏补缺,软件不够就提高软件,硬件不够就去补硬件,调试经验不足就多向高手请教,自己多总结。前期因为能力不够,编程机会自然比较少,就得平时多找机会练手,如果比较懒那就多看那些优秀的代码,学会仿写优秀的代码非常重要!!学会仿写优秀的代码非常重要!!学会仿写是提高编程能力的最快方法,这是我这一年总结的,后期能力再提升了,分享的可能就有更深层次的东西了。补充一点,尽量找项目比较多的公司!!!特别是研发新产品比较多的公司,这才有机会提高!!选择不对,努力白费!!加油💪#如何自学嵌入式 #
转行前两年其实没学到什么东西,第一年是stm32的工作,第二年linux应用层的工作,目前工作是stm32工作。目前这个工作也是干的最长的一年,也是比较有收获的一年。所以分享下经验,我这点儿经验在大佬们看来可能不值一提,但也有可能帮助初学者少走弯路,感兴趣的可以往下看,不感兴趣可直接划走,不浪费时间。
分享一:前两年为啥没学到什么技术?自学嵌入式后就开始找工作20200801。自学期间linux基本框架都学过,比如c语言,数据结构,linux系统编程,linux驱动编程,还有qt,这些我其实只过了一遍视频,然后stm32也过了一遍视频。赶时间所以也没做什么实验,同时学习视频上的内容感觉也好理解,说白了,一听就懂。结果找工作后问题就出现了,好的工作面试过不了,最后找的工作一般般,一方面自己知识体系并没完善,以为学的差不多了以为听懂了就行,这是犯的第一个错误; 另一方面,没搞懂嵌入式工作的核心能力是什么,这是工作前两年没学到什么技术的主要原因。
分享二:嵌入式工作的内容(嵌入式软件)和需要的核心能力是什么?嵌入式软件工作内容主要就是编程+调试。为什么找工作都看重项目经验?原因就是花几个月培训,过一遍知识很容易理解,但调试经验短期几个月无法速成,编程经验也无法速成。大家可能大二就已经过了c语言二级,什么数组,指针,链表队列都学过,都会,也写过例程,以为自己学的差不多了,体现在简历上也挺厉害的,但是实际上远远不够。嵌入式编程追求效率,和节省资源,需要理解内存,理解整个项目的软件架构,需要应用层编程经验也需要驱动层编程经验,说白了既要会应用层软件设计,也要会操作寄存器,出了问题还得能排除是不是硬件问题。也就是说,综合能力越强,越能不断优化自己的代码,越能写出效率最高,设计最精巧的代码,这都需要时间积累的,单单逻辑思维能力强是不够的,还得有综合知识应用能力和编程经验。我前两年工作大多时间都在调试,没写多少代码,写的少自然能力上不去,公司接触项目少,大多时间都在维护老项目,没调试过驱动,到处都是短板,虽然每天也比较忙,没有高手指导,每天也就迷失在小问题上,迷失在重复调试中。再说说我对嵌入式工作核心能力的理解,其实就是综合能力的运用。不论是编程设计,还是出现bug后解决问题的思路,都依赖你的综合能力的运用,综合能力主要是编程经验和调试经验,这又依赖你的软件知识,硬件知识,调试方法。
分享三:转行嵌入式的新手需要注意什么?前期编程能力比较难提高,珍惜每次编程实践的机会,时刻注意了解项目的软件框架,了解框架后就可以查漏补缺,软件不够就提高软件,硬件不够就去补硬件,调试经验不足就多向高手请教,自己多总结。前期因为能力不够,编程机会自然比较少,就得平时多找机会练手,如果比较懒那就多看那些优秀的代码,学会仿写优秀的代码非常重要!!学会仿写优秀的代码非常重要!!学会仿写是提高编程能力的最快方法,这是我这一年总结的,后期能力再提升了,分享的可能就有更深层次的东西了。补充一点,尽量找项目比较多的公司!!!特别是研发新产品比较多的公司,这才有机会提高!!选择不对,努力白费!!加油💪#如何自学嵌入式 #