大家好,我是无际单片机编程团队徐工

“嵌入式单片机开发到底怎么样?”

今天有个兄弟问我,我也不怎么好直接回答他,我就给他简单讲了一下我的一个成长经历。

我是在2018年参加学校电子大赛的时候,开始接触并学习单片机的,在学校学习了2年。

2010刚毕业找工作的时候,虽然在电子大赛中获过奖,但想找一份比较合适的工作,还是非常有压力。

刚毕业,没有实战经验,那个公司会要我呢?

当初比较理想的工作就是单片机工程师助理,但找了将近一个月,大多数面试完之后都让我去做维修,让我从维修做起。

有几个比较大的公司,给的工资也还可以,但是我毅然拒绝了。

随着时间的流逝,1个月过去了,想起又感到后悔,因为没有更好的选择了,自己又似乎放弃了最好的选择。

最终我还是找到了一个比较理想的工作,一个小企业,和老板一起不到10个人,我的职位是软件开发工程师,也是公司唯一的单片机开发工程师,还有一个做硬件的,一个做维修的。

在那里我做了1年,工作也是相对顺利,而且公司也比较器重我,交给我的工作我都可以快速地完成。

但毕竟是个小公司,工作不饱满,后来我就辞职了,想换个工作,因为当时我觉得自己已经足够强大,足够自信,足够承担一些更加复杂的项目开发。

“理想很饱满,现实很骨感”,这次工作找了将近2个月,比第一次还惨。

自己的存款都快被花完了,最后进了一家对我人生具有重大意义的公司,开始接触物联网相关的工作。

进了公司之后才发现,自己其实还很Low,我几乎都不敢提我的过去,有很多同事,讥笑我“你之前还是软件工程师?”“你之前参加过电赛”… 后面一句就是“你的水平也太差了”。

这话听着心里的滋味那是相当的不好受,但不得不说,这也是一个事实。 我的单片机开发水平确实很菜。

为什么自己会这么菜呢?

一直以来,我都是活在自己的世界里,独自学习单片机,独自做单片机产品开发。

虽然很多产品也可以开发出来,但自己的程序就是 if 套if,while 套 while。

没有师傅带我,没有同事和我交流,自己又没有一个程序框架的概念。

其实,我们自己在if 套if,while 套while的时候,也知道这样很烂,但没有见过更好的,不知道怎么可以学得更好。

就像生活在某鲜的兄弟,虽然贫穷,但很幸福,到了新公司,一下子感觉到了自己的差距。

在这里做了3年,后来又换了几家公司,职位也从软件工程师做到了技术总监,分公司负责人。

随着自己不断成长,再回头看自己曾经的杰作,曾经让自己觉得很牛逼的程序,现在看来,实在是太烂了,都不敢相信这个是自己写的,不堪入目。

但经过这么多年的积累,越来越觉得自己需要学习的东西是越来越多,学无止境。

看到那些和我同样苦逼经历的兄弟们,我给大家分享一些我的建议,希望可以帮助到你们。

如何尽快提升自己单片机开发水平?

1.刚入门的时候,找个老司机带带你,学习老司机的经验很重要。

刚入门的兄弟们,有些是从大学刚毕业,有些是转行过来的,建议大家最好能找个老司机带带。

我们要懂得站在巨人的肩膀上成长,这样可以避免我们少走很多弯路,可以吸收别人积累很多年的一些开发经验。

遇到一个问题,如果没有人帮助,可能你需要1个小时,或1天,或1月,或1年才能解决,或永远都不知道怎么处理,如果有人帮助,可能就是几分钟。这就是有人帮助的好处。

2.要有一个合理的学习方法

方法很重要,有多重要呢?就像你要过附近没有桥一个河,如果你找一条船,可能很快就过去了,但你坚持要找桥,那可能就需要很久时间。

学习单片机最重要的是实践,尤其是对理论知识不是很好的兄弟,我们通过项目实战积累开发经验,同时发现自己还有哪些理论知识不懂,再去针对性去补习,这样会更快。

3.多看别人的代码,吸收别人程序中的精华

单片机工程师,最不喜欢干的事情就是看别人的代码,看别人的代码还不如自己重新写,效率更高,可靠性更好。

现实确实是这样的,因为看别人的代码,你要不断的猜别人的思维,尤其是一些没有注释的程序,更加让人头疼。程序就是一堆字母加数字,太枯燥。

但是,选择一些比较优质的程序代码去看,去研究,可以更加快速的提升你的编程能力和思维框架。

高手都是喜欢看别人的程序,尤其是一些优质的程序代码,因为看别人的代码可以吸收别人程序代码的精华。

就像无际单片机编程那个程序架构,就是无际做了产品开发多年总结出来的,实用性非常强,也能解决很多产品痛点。

架构能让你初步地了解任务管理和调度、队列算法,有了这些基础以后学RTOS会游刃有余。

这个架构也经过了批量产品验证,移植到自己的产品当中去可以大大缩短开发周期,占用资源又小。

如果我们不分享,你应该一辈子也接触不到这么完整系统的架构,至少我在网上没找到有,基本上都是零零散散的,价值不大。

一般优质的代码不是说你算法写的有多好就行,大多数领域对算法的要求都不高,很多人当务之急是程序架构上。

也就是功能你都能实现,但总觉得写得不够完美,还差点什么,如果你有这种感觉的时候就代表你的水平已经到达一个瓶颈,需要跟更好的代码学习。

我们要懂得先去向别人学习,然后去创造。

4.专注于一个行业,不断的打造,磨练自己

这一点非常重要,我从2010年底开始从事物联网相关的工作,10年多了,我一直从事这个行业,专注于安防报警系统,智能家居,消防报警系统的研发。

只有当你对一个行业,有足够的累计,有足够的经验,你才能拿到高薪。

企业最需要的就是有经验的。但经验不是一天,一个月,一年就可以积累来的。

电子相关的行业很多,单片机可以开发的产品又非常的多,如果想什么东西都想学会,都想掌握,那你就走进了一个误区。

当你想要的更多的时候,结果往往是什么都得不到

如何快速提升单片机编程水平?相关推荐

  1. 怎么提高单片机编程水平?

    大家好,我是无际,无实战不理论,下面是我从事单片机编程10年的终极程序. 对于怎么提高单片机编程能力,作为一个过来人,我感触很深! 工作的前3,4年,做过一些产品,自以为自己的水平还算可以了,直到去了 ...

  2. 日记侠:如何快速提升文案写作水平?

    你好,我是王刚,行走于网络江湖的"日记侠".每天分享我的思考和经验,希望身边的人可以和我一样天天写日记,今天是王刚日记第591天. 确切的说是朋友圈文案...... 也许你知道方法 ...

  3. 快速提升Golang编程能力:那就一起用Go做项目吧

    Go语言是一种开源编程语言,可轻松构建简单.可靠且高效的软件. Go语言在2009年首次亮相,是谷歌开发的一种通用型语言.与Python等其他编程语言相比,Go语言具有多个优势,这也是它值得关注的地方 ...

  4. python方向难度排名_菜鸟如何提升Python编程水平?良心推荐!

    资源干货第一时间送达!小小詹同学无套路资源共享无广告技术交流群 阅读本文大概需要5分钟转载来源原文作者:奔跑的鳄鱼 原文链接:[已获取授权] https://mp.weixin.qq.com/s/w_ ...

  5. 丁向荣单片机pdf_基于IAP在线仿真技术提升单片机实验技术水平_丁向荣

    : I A P 1 5 F 2 K 6 1 S 2 收稿日期 : 2 0 1 3 - 1 0 - 1 4 基金项目 : 2 0 1 3 年广东省高等职业教育教学改革项目 ( 2 0 1 3 0 2 0 ...

  6. 我是怎么提高单片机编程能力的?

    我对编程的兴趣源于黑客- 没想到最后竟然走了单片机开发的路线,或许是现实不允许我有梦想. 黑客的成长过于漫长,而我当务之急是找份工作糊口. 我并不是计算机专业,临近毕业对编程也一窍不通. 第一次自学的 ...

  7. 单片机常用的编程语言有哪些?怎样能快速提高编程水平?

    在我们上学的时候,很多专业都有开设C语言这门课程,但是汇编语言我是没见过有这门课.C语言和汇编语言都可以作为单片机的编程语言,那么它们具体有什么不同呢? 汇编语言的主要优势是程序可以优化,程序由我们编 ...

  8. 编程新手如何快速提升coding能力?

    相信很多初学编程的朋友都有这样的苦恼:为什么我感觉自己基础都掌握了,但是学校的课程结束后再进行编程时还是什么都不会呢? 通常新手程序员会以不同的方式来表达这个疑问,比如: "我通过在线课程学 ...

  9. 提升编程水平的靠谱方法

    杰洛德·桑托 (Jerod Santo) 写于 2016年12月19日 编者按:我原先曾在2010年5月,为"编程加油站"网( Fuel Your Coding )写过这个话题.很 ...

最新文章

  1. master-worker常驻型程序代码修改哪些需要重启master或者worker
  2. TLD文件中body-content四种类型(能力工场)
  3. CSP认证201312-5 I’m stuck![C++题解]:dfs、两次dfs
  4. 二叉树遍历(深度优先+广度优先)
  5. 我用Python又爬虫了拉钩招聘,给你们看看2019市场行情
  6. Android 3.0“.NET研究”七大特性全解析
  7. 1221_MISRA_C规范学习_关于函数的规则要求
  8. Arduino ESP8266 AP Web 服务器示例程序
  9. CA签名是报的错误及解决方法
  10. 电脑桌面老是弹出计算机,电脑桌面老是弹出游戏怎么解决
  11. 树莓派笔记12:通过SPI操作OLED显示屏
  12. Python音乐跳舞毯(基于海龟画图创作的作品,来自Python创意编程100例sprites篇_Python精灵模块)
  13. 2022圣诞节用canvas实现流星雨
  14. vue UI(Vertify和Element)优缺点随录
  15. 【git】git 命令行删除远程仓库
  16. [Python]《点燃我,温暖你》李峋同款爱心代码
  17. 因子图优化原理(iSAM、iSAM2论文解析)
  18. Tuxera NTFS2022mac电脑无法读取写入移动硬盘如何解决?
  19. oracle如何查询授权,oracle授权查询
  20. 大数据全方位学习路线

热门文章

  1. 字节流和字符流(详解)
  2. 紧急提醒!黑客正利用假 ChatGPT 来推送恶意软件
  3. Codeforces Round #193 (Div. 2) B. Maximum Absurdity(线段树+思维)
  4. 专业方向系列-01-大数据与故障诊断概述
  5. 技术分享:应用于厚型气体电子倍增器的高耐压PCB研究
  6. 树莓派部署BT下载机
  7. 来自中国各大高校著名导师的精品课程!绝对精典
  8. 【整理】X86常用的汇编指令及寄存器
  9. Python---python3.7.0---如何安装PIL
  10. geometric distribution and exponential distribution(几何分布和指数分布)