今年嵌入式软件这块真挺香

沉默王二

共 2631字,需浏览 6分钟

 · 2022-11-01

作者:沉默王二
Java 程序员进阶之路:https://tobebetterjavaer.com

大家好,我是二哥呀。

上次在文章中聊到嵌入式和 IC,就有小伙伴后台私信让我谈谈嵌入式这块,他也很感兴趣。刚好前几天有读者过来咨询过嵌入式 offer 的问题,一起来看下:

年包差不多在 25-30 万这样子,就今年的这情况,感觉还是挺香的。关键是他在我的鼓励之后,并没有知足,表示在接下来这段时间里再冲一波,看看还有没有更好的选择。

如果大家感兴趣的话,可以尝试一下嵌入式这个方向,难度相对 IC 来说要低很多。IC 年包虽然能开到 50 以上的白菜价,但硬要求相对高很多,和算法有一拼,至少必须是个名校(最好是研究生以上学历)。

嵌入式和 Java 后端相对来说,硬要求就没那么高,借这个机会,就来给大家谈谈嵌入式到底该怎么学,后面等这位读者忙完了,我再“命令他”(求求他)写个经验贴,给学弟学妹们一个参照🤔。

嵌入式的分类

嵌入式可以进一步细分为嵌入式硬件和嵌入式软件。

参考链接:https://tobebetterjavaer.com/xuexijianyi/electron-information-engineering.html

嵌入式硬件工程师要求具备硬件工程师的基本技能,还必须完成部分软件工程师的工作,比如说能对底层驱动的嵌入式操作系统进行裁剪、移植。

嵌入式硬件工程师的主要职责是为产品设计硬件电路原理图、PCB 板(印刷电路板),选择合适的元器件,焊接调试硬件电路板,保证硬件电路板的可靠性、稳定性和抗干扰能力。

一个资深的嵌入式硬件工程师的年薪在 15-30 万左右。需要有非常扎实的理论知识,以及高频 CPU、多层 PCB 板的设计经验。

嵌入式软件工程师指在 wince、linux 等嵌入式操作系统下进行用户应用软件开发的人员,硬件平台有手机、pad 等;开发工具有 wince 下的 evc,Linux 下的 QT 等。

嵌入式软件工程师的主要职责是根据产品的功能需求设计出好的软件,让硬件工作起来。一般情况下,软件工程师的需求量更大一些。

一个资深的嵌入式软件工程师的年薪也在 15-30 万左右。要熟练掌握 C/C++,熟练使用CortexM4系列单片机、RTOS(FreeRTOS, UcosII,RT-thread)等。

今天我们主要来聊嵌入式软件这块,后面有机会再聊嵌入式硬件。

嵌入式软件需要学什么

先来看一些岗位要求吧。

来简单总结一下:

  • 熟练掌握 C/C++,C语言是基本功,需要掌握指针、内存管理、位运算等等,嵌入式软件开发中 C++ 用的没有 C语言多;
  • 熟悉 Linux 操作系统,尤其是文件系统、进程调度、内存管理等;
  • 掌握数据结构与算法,二哥的星球每周也会带着大家刷 LeetCode,至少五道;
  • 掌握进程与线程,以及进程间的通讯方式;
  • 掌握 TCP/UDP,socket 网络编程;
  • 掌握 MySQL;
  • 熟悉 Shell 脚本;

可以看得出,基本上除了编程语言以外,其他的内容和 Java 后端工程师没有什么差别。

大家在学习的时候,也一定要有的放矢,这也是我一直在强调的,千万不要盲目、漫无目的地去学,那样你会发现时间浪费了不说,学一段时间后,也会感觉后继乏力,有点迷茫。

星球里我就一直会要求球友们在学习的时候先制定学习计划,下图是一位大三球友制定的计划,每个月要学什么都规划的井井有条。

其实看了上面👆🏻的岗位要求,大家应该就知道该怎么去学了。

大家在准备面试的时候,也一定要目标定位准确,不要乱七八糟的什么都学,我之前一直提醒大家不要去学 JSP/Swing,目的就一个,Java 后端要学的东西非常多,比如说二哥提到的 Java 后端开发四大件(Java 基础、Spring Boot、Redis 和 MySQL),以及计算机基础四大件(操作系统、计算机组成、计算机网络和数据结构与算法),这还不包括微服务和分布式,对吧?

这么多知识,一股脑地去学,结果可想而知,什么都不精,等到面试的时候才发现自己什么都没掌握,只是了解而已。

很多边边角角的知识,工作中用到的时候再去学就行了,秋招的目的是让公司给你发 offer,面试完了以后就知道,你是他们想要的人。

然后再准备一两个实战项目,比如说我这位读者准备的是一个机房预约管理系统,一个人脸识别,一个在线词典,基于 Linux 操作系统的应用开发,基本上囊括了我前面提到的岗位要求。

项目虽然简单,但面试的时候都能答得上来,这一点很重要。

另外,嵌入式岗位的天花板也比较高,入行可以做应用开发,以后可以往底层转,做驱动开发,之后再往内核方向发展。

这里推荐一下羊哥的嵌入式开发学习路线,在 B站上有:

https://www.bilibili.com/video/BV17K411n7XH

另外,去 B站搜“嵌入式”关键字的话,也可以找到一些比较经典的教学视频,大家可以去品鉴一下。

当然了,二哥也不是从事嵌入式开发的,所以很多观点和方法还不够具体和全面,这里只能说是抛砖引玉了。

ending

一个人可以走得很快,但一群人才能走得更远。当你处在一个学习氛围浓烈的环境中时,就会不由自主地往前冲刺。二哥的编程星球已经有 1000 多名 球友加入了(马上就要涨价了),如果你也需要一个良好的学习氛围,戳链接加入我们吧。

尤其是一些缺乏自律&自主学习能力的小伙伴,二哥会变身贴心的班主任指导你制定学习计划,并且监督你每日学习打卡,来这里感受一段时间后,你就会自觉自发地放弃摆烂,开始努力和改变。

星球置顶帖里的知识图谱里已经沉淀了非常多优质的内容,相信大家可以根据自己的情况找到对应的提问&回答,你甚至可以找到情况差不多的球友进行交流。

上周末,又重新整理了一下二哥编程星球里回答过球友提问的帖子,我大致分了一下类,大家可以看一看,相信能帮助你走的更快、更稳、更远


没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟。

欢迎点击左下角阅读原文了解二哥的编程星球详情,这可能是你学习求职路上最有含金量的一次点击。

浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报