当前位置: 首页 > news >正文

【经验分享】嵌入式入坑经历(选段)

文章目录

  • 你现在的工作中所用到的专业知识有哪些呢?
  • 为什么想转行了?
  • 后来为什么从事了嵌入式行业呢?
  • 你对嵌入式的兴趣是何时培养起来的?
  • 你是怎么平衡兴趣爱好和工作的关系的?
  • 平时做的事情对你现在的工作有哪些帮助?
  • 对于有志学习嵌入式开发的在校大学生,你有哪些建议?

本文是来自某个大一学生的一次社会实践作业,也是对我的采访内容。采访过程中,也分享了一些我个人的心路历程和嵌入式初学者的建议。我挑选一部分采访内容,也是很多大学生和初学嵌入式的小伙伴经常问的问题,供各位参考。


你现在的工作中所用到的专业知识有哪些呢?

从 2017 年毕业到现在的这段时间里,我目前的职业生涯分为两部分吧,就是转行前和转行后。关注我比较久的小伙伴应该知道我转行前是电气工程师,工作内容主要以 PLC 和 HMI 编程为主。而我大学的专业也正好是电气工程及其自动化,但在这个阶段所用到的大学学到的专业知识其实也不算多,比较常用的就是电工学的知识,还有一些电机拖动、PLC 编程等,偶尔有还用到一些微积分的知识,总的来说大学学到的知识在这个阶段的工作用到不足 20% 吧。

转行后,大学学的专业知识用到就更少了,因为转行到了嵌入式行业,做的是 Android 驱动开发工程师。那么在这个阶段的工作,数字电路和模拟电路会涉及到一些。我们大学还学过 C51 单片机的编程,用的是汇编语言编程,工作的主要编程语言就是 C 语言和少量的汇编,也算是用到了这个专业知识了吧,毕竟专业不对口,学到的没用到或者用的少。

为什么想转行了?

原因有几个吧。

第一就是工作环境比较差,做 PLC 编程的工作环境一般都是在郊区的工厂,工厂是什么样的环境我相信你应该可以脑补一下是什么画面。而我就是在那种脏乱差的环境中,带着电脑面对着一堆铁疙瘩写 PLC 的程序。

第二就是无休止的出差加班和极其混乱的作息时间。做过这行的都知道,出差是避免不了的,基本就是项目在哪,家就在哪。这里要特殊说明一下,干工控行业的出差和其他行业的出差不一样,刚刚我也说了,我们的工作环境就是在郊区,所以我们出差住的环境也好不到哪去,要么是工厂的个人宿舍,要么就是民宿,那种连发票都开不了的民宿,哈哈。而且一般我们出差基本上是开启无休模式,早上七八点左右就在流水线旁边守着,晚上起码九点后才能走,甚至通宵。长期出差带来另一个弊端就是,会和这个社会有一定的脱节,可以说我从业的这几年里,几乎没有朋友,也没有什么娱乐活动,还落下了一身病,长期饮食和作息不规律,导致现在肥胖和轻度脂肪肝。

第三是工作压力,我们这一行都是跟一些机械设备打交道的,只要是机械,就有精度加工不到位,也可能是设计时考虑不周到,但是硬件这种东西,又是非标准设备,一旦做出来就不可能去修改,所以甲方就会让电气工程师来改程序,试图通过软件来弥补硬件的不足。说实在的,电气工程师能解决的问题一般都自己解决了,要是解决不了的问题只能从机械层面解决,但最后都是我们电气工程师的锅,甲方还会屌我们技术水平差。

第四就是薪资上限比较低,工控属于制造业,目前制造业是什么现状,大家都很清楚,不管是薪资还是职业前景,跟其他行业相比差的不是一点半点。尽管这一行的确越老越吃香,但是当年龄到了三十岁之后,谁还受得了到处奔波、彻夜不眠的生活,谁还不想娶妻生子、安稳生活。

所以,想了很多,也考虑了很多,我还是决定要跳出这个行业。

后来为什么从事了嵌入式行业呢?

有了转行的想法后,我开始收集我感兴趣的行业的相关信息,例如前端、后端、嵌入式,APP开发等计算机相关的,甚至平面设计、金融、自媒体、电商、销售等与技术岗不相干的行业,我都一一去了解了一下。

那为什么最后还是选择嵌入式呢?

首先,我个人是非常喜欢那种软硬件结合实现某些功能所带来的成就感,哪怕是一个在内行人士看起来是个很不起眼的小玩意,我也很享受这个乐趣,毕竟这是我自己 DIY 的。

其次是我从小对电子产品就有很大的兴趣,就是比如说小时候看电视,别的小朋友沉溺于动画片的时候,我却在想为什么电视机可以播放动画片。我小时候也拆过一些遥控玩具,还有我爸废弃的手机,所以从小就对这些可以自己动、可以自己发出声音、可以显示画面的东西特别有兴趣,特别想知道这是怎么实现的。

最后就是受到 B 站大佬稚晖君的影响,他是我见过全栈技术最全面的一个工程师,在 B 站发布的作品看得我也是很是震撼和钦佩。也是希望能像他那样,以兴趣爱好为职业,通过学习专业技能,实现自己的一些想法,做一些自己想要的小玩具。

你对嵌入式的兴趣是何时培养起来的?

就如我前面说的那样,我从小就对电子产品就有很大的兴趣,对嵌入式的热爱始于我小时候学会拆家电的那个阶段。大学阶段入门了模数电、单片机、Linux、自控原理之类的课程之后,也是解答我从小对电子产品的一些问题。

其实嵌入式的专业在我看来和英语,一样是一门基础技能,是一门研究 “怎么高效地解决问题” 的学科,很容易和其他学科交叉结合,所以在我读电气专业的时候,其实就已经开始自己学习计算机的相关知识了,像考研 408 这种,就是在这个阶段学习的。学习的方法有一个分支,叫做 Problem-Based Learning,就是以问题为导向的学习,通过自学寻找解决问题的方法和问题的答案。当然也是在这个自学的阶段,对嵌入式的兴趣越来越浓厚。

你是怎么平衡兴趣爱好和工作的关系的?

很幸运的一点是,我的兴趣爱好就是我的工作。

我认为的理想工作状态就是:工作是源于自己的意愿, 每天做自己喜欢的事情而积累经验,在适当的压力下积极创新,收获自身成长的同时顺便收获可观的报酬。简单地说,就是个人爱好、公司价值、时代趋势相统一。我认为目前正在朝着这个方向努力,虽然还有很多东西要学习。

平时做的事情对你现在的工作有哪些帮助?

前面提到了 Problem-Based Learning,以解决问题为导向进行学习,未来是终身学习的时代,不存在大学毕业之后就不学习了。其实工作的经验积累也是一个学习的过程。

在我看来,知识大体上是相通的,在不同学科之间的迁移学习可以带来事半功倍的效果,工作做的项目和自己平时 DIY 项目是存在相辅相成的关系的。工作上对我们软件工程师有严格的编码规范和白盒测试能力,我可以反过来用于我自己的 DIY 项目上;而我平时的 DIY 项目也会有自己的总结归纳和输出文档,也可以把这个习惯放到工作当中,用来提高自己的业务素质,可以提高自己的闭环能力和复盘反思能力。

对于有志学习嵌入式开发的在校大学生,你有哪些建议?

一定要在大学的时候规划好自己的职业生涯,即使不知道未来是发生什么事情。不管是考研也好,出国留学也好,还是直接毕业去找工作,都要有明确的目标,并且朝着这个目标有条不紊地去执行自己的学习计划。

想做嵌入式开发的话,一定不要只关注自己眼前技术的一亩三分地,一定要保持自己的好奇心。去学 RTOS,去学 RISC-V,去学异构……永远没有完全准备好的人才,年轻时要边打仗边学习。当然知识面一多之后,很难面面俱到,要学会拎清楚重点,剩下的知识只需要在用到的时候会查阅工具书就行。厉害的工程师不是可以背下来多少语法标准和手册资料,而是在有全局观的同时能有能力解决核心问题。所以我认为知识分为两种,一种是你知道的,一种是你知道可以在哪里找到的。

基础学科一定要学好。虽然我们可能不止一次的听到 “大学学的知识在工作中用不到”、“学高等数学没用” 等等这样的论调,其实有些知识就是一些原理性的知识,如果学不好可能会影响后面的学科知识。比如说,学习《通信原理》的时候,需要用到傅里叶变换,那学习傅里叶变换又要先懂得函数周期性分析吧。所以不是知识用不到,而是说这些知识是另一个知识的基础。还有像一些数学物理的知识可能确确实实用不上,但是在学习过程中,可能已经潜移默化地帮助我们提高了自己的逻辑思维能力和解决问题的能力,也就是说学习的结果没用到,但是学习的过程已经提高了自己。

相关文章:

【经验分享】嵌入式入坑经历(选段)

文章目录 你现在的工作中所用到的专业知识有哪些呢?为什么想转行了?后来为什么从事了嵌入式行业呢?你对嵌入式的兴趣是何时培养起来的?你是怎么平衡兴趣爱好和工作的关系的?平时做的事情对你现在的工作有哪些帮助?对于有志学习嵌入式开发的在校大学生…...

Docker面试整理-Docker与虚拟机的区别是什么?

Docker 容器和传统的虚拟机(VM)都是提供隔离的运行环境以部署和运行应用程序的技术,但它们在架构和性能上存在显著的不同。了解这些差异可以帮助你选择最适合特定需求的解决方案: 基础架构:虚拟机:每个虚拟机都包括完整的操作系统、应用程序、必需的库和二进制文件,运行在…...

Java:JDK8 GC中ParNew和CMS的问题说明

JDK8中常用如下的垃圾收集器,它们分别运用在年轻代和老年代: ParNew : 年轻代垃圾收集器,多线程,采用标记—复制算法。 CMS:老年代的收集器,全称(Concurrent Mark and Sweep)&#…...

学单片机前先学什么?

先学c语言和数字电路 这里默认你说的单片机是51单片机,通过你的问题,我猜你的单片机应该还没有入门,如果是入门的话,一般都是从51单片机开始的。刚好我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从…...

数据可视化:Matplotlib 与 Seaborn

数据可视化是数据分析中至关重要的一部分,它能帮助我们直观地理解数据的分布、趋势和关系。Python 中,Matplotlib 和 Seaborn 是两个最常用的可视化库。本文将详细介绍如何使用 Matplotlib 和 Seaborn 进行数据可视化,包括基本图形、图形定制…...

【linux】自定义快捷命令/脚本

linux自定义快捷命令 场景自定义命令自定义脚本 场景 深度学习经常要切换到自己环境,conda activate mmagic,但是又不想每次重复打这么多字,想使用快捷命令直接切换。 自定义命令 使用别名(alias)或自定义脚本来创建…...

使用onnxruntime加载YOLOv8生成的onnx文件进行目标检测

在网上下载了60多幅包含西瓜和冬瓜的图像组成melon数据集,使用 LabelMe 工具进行标注,然后使用 labelme2yolov8 脚本将json文件转换成YOLOv8支持的.txt文件,并自动生成YOLOv8支持的目录结构,包括melon.yaml文件,其内容…...

QT 信号和槽 一对多关联示例,一个信号,多个槽函数响应,一个信号源如何绑定多个槽函数

在窗体里放置一个单行文本编辑控件(QLineEdit)、一个标签控件(QLabel)和一个文本浏览控件(QTextBrowser),在单行文 本编辑控件里的文本被编辑时,标签控件和文本浏览控件都会同步显示…...

C++ AVL树 详细讲解

目录 一、AVL树的概念 二、AVL树的实现 1.AVL树节点的定义 2.AVL树的插入 3.AVL树的旋转 4.AVL树的验证 三、AVL树的性能 四、完结撒❀ 一、AVL树的概念 二叉搜索树虽可以缩短查找的效率,但 如果数据有序或接近有序二叉搜索树将退化为单支树,查 …...

Faster R-CNN:端到端的目标检测网络

本文回顾了由微软研究人员开发的 Faster R-CNN 模型。Faster R-CNN 是一种用于物体检测的深度卷积网络,在用户看来,它是一个单一的、端到端的统一网络。该网络可以准确快速地预测不同物体的位置。为了真正理解 Faster R-CNN,我们还必须快速概…...

如何给 MySQL 表和列授予权限?(官方版)

目录 授予表级别权限 授予列级别权限 如何给MySQL表和列授予权限是MySQL数据操作中非常重要的步骤,也是企业级使用MySQL数据库的起步点,以下分别参照官方教程整理的MySQL数据库的权限操作。 以下的语句可以直接使用MySQL的命令行进行操作(如何…...

攻防世界testre做法(考点:base58)

在做这道题目之前,我们先来简单了解一下base64加密和base58加密,先来说一些预备知识,bit为1个位,即一个0或1,八个位组成一个字节,即八个二进制数。 base64编码原理:1,在使用base64加…...

计算机视觉与模式识别实验1-1 图像的直方图平衡

文章目录 🧡🧡实验流程🧡🧡1.读入图像‘rice.png’,在一个窗口中显示灰度级n64,128和256的图像直方图。2.调解图像灰度范围,观察变换后的图像及其直方图的变化。3.分别对图像‘pout.tif’和‘ti…...

【C++课程学习】:C++入门(函数重载)

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🌈函数重载: 🍉1.参数个数不同: 🍉2.参数…...

skywalking介绍及搭建

链路追踪框架比对: skywalking安装部署: 下载地址:Downloads | Apache SkyWalking 配置微服务与skywalking整合: copy agent/optional-plugins/apm-spring-cloud-getway-xx.jar到plugins,然后重启skywalking 监控界面…...

分析示例 | Simufact焊接工艺仿真变形精确预测汽车结构

导语 焊接是汽车制造过程中一个关键环节,白车身、发动机、底盘和变速箱等都离不开焊接工艺的应用,主要涉及气保焊、电阻点焊、激光焊、电子束焊等多种焊接工艺。由于汽车车型众多、成形结构复杂、汽车制造质量、效率、成本等方面的综合要求。如何高效、…...

模式识别选择题

影响K-均值聚类算法效果的主要因素之一是什么? A. 初始聚类中心的选取 B. 样本输入顺序 C. 模式相似性测度 D. 分类准则 答案:A支持向量机(SVM)在处理非线性问题时,通常使用什么方法? A. 引入核函数 B. 增加…...

【Java基础】线程方法

start():启动线程,使线程进入就绪状态。 run():线程执行的代码逻辑,需要重写该方法。 停止线程 void interrupt() 中断线程,让它重新去争抢cpu 如果目标线程长时间等待,则应该使用interrupt方法来中断等待…...

C++之动态数组

C给我们提供了一个叫Vector的类,这个Vector在std命名空间中。这个Vector有点像一个集合,一个不强制其实际元素具有唯一性的集合,和数组一样,但是和C普通的数组又不太一样,和标准的数组不同当你创建Vector时&#xff0c…...

使用 image-combiner 开源项目实现对海报图片的生成

1:gitee 项目地址 image-combiner: ImageCombiner是一个专门用于Java服务端图片合成的工具,没有很复杂的功能,简单实用,从实际业务场景出发,提供简单的接口,几行代码即可实现图片拼合(当然用于…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

MMaDA: Multimodal Large Diffusion Language Models

CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"&#xff0…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...