要学嵌入式,关注@我要学嵌入式,嵌入式猛男的加油站。

文章的作者是过来人,挺多东西可以借鉴和思考的,多多少少还是要有点危机意识,切不可温水煮青蛙,当然啦,也不能过分焦虑与浮躁,脚踏实地才能走的更长更远!

1. 基础知识

一个嵌入式工程师,很多都是从51单片机或者STM32单片机开始,对于单片机的开发环境,开发流程,基础外设都了解,做过一些实际的案例,比如点流水灯之类的。

那么对于基本的中断的概念,寄存器的概念,看门狗,AD等基本原理能大概的讲出来。掌握硬件设计方法,能设计原理图PCB,至少两层板。

能画出三极管及MOS管作为开关管的实际应用电路,对电源芯片的设计有基本的了解。能利用网络进行信息检索,能在理解别人图纸的基础上进行copy。

这是一个本科嵌入式毕业生应该具备的水平。项目做的多的同学,可能在某些专业方向有较深的钻研,和较多的涉猎,比如对一些基本的传感器,编码器,执行机构的了解等。

再比如研究生同学会使用matlab等软件进行算法仿真,控制方向的同学会用单片机调用FOC库控制PMSM电机,图像方向的同学会调用opencv进行一些图像处理等。

这个阶段如果有国际开源社区贡献经验的,那就是非常加分了。至少在英语和git使用上是基本过关了。

2. 项目心态  

做过完整项目的工程师都明白,在项目的推进过程中,会经历各种心态,有时候会让人崩溃,可能很多次都想放弃,但是你体会过坚持并有结果的感觉后,就明白没有干不出来的项目。

其实是项目论证阶段的时候,更高阶的工程师已经做过评估了。项目心态其实就是技术人员的死磕心态,没有搞不定的难题,没有干不出来的项目。

一般工作三年左右的工程师,应该都经历过完整项目了。很多工程师可能第一年的时候都在补大学的课,所以三年比较保险。三年工作经验的工程师可能还不具备全局视野和架构视野,但是一定要具备良好的项目心态了。

并且3年左右的工程师正是在死磕心态的支持下,可能各种论坛,各种帖子去搜索解决问题的方法,应该也要具备独立解决问题的能力了。

3. 技术架构

技术架构是个什么东西,项目做的多了接触的项目大了,会发现一个问题,所有的项目都有共通之处,所有的嵌入式设备都是换汤不换药。

那么有没有积累一套稳定的基础程序库和架构就显得非常重要了。比如串口协议编解码,GUI,按键io,log系统,滤波算法,操作系统,定时器库等。

这些东西我一向不主张重复造轮子,因为世界上聪明人实在是太多了,github搜一下,找一些适合自己的基础库进行集成改造。看看别人写的东西之后,会发现自己的技术思路有时候真的很low。

比如按键,很多人认为是非常简单的东西,但是一个按键,多个按键,单击,双击,三击,长按,短按等,你如果按照你的逻辑来写,90%的人会写的非常笨。

再比如,环形缓冲,以前我刚参加工作的时候,看到同事写的串口环形缓冲区程序,觉得同事真牛逼。

诸如此类就太多了,所以有时候,开阔的技术视野比你闷着头在那里发奋图强实际要有效的多。然后站在巨人的肩膀上,去发现bug,去修改,去完善,慢慢的就越来越健壮了。同时,你也会拥有更谦卑的心态。

技术架构,建议探索、参考一些经典的开源硬件项目。

4. 技术视野

技术视野来自于几个方面:

  • 一个是做的项目够多,接触的东西够多;

  • 对技术有足够的好奇心,想了解清楚底层究竟是如何在运行;

  • 勤奋(有时候来自于热情,并不需要刻意);

接触开源硬件是扩展技术视野非常好的途径,最好是参与进去,如果有兴趣的话。px4,到现在我都还没有把整个架构完全弄清楚,里面会涉及到非常多的知识。

但是这是一个非常有意思的过程。再回过头去玩单片机的时候,你就知道一个单片机要运转大型复杂的项目应该是什么样子的了。

5. 成熟方案

成熟方案就是你在做过很多项目后,这些项目成果都是可以稳定市场化的东西。

在以上那些基础上,你做过的项目,在硬件和软件上都应该是稳定的,且是可以市场化的东西。你在不需要浪费一个开发周期就可以拿来用的东西,就是成熟方案。

比如你做过的电机驱动,你做过的打印机方案等。这时候本质上讲,你是可以开方案公司的了。至少技术上是可以的了。但是还缺点啥。

6. 一通百通

这个时候,你对任何你遇到的项目,仿佛总有办法把它又快又好的干出来了,因为看到一个新案子的时候,你看问题的角度和新手是不同的了,无非是你所积累的架构的一个变种而已。要不就执行机构变一下,要不就是传感器变一下。

上面说,你要开方案公司的话还缺点东西,其实缺的就是选型能力,不是技术上跑通了,就可以市场化的,市场化比如要同行对比,你是否体现了成本优势,技术领先优势,解决了独到问题等。

成本问题就要涉及到你所积累的供应商资源,以及你搜索供应商资源和实际的对外沟通能力了。笔者曾经给一款消费电子产品降本,三到六个月之后,整个行业全部都换成笔者设计的那套方案了。

7. 其他能力

如果还要考察其他能力的话,那就是性格和人品了,因为降成本有时候是一个很敏感的东西,意味着你会在公司打破某种微妙平衡,你会碰到非常大的阻力,常常会让你觉得自己吃力不讨好。但凡你有一点怀疑和退缩,你就会妥协。

所以,技术的上层是更复杂的一些东西了。这个时候的坚守靠的是价值观,你坚信你把更大的利益让给了消费者,你用你的技术视野和项目推进能力是创造了最终价值的。

8. 当心温柔陷阱

很多人做十年,都停留在基础层级,甚至在退化,他们公司做系统集成,他每天只需要做串口协议的解析和转发工作,换一个产品,还做的是这个,而一套程序成熟后又没什么大改的地方,最多就是不同的用户要不同的功能,对协议进行一些增删而已。

这种公司一般还都是大公司,慢慢的,做这个工作的工程师在某种程度上就被废掉了。同理,天天调pid,换一套系统,还在一样的。所以很多公司要求要有一个产品从零到一的过程。

在这种陷阱里似乎很舒服,但也有些危险,容易遭受年轻人的挑战,他们比你年轻、有精力,工作更拼命。工程师危机呀~作为技术人不停地跟技术难题死磕、更新知识,或许这才是对的状态,以图长久的保持市场竞争力。

-END-


往期推荐:点击图片即可跳转阅读

研究所月入两万,是一种什么体验?

为什么招聘单片机工程师的时候要求精通C/C++?

做一辆超mini平衡自行车,全开源!

我是张巧龙,一名教电子的大学老师,欢迎关注!

搞技术多少要有点危机意识,切不可温水煮青蛙相关推荐

  1. 11月7日云栖精选夜读:阿里巴巴风鸣:做技术Leader要有危机意识

    点击有惊喜 真是不知道.在阿里巴巴集团安全部竟然有这么一对儿,像极了"史密斯夫妇".唯一的不同是,今天咱们要开八这一对儿是写代码的,电影中的那对儿是玩枪的. 热点热议 阿里巴巴风鸣 ...

  2. 做技术Leader要有危机意识

    真是不知道.在阿里巴巴集团安全部竟然有这么一对儿,像极了"史密斯夫妇".唯一的不同是,今天咱们要开八这一对儿是写代码的,电影中的那对儿是玩枪的. 风鸣,钱盾反诈平台iOS技术开发的 ...

  3. 阿里巴巴风鸣:做技术Leader要有危机意识

    真是不知道.在阿里巴巴集团安全部竟然有这么一对儿,像极了"史密斯夫妇".唯一的不同是,今天咱们要开八这一对儿是写代码的,电影中的那对儿是玩枪的. 风鸣,钱盾反诈平台iOS技术开发的 ...

  4. 任正非传递危机意识 缔造华为“狼文化

    任正非传递危机意识 缔造华为"狼文化" <script type="text/javascript"> Douban.prettify_form(d ...

  5. 电子老兵给年轻工程师的十大忠告(值得搞技术的我们深思!)

    诸位,咱当电子工程师也是十余年了,不算有出息,环顾四周,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强! [1]好好规划自己的路 ...

  6. 部门两个40多岁搞技术的老头子

    正文 大家好,我是bug菌- 部门里搞技术的老头挺多的,加上硬件组的共有4个人,当然了我这里说所的老头不是那种白发苍苍七八十的老大爷,也不是天天在办公司写写ppt.画大饼的大领导. 以前有人常说码农过 ...

  7. 技术什么时候才叫牛?搞技术什么时候是个头?

    技术什么时候才叫牛?搞技术什么时候是个头? 郁闷. 转载于:https://blog.51cto.com/xiaomage/113909

  8. 关于搞技术的一点思考

    随着越来越多的大厂上市,也要好多技术同学实现了财务自由.说实话,我是发自内心地羡慕他们.这也成了一些人向往的米虫生活,很清闲,不用再辛苦用力地活着.财务自由应该也是大多数普通人的终极梦想吧.那我们就来 ...

  9. IT技术 VS IT管理!为什么国内大公司都看不起搞技术的?

    最近好多朋友都跟我说,现在互联网企业里的技术研发全都是白菜价,做市场的.做营销的.做运营的都比做技术的要好得多,感觉国内很多公司都看不起搞技术的,事实上是怎么样的呢? IT技术专家到底存不存在? 首先 ...

最新文章

  1. 你能体会那种写 Python 时不用 import 的幸福吗?
  2. 这4部有生之年必看的“教材级”纪录片,免费领取!
  3. 把树分成森林 matlab,20170106RF_Matlab 随机森林指的是利用多棵树对样本进行训练并预测的一种分类器,包括两个方面:数据的随 269万源代码下载- www.pudn.com...
  4. mysql 存在也插入_Mysql 不存在则插入,存在则更新
  5. C++引用和指针区别
  6. 如何用 R 语言的 Shiny 库编写 web 程序
  7. Cadence Orcad Capture导出网表的方法图文教程及视频演示
  8. 基于微信小程序毕业论文选题系统(微信小程序毕业设计)
  9. MariaDB—— 14.存储引擎
  10. C语言 生成随机数 分析给定范围的随机数生成公式
  11. Windows禁用系统自动更新(全)
  12. Pentaho RestAPI用户角色管理
  13. buu [QCTF2018]Xman-RSA
  14. linux电子相册,基于Linux电子相册的.doc
  15. python将一个正整数分解质因数
  16. 【jquery】jquery-icheck radio的点击事件、change事件、获取当前选中的值
  17. 基于Arduino的开源四轴飞行器开发学习板
  18. 智能加工技术案例分析
  19. 小程序miniprogram自动化上传,不需要依赖微信开发者工具
  20. TRIZ创新方法——现代TRIZ理论

热门文章

  1. CL_BSP_WD_VIEW_MANAGER-MANIPULATE_RESPONSE
  2. Extension project: 404 Not Found for resources/cus/crm/notes/ext/Component-dbg.js
  3. UI5 table display visible row count logic calculation calculate
  4. windows10大瘦身 - 关闭lync的日志记录
  5. ABAP Text表的实现原理
  6. UI framework显示message technical information的实现
  7. Update operation on extension field created by AET
  8. SAP UI5 Resource bundle getText的实现逻辑
  9. 一个基于nodejs开发的微服务脚手架应用,架构和CRM WebUI很像
  10. 小技巧:不用任何媒体处理软件进行视频压缩