“如何快速提升单片机编程水平?”
今天有个兄弟问我,我也不怎么好直接回答他,我就给他简单讲了一下我的一个成长经历。
我是在2018年参加学校电子大赛的时候,开始接触并学习单片机的,在学校学习了2年。
2010刚毕业找工作的时候,虽然在电子大赛中获过奖,但想找一份比较合适的工作,还是非常有压力。
刚毕业,没有实战经验,那个公司会要我呢?
当初比较理想的工作就是单片机工程师助理,但找了将近一个月,大多数面试完之后都让我去做维修,让我从维修做起。
有几个比较大的公司,给的工资也还可以,但是我毅然拒绝了。
随着时间的流逝,1个月过去了,想起又感到后悔,因为没有更好的选择了,自己又似乎放弃了最好的选择。
最终我还是找到了一个比较理想的工作,一个小企业,和老板一起不到10个人,我的职位是软件开发工程师,也是公司唯一的单片机开发工程师,还有一个做硬件的,一个做维修的。
在那里我做了1年,工作也是相对顺利,而且公司也比较器重我,交给我的工作我都可以快速地完成。
但毕竟是个小公司,工作不饱满,后来我就辞职了,想换个工作,因为当时我觉得自己已经足够强大,足够自信,足够承担一些更加复杂的项目开发。
“理想很饱满,现实很骨感”,这次工作找了将近2个月,比第一次还惨。
自己的存款都快被花完了,最后进了一家对我人生具有重大意义的公司,开始接触物联网相关的工作。
进了公司之后才发现,自己其实还很Low,我几乎都不敢提我的过去,有很多同事,讥笑我“你之前还是软件工程师?”“你之前参加过电赛”… 后面一句就是“你的水平也太差了”。
这话听着心里的滋味那是相当的不好受,但不得不说,这也是一个事实。 我的单片机开发水平确实很菜。
为什么自己会这么菜呢?
一直以来,我都是活在自己的世界里,独自学习单片机,独自做单片机产品开发。
虽然很多产品也可以开发出来,但自己的程序就是 if 套if,while 套 while。
没有师傅带我,没有同事和我交流,自己又没有一个程序框架的概念。
其实,我们自己在if 套if,while 套while的时候,也知道这样很烂,但没有见过更好的,不知道怎么可以学得更好。
就像生活在某鲜的兄弟,虽然贫穷,但很幸福,到了新公司,一下子感觉到了自己的差距。
在这里做了3年,后来又换了几家公司,职位也从软件工程师做到了技术总监,分公司负责人。
随着自己不断成长,再回头看自己曾经的杰作,曾经让自己觉得很牛逼的程序,现在看来,实在是太烂了,都不敢相信这个是自己写的,不堪入目。
但经过这么多年的积累,越来越觉得自己需要学习的东西是越来越多,学无止境。
看到那些和我同样苦逼经历的兄弟们,我给大家分享一些我的建议,希望可以帮助到你们。
如何尽快提升自己单片机开发水平?
刚入门的时候,找个老司机带带你,学习老司机的经验很重要。
刚入门的兄弟们,有些是从大学刚毕业,有些是转行过来的,建议大家最好能找个老司机带带。
我们要懂得站在巨人的肩膀上成长,这样可以避免我们少走很多弯路,可以吸收别人积累很多年的一些开发经验。
遇到一个问题,如果没有人帮助,可能你需要1个小时,或1天,或1月,或1年才能解决,或永远都不知道怎么处理,如果有人帮助,可能就是几分钟。这就是有人帮助的好处。
2.要有一个合理的学习方法
方法很重要,有多重要呢?就像你要过附近没有桥一个河,如果你找一条船,可能很快就过去了,但你坚持要找桥,那可能就需要很久时间。
学习单片机最重要的是实践,尤其是对理论知识不是很好的兄弟,我们通过项目实战积累开发经验,同时发现自己还有哪些理论知识不懂,再去针对性去补习,这样会更快。
3.多看别人的代码,吸收别人程序中的精华
单片机工程师,最不喜欢干的事情就是看别人的代码,看别人的代码还不如自己重新写,效率更高,可靠性更好。
现实确实是这样的,因为看别人的代码,你要不断的猜别人的思维,尤其是一些没有注释的程序,更加让人头疼。程序就是一堆字母加数字,太枯燥。
但是,选择一些比较优质的程序代码去看,去研究,可以更加快速的提升你的编程能力和思维框架。
高手都是喜欢看别人的程序,尤其是一些优质的程序代码,因为看别人的代码可以吸收别人程序代码的精华。
就像无际单片机编程那个程序架构,就是无际做了产品开发多年总结出来的,实用性非常强,也能解决很多产品痛点。
架构能让你初步地了解任务管理和调度、队列算法,有了这些基础以后学RTOS会游刃有余。
这个架构也经过了批量产品验证,移植到自己的产品当中去可以大大缩短开发周期,占用资源又小。
如果我们不分享,你应该一辈子也接触不到这么完整系统的架构,至少我在网上没找到有,基本上都是零零散散的,价值不大。
一般优质的代码不是说你算法写的有多好就行,大多数领域对算法的要求都不高,很多人当务之急是程序架构上。
也就是功能你都能实现,但总觉得写得不够完美,还差点什么,如果你有这种感觉的时候就代表你的水平已经到达一个瓶颈,需要跟更好的代码学习。
我们要懂得先去向别人学习,然后去创造。
4.专注于一个行业,不断的打造,磨练自己
这一点非常重要,我从2010年底开始从事物联网相关的工作,10年多了,我一直从事这个行业,专注于安防报警系统,智能家居,消防报警系统的研发。
只有当你对一个行业,有足够的累计,有足够的经验,你才能拿到高薪。
企业最需要的就是有经验的。但经验不是一天,一个月,一年就可以积累来的。
电子相关的行业很多,单片机可以开发的产品又非常的多,如果想什么东西都想学会,都想掌握,那你就走进了一个误区。
当你想要的更多的时候,结果往往是什么都得不到.
相关文章