嵌入式学习5大误区,你中招了吗?

news2025/1/13 10:06:48

目录

误区1:错把自己当稚晖君

误区2:错误的学习方法

误区3:忽略时间成本

误区4:缺乏系统思维

误区5:追求完美主义


误区1:错把自己当稚晖君

稚晖君能够以一己之力创造一个个惊艳的产品,离不开他的嵌入式全栈开发能力,我们先来看一个图

图 1 嵌入式学习版图

如果你想成为稚晖君,你需要对上面绝大多数技能都有很深入的了解,这样才能成为天才。

这个图是嵌入式整个学习版图,注意我没有把这个图称为学习路线图,因为我不想让大家陷入一个误区,认为嵌入式开发什么都得会,如果你想把整个版图的技能都学完需要你付出几十年的努力,并且头发全掉光。

嵌入式学习首先得明确自己想要学习哪个方向,我们可以根据自己的兴趣爱好,职业发展,薪资水平等去选择,先把一个方向弄明白,能找到一份满意的工作,再结合自己的兴趣慢慢让自己往全栈开发方向发展,而不是刚刚开始就学习全栈知识,结果被嵌入式开发劝退。

误区2:错误的学习方法

什么是正确的学习方法?

大家先思考一下这个问题...

......

如果我直接说出我的答案给你,大家根本不会去思考学习方法好坏的问题,只会被动的接收这个信息,然后还是按照习惯的做事方法去学习嵌入式,10年后你的嵌入式开发水平还只是提高了一点点,结果被小年轻卷死。

平时我们用的比较多的方法是看书,看视频,百度,CSDN等,这些方法可以称为拿来主义,只能让自己短暂的幸福一会儿。

这里我推荐一种学习方法:费曼学习法。

图 2 费曼学习法

我们依据费曼学习法进行主动学习,平时多写代码多调试程序,多去做技术输出(教会其他人,写博客分享等),对一些技术点可以多做刻意练习,通过这些方法,我们能够把知识转化为自己能力的一部分,而不是忘了学,学了忘,浪费大把时间。

误区3:忽略时间成本

大家有没有发现一个现象,生活中很多成功人士最在意的是自己的时间,而普通人则喜欢挥霍自己的时间,我们姑且不去讨论成功这个东西,我们来讨论学习嵌入式到底需要付出多少时间成本。

我是一个工作了将近12年的嵌入式Linux软件工程师,这些在几个大公司做过开发和管理岗位,回想起自己的职业生涯,我觉得走了不少弯路,如果能够再来一遍我觉得我可以用少一半的时间拿到今天的成果。

首先是学习方法不对,这个至少浪费了几年时间,可以参考误区二。

第二是缺乏有经验的人的指引,很多东西都需要自己去摸索,摸索并没有错,但是效率低,摸索还有个问题是会在战略上犯错误,比如本该花时间去多学习Linux源码,结果把大把的时间放在C++一些很少用的复杂的语法上面,比如可以多学习一些Linux性能优化的知识,结果去研究一些已经过时的没用的开源项目,还有很多很多例子。

为了节省时间成本,我们需要多去听听有经验的人的建议,不要盲目去摸索,制定清晰和符合实际的目标。

误区4:缺乏系统思维

做研发的人员经常会遇到bug,有时候一个小小的bug可能影响整个项目的开发周期,当然bug的难度随着我们工作经验的增加会越来越低。

解决bug千万不要钻牛角尖,一定要培养自己的系统思维,有时候一个bug需要从多个角度去看待,才能找到正确的解决,记得以前碰到过这样一个音视频开发的问题,采集声音的时候,Linux系统偶发性的报第三方库崩溃错误,作为音视频开发工程师,想着的是怎么优化多线程,怎么做保护措施,结果很长时间都没解决掉这个bug,最后是和bsp工程师一起研究源码,升级了一下系统才解决了问题。

我们得学会站在更高的角度看问题的,问题也就没那么可怕,因为你站的越高,你的资源越多,解决问题的办法也越多。

误区5:追求完美主义

做任何工作我们不能把自己当成一台机器,应该学会从工作中找乐趣,赋予工作价值和意义。

学习嵌入式开发不要过度追求完美,这样生活可以体面点和少掉点头发。

研发人员经常碰到问题就和问题死磕,为了解决问题有时候把生活搞得一团糟,把工作的焦虑带到家里,影响家人的情绪。

当这种情况出现的时候,我们要学会示弱,这个问题可能已经超出了我的能力,或者说思维受限了。

如果你认为自己无所不能,追完完美,你会认为自己不够优秀,会继续和问题死磕,不放过自己,这样只会损耗自己的心力。

我的一个很重要的工作经验,当一个问题你花了很多时间确实解决不了的时候,很大的原因是因为这个问题需要你学习一些新的知识板块,而且学习这些知识需要付出很多的时间成本,你想绕过去几乎不可能,这个时候你要学会把问题反馈出去,寻求外部或者团队的帮助,充分认识到自己的局限性。

道德经里有一句话“企者不立,跨者不行”,意思是:踮起脚跟想站得高,反而立不住,迈起大步想走得快,反而走不远。

做技术开发一定要正确认识自己,不要过高或者过低看待自己,放弃完美主义,原谅自己。

下面更精彩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1137182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球

代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球 文章链接:柠檬水找零 根据身高重建队列 用最少数量的箭引爆气球 视频链接:柠檬水找零 根据身高重建队列 …

StarRocks 荣获 InfoWorld 2023 年最佳开源软件

近日,InfoWorld 公布了 2023 Bossie Awards 获奖名单,StarRocks 作为数据分析领域的明星项目,光荣入列。 InfoWorld 是一家具有全球影响力的信息技术媒体公司,每年都会根据软件对开源界的贡献,发布 Bossie Awards 榜单…

【Javascript】函数返回值的作用

目录 返回值 中断函数 只能写在函数体里面 返回值 function a(){var b3;return b3? 4:5;} console.log(a()); 创建一个函数,给b赋值3, return b3? 4:5; 判断b是不是等于3,如果是就返回4, 如果不是就返回5 中断函数…

JSON数据

一、JSON介绍 Android应用程序界面上的数据信息大部分都是通过网络请求从服务器上获取到的,获取到的数据类型常见的就是JSON。JSON是一种新的数据格式,这种格式的数据不可以直接显示到程序的界面上,需要将该数据解析为一个集合或对象的形式才…

Linux-安装docker-compose

前言:本文建立在服务器中已经存在docker环境的基础上,总结了安装docker-compose过程,以及安装过程中遇到的问题和解决方案。 一、下载docker-compose 在网上找了两种,一种是github官方的,一种是国内的镜像 gitbub官…

Python循环语句(二)

目录 二.for循环1.1for循环的基础语法1.2range语句1.3变量作用域2.for循环嵌套3.循环中断 二.for循环 1.1for循环的基础语法 while循环和for循环的区别 while循环的循环条件是自定义的,自行控制循环条件 for循环是一种轮询机制,是对一批内容进行逐个处…

多种方式计算当天与另一天的间隔天数 Java实现

这里不会记录纯原生写法,因为现在基本都是被工具类封装好的,所以会记录好用的工具类来简化开发,当然自己可以研究写一个年月日各自做减法的纯原生工具类。 踩坑处(System.currentTimeMillis) 这里指的是使用System.currentTimeMillis()方法。…

基于 Qt控制开发板 LED和C语言控制LED渐变亮度效果

## 资源简介 在STM32开发板,板载资源上有两个可自由控制的 LED。如下图原理 图其中我们以操作 LED1 为示例,LED1 为出厂系统的心跳指示灯。 ## 应用实例 想要控制这个 LED,首先出厂内核已经默认将这个 LED 注册成了 gpio-leds类型设备。所以我们可以直接在应用层接口直接…

如何通过内网穿透实现公网远程连接Redis数据库

公网远程连接Redis数据库【内网穿透】 文章目录 公网远程连接Redis数据库【内网穿透】前言1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 保留一个固定tcp地址4.2 配置固定TCP地址…

国内主要的ERP软件有哪几种?谁家的ERP软件好用

不同的企业有不同的管理方式和侧重点,随着市场环境的变化,各行业竞争日趋激烈化,如何降低经营成本,提升产品质量,优化资源配置也成为各个企业努力的重点。 有些企业存在部门之间信息传递不及时、多组织协同效率低、不…

Java API访问HDFS

一、下载IDEA 下载地址:https://www.jetbrains.com/idea/download/?sectionwindows#sectionwindows 拉到下面使用免费的IC版本即可。 运行下载下来的exe文件,注意安装路径最好不要安装到C盘,可以改成其他盘,其他选项按需勾选即可…

2023年软件测试还能不能干,怎么干!听听这些肺腑之言!

“怎么办?我似乎连面试都过不了。” 小玲边喝着陪伴她度过无数熬夜的奶茶,边与朋友分享着自己在软件测试行业的求职之路。 被公司裁员后,小玲虽然通过自学掌握了一些基本的接口自动化和UI自动化测试技能,但面试时总还是遭遇到一些…

英伟达携手联发科打造CPU,威胁英特尔主导地位 | 百能云芯

据路透社报道,英伟达(NVIDIA)计划采用安谋(Arm)架构设计中央处理器(CPU),进军个人电脑(PC)市场。外界已指出,联发科是英伟达的合作伙伴&#xff0…

利用Nginx通过内网穿透实现Windows Web多站点远程访问

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

Redis常用知识笔记(超全面!超详细!)收藏这一篇就够了

这里写目录标题 一、Key二、常见的数据类型1、string (字符串)1-1 常见命令1-2 案例 2、List(列表)2-1 常见命令2-2 案例 3、Hash(哈希)3-1 常见命令3-2 案例 4、Set(集合)元素唯一不重复4-1 常…

msigdbr hallmarks gsea broad研究所

使用msigdbr r包 #BiocManager::install("msigdb") #https://www.gsea-msigdb.org/gsea/msigdb #https://cran.r-project.org/web/packages/msigdbr/vignettes/msigdbr-intro.html #https://bioconductor.org/packages/release/data/experiment/vignettes/msigdb/ins…

vue3 setup语法糖 搜索

目录 前言 用法 1. 区域 前言 Vue.js 是一款流行的 JavaScript 框架,用于构建用户界面。它提供了一种简洁的方式来创建可维护和可测试的前端应用程序。Vue.js 的核心库只关注视图层,易于上手,同时与其他库或现有项目整合也非常方便。Vue…

解决Maven打包Nacos时插件报错

Maven打包指令:mvn clean install -Dmaven.test.skiptrue -Dcheckstyle.skiptrue 在执行时报错,报错信息如下: Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile (default) on project nacos-consist…

C语言——有一篇文章,共有 3 行文字,每行有 80 个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数

完整代码&#xff1a; /* 有一篇文章&#xff0c;共有 3 行文字&#xff0c;每行有 80 个字符。要求分别统计出其中英文大写字母、 小写字母、数字、空格以及其他字符的个数*/#include<stdio.h> int main(){//创建一篇这样的文章到二维字符数组中char str[3][80] {&quo…

平面图欧拉公式

V − E P B 1 V-EPB1 V−EPB1 V V V &#xff1a;点数 E E E&#xff1a;边数 P P P&#xff1a;面数&#xff08;含外面&#xff09; B B B&#xff1a;连通块数量 通过这个我们可以处理网格图中的连通块数量问题 上图中有7个点&#xff0c;8条边&#xff0c;3个面&#x…