嵌入式软件工程师有哪些必备技能?

看了很多相关文章,发现都没说到点子上,并不适合每个人作为参考。

作为一个从业10年以上的工程师,也带过200个以上的老铁拿到offer,成功上岸,我来剖析下这个问题。

首先要嵌入式过于宽泛,涉及内容很多,我们以职业划分的话主流分为:单片机开发、Linux驱动开发、Linux应用开发等等。

不同的职业方向,所学的技术栈就有所差异,所以先确定职业方向是前提。

然后,就是区分在什么阶段的工程师,如果是入门想找工作,和工作了2-3年的,或者工作了5-10年的,大家能力和掌握技能的标准又不一样。

估计大多数对这话题感兴趣的,都是还没入行,或者刚入行不久的同学。

下面,我就以单片机方向,入行这个阶段,来讲一下大概需要掌握什么技能。

首先是基础技能。

1.C语言

这是必须要掌握的技能,不能说多扎实,至少公司给你个项目啥的,首先你要能改动,然后就是你要能改代码,这是最基本的。

刚开始一般不会让你独立做项目,我第一次参加工作,就是改一个MF_RC500的程序,用的是STC的单片机。

这已经是2011年的事了。

公司对于新人,还是比较谨慎的,大家需要有个彼此了解的过程。

2.单片机

以前我们用的比较多的是STC和NXP的单片机,我工作时只会51单片机,工作后接触了NXP单片机,当时STM32还没现在这么普及。

所以时代也在变化,需求也不同,不过单片机也只是工具层面的基础技能,如果现在只会51单片机,确实缺了点啥。

但也不是说你会主流的STM32就多有优势,你会一些国产的,比如GD、中科芯、雅特力、HK、PY等等,给别人的印象,其实不会比STM32差,毕竟成本低,更适合做国内产品。

不过就是资料比较少,新手自己摸索可能比较难。

另外外设方面,前期只要学会GPIO、Timer、UART、DMA、Systick、PWM、IIC、SPI这些基本够用了。

3.电路基础

要熟悉常用的元器件原理,比如电阻、电容、电感、二极管、三极管、MOS管、数码管、继电器、LED、液晶屏这些原理及应用。

除了这些基本的,还要看懂一些单片机的应用电路,可以从开发板入手,比如单片机最小系统,LED驱动、按键检测、串口电路、屏驱动电路、存储电路等等。

4.pcb设计

这个是比较有争议的,到底要不要会设计PCB?

我的答案是不用,因为大多数公司,这个工作由硬件工程师做的,包括原理图设计,和后面打板,焊板子。

但最好要学会看PCB,比如哪个元器件那根线连到哪儿了,这个要会看。

前面这些就是基础技能了,光会这些,以现在的行情,找个工作可能不容易,很看运气成分、学历、以及你所在城市岗位的多少。

如果运气不好,或者学历没优势,要怎么和他们卷?

答案是项目经验

项目是评估一个工程师综合能力最直接的体现,以前我面试时,面试官最喜欢围绕着项目问,比如这个项目是做什么的?用什么单片机?有哪些功能?xx功能是怎么实现的?你在做这个项目时碰到最难的问题是什么?最后怎么解决的等等。。。

那项目经验去哪找?

渠道主要有开源社区,或者某宝找点,我也收集了一些,可以找我安排,基本都带原理图、PCB、源码。

有个3-4个项目经验以后,就可以去找工作了,祝顺利。。。

最近发现,很多私聊我学单片机的小伙伴,99%的人都走了弯路,所以我花几个小时,写了一篇保姆级学习路线^ ^

单片机怎么学?保姆级学习路线(附教程+工具)icon-default.png?t=N7T8https://blog.csdn.net/2401_86645590/article/details/141437874

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值