0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一名嵌入式工程师的涨薪经历

哈哈hfgfdf 来源:嵌入式学习资料 作者:嵌入式学习资料 2024-01-05 08:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

下面是一位嵌入式工程师的涨薪经历,希望可以帮助到你,帮到其他的在校学生。

阶段 1

大一到大三这个阶段我与大多数学生相同:

一、学习本专业知识(电子信息类专业) 二、学习嵌入式软件开发需要的计算机课程(汇编原理,计算机组成原理,操作系统C语言等) 三、学习嵌入式项目(来源于实验室项目,自己想到的项目以及各种比赛) 关于如何学习嵌入式软件开发: (1)学习51单片机 这个阶段你只需要跟着视频去学,只要求实现功能,不求甚解,但建议能够提出问题,比如: “为什么往IO控制寄存器写入特定值能点亮LED灯?” “IO口的电路结构是什么样子的?” “什么是上拉下拉,灌电流拉电流?” 这一阶段主要是熟悉单片机的使用,并且在使用中思考发现问题,还能熟悉一些基本概念。 (2)开始查资料看书模拟电路数字电路等等,开始去弄明白1中所提出的问题。这时候问题主要集中在电路方面。 (3)开始学习STM32 随便买个板子,看原子的书跟着一步步去做,这时候你会遇到很多计算机方面的问题,这时候一边学习教程,一边学习:微机原理,编译原理,操作系统。 你要弄清楚ARM架构,弄明白 CPU 如何取指,译码,执行,知道地址总线,控制总线,数据总线如何工作,要弄明白你编译各个阶段产生的各个文件是什么,什么是分散加载,什么是重定位,什么是代码段,什么是数据段,等等。 弄明白 CPU 如何启动,程序镜像在内存中如何布局,要知道中断的原理,以及现场保护等等。最后你了解了各个知识点之后,转向 GCC 开发 STM32,这时候你如果知识掌握得不错,你应该可以很快地学会编写链接器脚本并且明白每一条语句所代表的含义。 (4)开始增强 C 语言 深入挖掘C语言的各个死角,最好可以做到当你写下一条语句的时候知道编译器会如何处理,还需要数据结构和软件工程,建议最好还要学习一下设计模式。 开始学习养成良好的代码风格,开始思考代码的结构,可以说设计模式如果能学好,在往后学习 LINUX 内核时大有裨益,你会发现 LINUX 的输入子系统有点像职责链模式,会发现 ASOC 音频系统有点像模板方法模式。 私以为,如果能在两个以上不同方面考察同一种编程思想,你会得到更加深刻的理解,更能领会其精华。 (5)认真研读 OS 方面的书 各个知识点都要弄明白,进程是什么,程序是什么,线程是什么,竞争死锁优先级反转,虚拟地址空间物理地址空间,用户空间内核空间等等。 开始学习 ucos,这个没什么可说的,如果在 2 中能熟练掌握各种知识点,知道 CPU 如何中断如何保护恢复现场,那么读ucos 的源码时候,在原理上就不会有什么疑惑。 如果能在 4 中养成把握代码整体结构的能力并且学习好数据结构和基本的算法,读源码就没有什么障碍,一旦原理弄通了,源码也能读懂,那么吃透 ucos 就是顺理成章的事情。 (6)自己仿照 ucos 写一个 STM32 上的实时OS 出来。 (7)进军 LINUX 学习 LINUX 的基本使用,看赵炯那本内核剖析,啃 LINUX 内核设计与实现,把握总体的内核架构,之后可以学习驱动,看建议陈学松老师的书,弄明白基本的驱动架构和如何编写简单的驱动,认真对待,这里强调一下设备驱动模型。 最后啃 LINUX 内核源码情景分析,上下两册用心读,这里着重强调一下内核中的 VFS 部分,之后就是看宋宝华老师的书,进一步学习驱动开发。 最后,看内核源码看内核源码看内核源码。 (8)其它的SPI,IIC,DMA等常规技能问题

阶段 2

大三到研究生入学前这个阶段我在工作与考研之间无比纠结,并在此期间无数次常思考嵌入式开发到底是什么,如何把嵌入式开发做好,以后该选择怎样的一条职业道路。

为此,像很多人一样,在知乎上像做嵌入式开发的前辈们咨询过多次。

在这个阶段,我学习了 Linux 驱动开发,并渐渐认识到,嵌入式开发是一个比较偏软件的岗位(我认为大多数学生做的工作都是嵌入式软件开发,而不是硬件开发),

应该深入学习计算机体系结构的知识,而不是把那些无聊的嵌入式相关项目翻来覆去的做(尤其少参加乱七八糟的比赛)。

最终,我选择了读研,想站的再高一点看这件事。

阶段 3

研一进入研究生阶段(2018),当大家都火急火燎的加入 AI 的阵营时,我依然对嵌入式爱的深沉。

选课时,我选择了嵌入式实时操作系统,计算体系结构相关的课程,还看了很多相关的书籍,依然每周保持嵌入式 Linux 的学习。

时不与我,明明选择了做底层的导师,结果导师转做深度学习了,还好是做终端+AI相关的方向,也不算完全偏离嵌入式,这让人多少有点欣慰(毕竟我还是放不下嵌入式的)。

在这个阶段,由于接触了不少的人和事,我越来越认识到,嵌入式只是一个平台,切勿把嵌入式看作一个具体的岗位,无论硬件还是软件,因此,我对这个岗位以及行业就业现状有了更进一步的认识。

阶段 4

研二到研三在这个阶段,我对狭义嵌入式(驱动,应用开发)完全释怀,

我认为许多人喜欢的嵌入式并不是驱动或者应用等开发,而是对底层系统的一种好奇心与掌控时的快感,与其说喜欢嵌入式,还不如说喜欢的是计算机体系结构。

因此,只要是涉及到硬件的软件开发,我都喜欢,我也将其均定义为嵌入式,因为嵌入式软件开发就是建立在底层语言,计算机组成原理,操作系统等知识上的一种软件开发,

如果你想将嵌入式开发做好,你就得学好这几门课程 ,如果你学好了这几门课程,底层软件开发工作的岗位你应该都能胜任,因此,又何必将嵌入式开发狭义的划到驱动开发,XX协议开发之类的呢?

最终,这个阶段我毅然放弃了 Linux 驱动的学习,投入了 Python 深度学习的怀抱中,我不再关注我到底做的是不是嵌入式开发,只关注和嵌入式平台有没有关系。

我研究的是如何把一个深度学习模型部署到嵌入式平台上去。

有人可能会疑问,这和嵌入式开发有什么关系?为什么没有关系呢?在嵌入式平台上用 C 语言编写神经网络模型的前向推理,这不是把我们的C语言和组成原理的知识发挥出来了吗?

当图像处理程序性能不足时,查看生成的汇编程序,当汇编效率不高时,将 C 语言替换为我们自己写的汇编代码,这还不够嵌入式吗?

其实,当我们把思路放宽后,嵌入式就不再是某一个具体的岗位了,它有可能是 AI 算子工程师,AI编译器开发工程师,FPGA加速工程师,高性能工程师等等。

这些岗位需要的技能与嵌入式工程师极为相似,年薪却最低 30W 起。

为什么?很简单,供需关系决定价格!

嵌入式早已江河日下,但嵌入式+某一风口就能迈向高薪之路,这个道理在任何技术领域都是通用的,2018年-2021年,嵌入式+AI=高薪,未来嵌入式+XX也可以。

至于未来的风口是什么,就要靠我们自己去探索了。只要保证我们自己有核心的知识储备,再学习一下风口相关的技术,立马就能咸鱼翻身。

在视野拓宽后,我去了 2 家大公司实习,后续我陆续收到了很多公司的offer。

里面既有纯算法(计算机视觉)的岗位(50-60W),也有异构计算的岗位(45-55W),也有AI芯片工具链相关的岗位(45W-50W)。

回头看,我好像已经 2 年没有学习过嵌入式开发了,但是好像依旧在嵌入式学习的路上。

来源:知乎梦人亦冷

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式就业形势好不好?

    投身该领域的工程师提供参考。 、行业热闹背后的就业现实 近年来,随着物联网、人工智能等技术的兴起,嵌入式行业迎来了前所未有的发展机遇。岗位需求看似繁多,但企业对于人才的要求却日益严苛。 过去,掌握
    发表于 11-10 11:48

    硬件工程师嵌入式软件哪个更有前途?

    不少人琢磨硬件工程师嵌入式软件到底哪个更有前途,其实从实际职场情况和成长路子看,差别还挺清楚的。先说说天花板这事,般来讲,硬件工程师的职业天花板还真比
    的头像 发表于 09-10 10:43 787次阅读

    招镶入工程师1个,硬件工程师个,

    东莞市研生科技有限公司是家蓝牙方案公司,主营蓝牙方案的设计开发,产品包括蓝牙BLE/4G透传/AI智能体方案开发,因公司发展需要需对外招聘嵌入式软件开发工程师,对蓝牙音频/BLE以及智能IC读卡器有三年实操经验,能单独完成项目
    发表于 08-29 02:14

    嵌入式工程师为什么要学QT?

    Qt对嵌入式工程师来说,真的很重要吗? Qt是个跨平台的C++应用程序开发框架,非常适合嵌入式系统的开发,Qt在嵌入式开发中具有很重要的作
    发表于 08-14 15:15

    嵌入式工程师的进阶之路

    嵌入式工程师的进阶之路 ()初级工程师(0-3 年)核心技能: 单片机开发:STM32F103系列 GPIO/USART/SPI 外设驱动,能完成 LED 呼吸灯、按键检测、串口通
    发表于 08-13 11:08

    作为一名PCB质检工程师,我为什么在用手持面铜测试仪?

    在PCB行业,铜厚直是决定阻抗、散热与可靠性的关键指标。过去,工程师把板子搬到实验室、等待台式铜厚仪出结果;作为一名PCB质检工程师,如今,我更愿意把“实验室”揣进口袋——手持
    发表于 08-11 11:59

    如何成为一名合格的KaihongOS北向应用开发工程师

    如何成为一名合格的北向应用开发工程师 在快速发展的软件开发领域,北向应用开发工程师个专注于系统级应用开发的高需求职位。 以下是成为一名
    发表于 04-23 06:46

    如何成为一名嵌入式软件工程师

    如何成为一名嵌入式软件工程师? 01明确岗位的角色与定位 嵌入式软件工程师主要负责开发运行在特定硬件平台上的软件,这些软件通常与硬件紧密集
    发表于 04-15 14:37

    嵌入式软件工程师就业好不好?

    嵌入式软件工程师就业好不好?会不会越老越吃香?今天起来看看。 首先看下市场需求。 随着物联网、人工智能、5G等前沿技术的快速发展,嵌入式系统的应用领域不断扩大,从智能家居、汽车电子到
    发表于 02-20 10:19

    如何成为嵌入式开发工程师

    ,参加相关的研讨会和培训课程,阅读专业书籍和论文。 9. 认证和网络:- 考虑获取相关认证,这可以增加你的市场竞争力。- 加入专业组织和在线社区,扩展你的人际网络。 通过上述步骤的学习和实践,你可以逐步成长为一名合格的嵌入式开发工程师
    发表于 02-19 10:39

    月薪 3 万的嵌入式工程师都在用,串口屏到底神在哪?

    作为一名资深的嵌入式工程师,我深知在选择硬件组件时,性能、可靠性、易用性和成本效益都是至关重要的考量因素。月薪3万的嵌入式工程师们之所以倾向
    的头像 发表于 02-12 10:33 953次阅读
    月薪 3 万的<b class='flag-5'>嵌入式</b><b class='flag-5'>工程师</b>都在用,串口屏到底神在哪?

    年薪30万的嵌入式工程师,究竟需要掌握哪些技能?

    随着智能硬件、物联网、智能汽车、自动化控制等领域的迅速发展,嵌入式工程师的需求也水涨船高。尤其是在全球化和技术加速的时代,嵌入式开发不仅是个热门行业,还是跨学科技术与创新的交汇点。对
    的头像 发表于 01-16 10:59 2031次阅读
    年薪30万的<b class='flag-5'>嵌入式</b><b class='flag-5'>工程师</b>,究竟需要掌握哪些技能?

    如何成为一名合格的北向应用开发工程师

    在快速发展的软件开发领域,北向应用开发工程师个专注于系统级应用开发的高需求职位。 以下是成为一名合格的KaihongOS北向应用开发工程师的建议。 1. 基础知识 编程语言 :学习
    发表于 01-10 10:00

    为什么嵌入式驱动开发工程师可以拿高薪?

    技术领域具有不可替代的地位。 成为一名优秀的嵌入式驱动工程师只需要深耕以下几点: 1)坚实的技术基础: 首先,需要有坚实的基础,包括计算机组成原理、微处理器与微控制器架构以及电路设计与硬件接口知识
    发表于 01-07 16:56

    嵌入式工程师常用的开发工具有哪些?

    嵌入式工程师常用的开发工具有哪些? 在嵌入式系统开发的广阔领域中,嵌入式工程师们凭借着系列强大
    发表于 12-20 15:29