该不该放弃嵌入式,单片机这条路?

news2025/9/20 12:07:50

本文几乎浓缩了我从业10几年的精华,内容涵盖我转行、打工、创业的经历。

建议从头到尾不要错过一字一句,因为字里行间的经验之谈,或许能成为你人生重要转折点。

全文3700多字,写了6个多小时,如果你赶时间,建议先点赞+收藏防止找不到。

很多人痛苦的根源,就是怕吃苦。

相信,我比你们的年纪都大,虽然我一直觉得自己才20多岁。

人生上半场已过,我最大的感触就是只要还活着,就是不断碰到问题,然后解决问题的过程

问题只会迟到,不会缺席,今天你逃避的问题,以后会以另一种更残酷的形式出现。

借此机会,我简单回顾下我这12年,看完以后你会觉得,原来不是你比较倒霉,每个人都是这么苦过来的。

只是有些人,选择在一条赛道,坚持苦下去,直到突破瓶颈,有了更高造诣。

有些人中途放弃,换一条新赛道,刚开始确实很容易,越往后发现也是很难,最终陷入苦的恶性循环。

一、转行

我2011年入行至今,做了单片机开发有12年时间了,在这期间遭了不少罪。

先从入行开始说起,我是电气专业,实习看到那些师兄工作,不是灰头土脸,就是满头大汗,全身充满了屌丝的气息,关键工资还低,狗看了都摇头。

我对这种付出和回报严重不成正比的工作,充满了排斥。

但没黑这个行业的意思,这是20岁出头时对行业的认知。

我寻思,起码找个工作环境好一点的,比如坐在办公室玩玩电脑,工资又高的。

这种职业,或许只有程序员比较适合我。

刚开始,我并不知道单片机,而是选了java,因为当时真的很火。

以前穷学生,没钱报课,只能买一本书,网上看一些免费的教程入门。

自学了几个月,把Java SE学完了,也学了mysql和oracle,但感觉云里雾里,似懂非懂,反正就是什么项目都做不出来。

和现在很多新手学单片机一样的,学完c语言、单片机,一做项目就一脸懵逼,写程序没思路。

现在做了技术10几年,才明白这个再正常不过了,每个工程师都会经历的。

解决办法就是多做项目,先做点小项目,再做复杂的,慢慢积累。

这是个转折点,很多人就是没跨越这一步,以为自己不适合,就放弃了。

或许当初我再坚持一下找点项目做,就成功了。

后面我研究了一下,原来Java SE只是基础,学完这个只是开始,还得选Java EE和Java ME继续学习。

我TM心态有点崩了,耗了几个月时间,好像连门都没入。

然后我也不管了,尝试去找工作,一直碰壁,当时连找啥职位都不知道。

后面有个培训机构叫我去面试,正庆幸终于有眼瞎的。

去到以后,一波套路下来,我算搞明白了,原来是招生的。

就是先用你的缺点打击你,你这种水平找工作没竞争力,需要去他们那里再培训提高才好就业。

我说没钱,他说没关系,可以先贷款,等你找到工作再还。

听起来不错,最后我还是走了,因为这个“老师”给我的感觉就像个骗子。

迷茫焦虑、浑浑噩噩不知道多久后…

生活所迫,不得不继续折腾。

如果经历过诺基亚时代的人,应该知道,当时手机的应用一片蓝海。

所以,我尝试选择Java ME这条路走下去。

现实比我想象要复杂太多了,教程少,又没师傅带路,新手靠自学根本入不了行。

误打误撞,我就是通过Java ME慢慢了解到单片机的。

深入了解了一下,发现这个东西好像比java简单,只需要会c语言。

后面,我买了一块STC89C52的开发板,有java基础很快就点亮了第一个LED。

顿时激起了我的兴趣,感觉比java有意思多了,竟然还能通过程序控制硬件。

相信很多单片机工程师入行时,也是和我一样,纯粹就是兴趣驱使。

如果看工资的话,很多人不愿意学,因为当年做单片机的工资比纯软件低很多。

大概学了几个月我忘记了,但是应该不超过3个月。

学习过程也没那么顺利,特别是学模拟电路那块,根本学不懂,差点放弃。

还好学开发板的时候,模拟电路很多知识用不上,只需要大概看懂原理图就行了。

我学了c语言、51单片机、基础电路、Protell99SE就去找工作了。

当时还不流行网上投简历,都是去人才市场,买门票进去投简历,然后现场HR面试这种。

事与愿违,不出意外的话,我能找到工作肯定是个意外。

拒绝理由基本就是学历、专业、工作经验、项目经验这些。

连续被10几家拒绝以后,是一种怎样的体验?

当时和一个朋友一起去找的,两个难兄难弟都没找到,然后我们去烤鱼店点了一份烤鱼,啤酒干了2,3瓶(不胜酒力),两个人大男人一条烤鱼一半都没吃完。

都焦虑到吃不下饭,然后不断在质疑自己,像我这种是不是不可能转行成功?

朋友也劝我,别人本专业都找不到,你怎么可能找得到。

我要不要先进场打螺丝,积累点工作经验再转会不会好一点?

后面我还真这样做了,我去找了一个修DVD的公司,每天像机器人一样,测试机器,听DJ舞曲。

做了一个星期,我就提桶跑路了,因为有一个同事给我洗脑,说我会单片机做这个干嘛,浪费时间。

辞职后,我冷静了一段时间,思考如何才能入行。

后面想通了,学历、专业、工作经验我都没法改变。

但是项目经验可以改啊,谁规定只有工作才能有项目经验,哪怕是业余项目,也比没有强。

找到这个切入点,我选了个智能小车的项目。

 

还好,某宝还保留着10几年前我的订单信息,不然大家还以为我在吹牛逼。

这个项目的图纸和程序,都还保留了一部分。

 

 

做完以后,我嫌还不够牛逼,后面又自学了VB,做了一个上位机,用上位机去控制小车,不过这块资料已经丢失了,当时记录笔记的网站也关闭了。

 

这个项目让我顺利地找到了工作,成功入行,虽然月薪只有1.8K。

我来对这个阶段性总结:

如果你还在这个阶段,不妨坚定一点,感性一点,定了目标拼命往前冲就行了,事在人为。

为什么你会觉得很难?

我觉得大概率是走了弯路,因为你没经历过,没经验,所以出现问题不知道怎么解决,不知道自己能不能解决。

如果有一个经历过的人,直接告诉你,他曾经也碰到过这种问题,并且告诉你,他是怎么解决的,我相信你会像开挂一样成长。

二、研发生涯

虽然入行了,但是麻烦还是很多,而是换了一种形式。

在前1-2年的时候,自己独立实现产品功能程序都有问题,我的目标就是能达到独立开发软件的水平。

到第3,4年的时候,基本大多数产品程序都能独立开发了,又觉得自己代码写得很烂。

最怕就是好不容易测试稳定,领导又说要改功能,看着乱七八糟的代码,都有想辞职的冲动。

这个阶段,我又有了新目标,就是把代码架构写得更好,扩展功能和移植到别的项目上都很方便。

这个阶段花费的时间最长,因为市面上没这样的教程,身边也没有什么好的师傅带。

后面突破这个阶段,就是完完全全靠时间项目堆积出来的。

关于程序架构,我在2019年的时候也录了一套比较系统的视频,当时本来想卖的,后面工作一忙耽误了,现在直接开源回馈下粉丝。

 

是不是干货,够不够硬核,自己去看一下就知道了。

可以在小破站直接找无际单片机编程,就能看了。

具备程序架构设计能力以后,我的日子好过多了,因为做新项目就是复制粘贴,然后再增加一些产品特定的功能代码。

来新项目了,老板问我多久做出来,我一般回答3,4个月,然后可能1个月就做完了,剩下2,3个月摸鱼。

以上就是技术面。

但是工作又不止技术面,其它方面的烦恼也非常多,比如说在小公司里没量,供应商不鸟我们,做项目频频受阻,大公司又勾心斗角,拉帮结派,请个假要”一村人”签字才能批。

比如我总是一边靠这门技术吃饭,一边骂这个行业垃圾(工资低),总是比做java的同学低几千。

不过这些都是小问题,最困难的问题就是技术面突破收入瓶颈

技术面就不说了,我们无际单片机有项目实战特训营,拿出我们研发生涯里对我们提升最大的项目,信就干,不信也别喷,毕竟没强迫你,想学我们还得看缘分,看素质。

 

单片机工程师的收入瓶颈是多少?

这个还真不好说,跟学历、能力、城市、行业、机遇都有关系,最靠谱的就是自己去相关平台搜单片机工程师,看看平均值是多少。

我给个参考值,一线城市,大概在25-40K之间。

三、创业

我为什么要出来创业啊?

做了10年,工资早到瓶颈了。

很多人问我,做单片机开发有没有年龄危机,能不能干到45岁。

我说能干到你不想干为止,因为大多数人做到35岁,就做腻了,要么转管理、要么转销售、要么创业。

我就是活生生的例子,不想继续打工,是因为我觉得自己的时间应该可以更值钱。

我选择了创业这条路,技术创业,犹如赌狗,十赌九输。

如果你站在理性的角度,肯定不会选择创业,如果你去问身边的人,十有八九不建议,做技术工资高又稳定,不香吗?

所以刚开始,做一个感性的,能死磕的傻比,相对容易成功

太聪明的、想法多的、奇技淫巧多的,大概率会失败。

回想我转行的时候,再到现在创业2年多,哪次不是满腔热血,管他三七二十一,像傻比一样在看不到希望的道路上死磕

如果你事事都理性去分析利弊,你会发现,这世上就没有你适合玩的东西。

不过,不了解我的人,不要被我洗脑,也不要模仿,要知道自己能承担的风险阈值,平衡这个点也很重要。

创业初期,我是完全转行,做了别的行业。

很幸运从第二个月开始就有收入,虽然每个月只有几千块。

你可能会觉得很假,什么?刚创业第二个月开始就有收入?

我的方法是砸钱拜师、砸钱买项目、砸钱提升认知。

有些课,一时半会对我也没啥用,刚开始觉得不止,踩坑了。

但是后面通过不断项目实践,慢慢就领悟了,能把这些知识串起来,形成自己的知识体系,最后把这个体系套用在不同的项目里。

接触行业越多,我越发现各行各业内卷很严重。

现在我很庆幸掌握了这个技能,让我有竞争壁垒,进可攻退可守,创业失败也可以回去打工拿个高薪,稳得一批。

但这个技能,对我来说,也仅仅是个工具而已。

所以,很多人说,做单片机没前途,做单片机没Linux工资高。

我选择沉默,毕竟,每个人看到的世界不一样

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

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

相关文章

MATLAB——多元函数的极值

目录 计算多元函数的自由极值 计算二元函数在区域D内的最大值和最小值 函数求偏导数的MATLAB命令 例题如下 计算多元函数的自由极值 定义多元函数 Zf(x,x)求解正规方程fx(x,y)0,fy(x,y)0 得到驻点对于每一个驻点(x0,y0),求二阶偏导 A B …

系统复杂度之【高性能】

系统复杂度之【高性能】 今天我们来谈一谈系统复杂度的根源之【高性能】 对性能的不懈追求一直是人类科技持续发展的核心动力。例如计算机,从电子管计算机到晶体管计算机,再到集成电路计算机,运算性能从每秒几次提高到每秒几亿次。然而&#…

Java开发 - 读写分离初体验

前言 上一篇中,我们介绍了主从复制,相信学过的小伙伴已经能够很好的掌握主从复制的技术,实际上也并没有那么难,虽然没有讲一主多从,多主多从的配置,但是从一主一从的配置中也很容易联想到该怎么配置&#…

2023年顶级编程语言趋势

对于开发人员和软件工程师来说,选择更优秀的编程语言使编写可以在任何地方运行的软件变得更加容易,工作效率更高。从 Java 的缓慢衰落到 MATLAB 的惊人流行,对当今最流行的编程语言的分析,可以帮助你了解最新趋势并响应最新趋势。…

4.5、协议

4.5、协议1.简介2.常见协议3.UDP协议4.TCP协议5.IP协议6.以太网帧协议7.ARP协议1.简介 协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信…

JAVA NIO简解

1. 了解NIO 1.1.什么是NIO? Java nio是Java的一个新的输入输出(NewInput/Output)API,它提供了一些高效的数据处理方式,如缓冲区(buffers)、字符集(charsets)、通道&#…

No.036<软考>《(高项)备考大全》【第20章】项目集管理

【第20章】项目集管理1 考试相关2项目集合项目组合的区别2.1 项目组合、项目集、项目管理之间的关系:2.3 举例说三者的关系3 项目集管理3.1 项目集管理与项目管理区别3.2 项目集指导委员会3.3 项目集生命周期4 练习题参考答案1 考试相关 选择1分必考 案例概率低&am…

Ubuntu 23.04 新特性一览

Ubuntu 23.04 “Lunar Lobster” 计划于 2023 年 4 月 20 日星期四发布,这是 Ubuntu 桌面的第 38 个版本。作为一个短期版本,Ubuntu 23.04 共获得了 9 个月的持续更新、安全补丁和关键修复。 在正式发布之前,OMG! Ubuntu! 汇总整理了一些 Ub…

京东产发奔赴港股上市,分拆上市或成互联网大厂的共同选择?

‍数据智能产业创新服务媒体——聚焦数智 改变商业3月30日晚间,京东集团(9618.HK)相继发布2则公告称,拟分拆京东智能产发股份有限公司(以下简称“京东产发”)、京东工业股份有限公司(以下简称“…

基于改进多目标灰狼优化算法的考虑V2G技术的风、光、荷、储微网多目标日前优化调度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

( “树” 之 DFS) 404. 左叶子之和 ——【Leetcode每日一题】

404. 左叶子之和 给定二叉树的根节点 root ,返回所有左叶子之和。 示例 1: 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 示例 2: 输入: root [1]…

当ChatGPT续写《红楼梦》,能替代原著吗?

来源: 清华大学出版社 近段时间,人工智能聊天机器人ChatGPT火爆网络,“AI写作是否会让文字工作者被替代?”成为人们关注并持续讨论的话题。 闲聊、问答、解题、写代码、写诗、创作小说, 连续回答,不断纠错&#xff0c…

window下面安装phpstudy进行PHP开发

文章目录前言在这里插入图片描述一、安装步骤1.1 下载PHPStudy软件1.2 安装PHPStudy软件1.3 启动PHPStudy软件1.4 设置PHPStudy1.5 安装扩展1.6 启动服务总结前言 php的集成开发环境比较多,有wamp server,xmapp,phpstudy等。经过这些年的体验…

【李宏毅】深度学习——HW5-Machine Translation

Machine Translation 1. Goal 给定一段英文,翻译成繁体中文 2. Introduction 2.1 Dataset training dataset TED2020: TED talks with transcriptions translated by a global community of volunteers to more than 100 language.we will use (en, zh-tw) alig…

身临其境数字世界:探索VR全景元宇宙展厅

随着科技的不断发展,虚拟现实技术已经成为我们生活中的一部分。VR全景元宇宙展厅作为其中的一种形式,正越来越受欢迎。在这里,您可以探索未知的世界,体验全新的视觉和感官体验。 一、VR全景元宇宙展厅的概述 VR全景元宇宙展厅是一…

Kafka---kafka概述和kafka基础架构

kafka概述和kafka基础架构 文章目录kafka概述和kafka基础架构Kafka定义消息队列传统消息队列应用场景缓存/消峰解耦异步通信消息队列的两种模式点对点模式发布/订阅模式kafka基础架构producerConsumerConsumer Group(CG)BrokerTopicPartitionReplicaLead…

基于html+css的盒子内容旋转180度

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

如何学习python自动化测试,这是我见过最完整的教程了

目录 前言 一、 学习Python基础知识 二、 学习自动化测试框架 三、 学习Web自动化测试 四、 学习移动端自动化测试 五、 学习版本控制工具 六、 学习测试管理工具 七、 实践总结 前言 Python自动化测试是目前比较流行的一种自动化测试技术。它具有开发效率高、可扩展性…

《c++入门》-超级详细讲解

本文主要介绍c的一些入门知识,为后面打基础 文章目录前言1、C关键字(C98)2、命名空间2.1 命名空间定义2.2 命名空间使用1.指定命名空间2.全局展开(一般情况,不建议全局展开)3.部分展开3、C输入&输出4、缺省参数4.1 缺省参数定…

人工智能(Pytorch)搭建T5模型,真正跑通T5模型,用T5模型生成数字加减结果

大家好,我是微学AI,今天给大家介绍一下人工智能(Pytorch)搭建T5模型,真正跑通T5模型,用T5模型生成数字加减结果。T5(Text-to-Text Transfer Transformer)是一种由Google Brain团队在2019年提出的自然语言处理模型。T5模型基于Tran…