每次看到钢铁侠这部电影,我都肾上腺素飙升,想去撸它几千行代码发泄一下。
很多人学习和从事单片机开发都是出于兴趣,虽然现实很难达到托尼斯塔克的水平,不过能通过自己写代码去做出自己想要的东西,已经很有成就感了。
10年前,我也是一样,从点亮第一个LED开始就迷上了单片机开发,原来写程序控制硬件是这样玩的。
为此,我那段时间把游戏都戒了,我的脑子也比较天马星空,把开发板的LED点亮以后,我就想着怎么把家里的灯用程序来控制。
后面发现控制也很简单,中间加个继电器就行了。
当时我是自学转行的,只学了51这个单片机就出去找工作了,刚开始找工作的第一个月四处碰壁,凡是面试过的公司都叫我回去等通知。
等多了,我也就看开了。
最终分析了企业的需求,又做了一个智能小车的项目才找到工作,这是10年前,放在现在估计很难。
在这10年的产品开发生涯里,我跳过很多次槽,多的时候一年跳了4,5家公司,积累了大量的面试经验。
我也担任过项目经理和技术负责人的职位,面试过一些工程师。
现在企业招人,如果是中小企业的话,最看中的还是你掌握的技术,你做过的项目和贵公司的产品技术上有没有一定的联系。
如果有的话,那优势会非常大,也就是被录取的几率很大,至少我面试别人的话,是比较看重这点的。
因为你如果没做过,公司付出的成本会大很多,首先你可能不能直接参与开发,而是先培养熟悉一段时间。
这个时候还要找一个老工程师带你,间接上对研发的进度会产生一定的影响。
每个行业都会有专业的知识,比如说,汽车电子,就需要你熟悉ISO15765、KWP2000、ISO9141-2、J1850 PWM/VPM这些通讯协议。
如果你不熟悉这些,去做汽车电子类的通讯产品,需要花很多时间和精力去学习。
对一个行业不熟悉的时候,做商用产品本身也是一种风险,而这个风险是由企业来承担。
所以,如果你有项目经验,找工作时你将能从众多竞争者当中脱颖而出。
这也是为什么我们无际单片机编程通过实际项目带领学员学习单片机的原因。
刚学出来找工作实在太苦逼了,如果没经验绝大多数企业都会让你回去等通知,如果心态不好,被打击多了很容易就放弃,彻底与这个行业绝缘。
而目前大多数单片机培训并没解决这个问题,大多数都只是带领入门,为了让学员快速毕业,都是安排一些对实际工作帮助不大的内容。
这也是为什么很多企业一听到培训机构出来的都拒之门外。
如果是做单片机开发的,其实主要还是你的编程水平和思维,所谓的项目经验,追溯到底就是你的编程思维。
比如说给你一个功能,你有哪些实现的思路和方法,而这些思路和方法是经过产品验证真正可靠的。
很多人做学单片机,花很多精力去研究硬件电路,这条路是走偏了的,硬件一般有专门的硬件工程师负责,你能看懂原理图就行了。
那到底要达到怎样的编程水平才是对实际工作有用,帮助很大的?
我认为有几个条件:
1.能缩短开发周期的
2.代码实现方法经过产品批量验证
3.代码精简、稳定性、移植性、可扩展性好
以上3点,如果没有行业4-7年经验(看个人悟性),硬灌输给你也是理解不了的。
今天我可以先把答案给大家,大家以后从事单片机开发一定会碰到这种需求,到时候你再回过头来看,就会恍然大悟了!
我把以上3个条件浓缩成一个词叫:程序架构
我的个人理解是RTOS也是一个程序架构,只不过这个架构更强大,包含了很多功能。
如果自己没能力写架构,用RTOS这种架构是最好的选择,毕竟别人的架构经过了大量的验证。
这种架构一般开发中大型项目的时候会用。
一般经过很多项目锤炼的老工程师会自己写一个精简的。
这个架构是我多年前的写的,优势在于精简,能灵活控制每个任务调度的时间,也提供了队列算法,LED特效,按键多功能检测等产品最常用的功能。
基于这个架构能大大缩短你的产品开发周期,代码也是我一直在产品用的,经过了批量的验证。
相关文章