机械转行嵌入式软件开发,个人经历

结论:21年开始准备转行,22年转行成功,28岁从机械设计转到单片机软件开发,进而转到linux驱动开发。摸索经历了一些弯路,总共历时11个月投了8家简历,面试8家,拿了7家offer,包括研究所等,最终选择入职500强。

**********************


这是我转行做嵌入式软件开发的心理路程~

转行前的焦虑~~

21年在国企军工口工作,当时做的是机械设计岗位,薪资水平在15万➕。评估了一下资历更老的人员,不走领导级别,几乎25万就是上线了。工资如果不遇到大的情况调薪,每年也就能增长1万,搞下7年估计能到25万,对我来说,时间太久了。

加班情况是比较多的,几乎每天必加,从早上8点干到晚上8点半,周六日肯定是去一天,中午从来没有午休,吃完就开始干,比机器人还机器人 ️。关键,我从来没有学到什么实际的东西,工作2年时间,机械图纸就画了5张,还是复制的……,原来引以为傲的仿真,一次没用上。可想而知,对一个刚走上工作岗位的人的心理打击有多大。对比了一下熟悉的其他专业的同学,收入和成长的差距,让我焦虑和迷茫!有一阵时间,早上5点起来,我就睡不着了,焦虑……

下决心转行跳槽~~~~

产生离职的想法,是看到一个35岁任何技术都不懂的领导痛批一个45岁的资深技术员,毫无情面,那时候我觉得,这里不是一个学习技术和个人成长的归宿,开始有了离职的想法。28岁的人,是需要对家庭负责任了,也是需要对自己负责了,不能意气用事,需要仔细思考未来的出路,要不要继续干机械,继续干的话,未来的收入和工作环境以及个人成长能否达到自己满意的水平。中间有过一次更好的单位应聘入职的机会,还是做机械,我思考过后放弃了,我决定转行。转到嵌入式软件开发,是因为当时我认识的一个大学同学,他学的通信工程,走的这种方向,当时薪资到了40万➕,现在他又跳了,估计是60的水平。对比了我们这几年的经历,我觉得我应该也行。然后就开始了默默一年的准备。

其实我还考虑了以下几点,作为我转嵌入式软件的理由:

(1)未来社会更智能化,智能化的落地依靠的是智能设备作为载体,那离不开嵌入式,说明这个是趋势;

(2)收入:985硕士,嵌入式软件方向,应届起步应该在17K上下,潜心做下去,尤其是往底层走,比如驱动开发,收入只能越来越高,技术壁垒更强。满足我的期望。

(3)稳定且能照顾家里:嵌入式开发对于家庭的照顾来说,应该更容易,小镇做题家出来我喜欢家人的陪伴,前几年可能比较累,因为知识体系不熟悉,需要不断投入,等积累到一定程度,技术壁垒构建起来,就不用那么加班干了,因为很快能定位关键问题,作用体现在关键问题处理,而不是加班做量化的工作。这时候就可以顾家了,危机感没那么重。

(4)老实的性格,比较内敛,不太善于人的交际处理,那就利用好性格,把弱势变为优势,专心做技术,把深度建立起来,这样就不用委屈求全靠别人脸色。linux驱动开发的技术壁垒很深,做好了这方面,性格再内敛,人际方面再难受,因为你的技术水平高,也有人围着你,没办法,关键问题就得你解决。这是化缺点为优点。

对自己转行的规划~~~~

接下来就是真正开始准备转行了,头大,无从下手。这时候先请教了同学,发现他说的太深,我理解不了,机械专业和嵌入式还是隔着一层山,我不知道具体搞到什么程度才算能入行,才能达到跳槽能力。然后我又去通过请人吃饭,找了一个干了多年的软件工程师,让他帮我出主意,最后我结合自己水平,定的方向是,第一步转行到单片机软件开发,完成转行,第二步,走linux驱动开发,加深技术壁垒,避免35岁优化。

然后就开始了漫长的准备阶段,10个月基本就做好了求职准备,几乎是每天晚上8点半到11点半学习,周六日一有空就学习,不出屋。我的目标是4月份,因为这是社招的黄金期,从22年2月我就每天刷招聘信息,看我之前意向的企业动态,期间还是坚持学习,花了很大精力打磨简历和项目经验。为了能够提高意向企业的命中率,我找了7家单位试水,7家单位我做了层级,从100人规模到500人规模,再到军工研究所,最后7家给了6个offer,其中一家最开始的试水,我没处理好一个关键问题,没通过。最后第8家目标企业,成功上岸,现在干了一年多,也步入正轨了。

对整个转行过程的反思~~~~

返回来思考自己的转行过程,虽然做了不少准备,还是走了一些弯路,如果有人能一直帮我答疑,可能会更顺利一些。刚毕业或者工作1到2年的人特别迷茫,不知道如何在就业上做抉择,就会痛苦很长一段时间,最后就是忍受迷茫的人,基本选择了留在原地,或者来自家庭和生活的负担让他不愿意再尝试了。这直接决定了未来是10k和20k收入的问题。

因为嵌入式知识比较庞大繁杂,初入行的人容易迷茫,有时候会不断的陷入自我怀疑,不知道怎么样做才能以最短的时间获取想要的回报。网上看的那么多学习路径也没错,但如果一下看完,周期就太长了,一下把人的信心打击没了。有人点播一下,学习的时长可能从40h就变到了20h,这就是差距。

因为有过类似的转行经历,所以知道转行的痛苦,转行人不是怕转行辛苦,怕的是努力了没有汇报,全部打了水漂。

如果有这方面的疑惑,欢迎沟通,我可以把我的经验分享给大家,如有帮助,请帮忙点个关注,多谢各位

祝好~


~~~~~~~~~~~~~~

更新一下我对有转行想法同学的建议:

1.如果你是在校生~

大学时代和工作时代就是两个围城,都想进到对方的城里去看看。尤其是大学时代,更想做兼职赚快钱,提前获得有钱的乐趣体验生活。曾经我也一样,直到在面临转行时,反思自己的大学和读研生活,我是有遗憾的。大学时,我干过家教,干了3年多,传单开始也发过,竞赛也参加过,机械创新大赛拿到了国二,这个有点可惜。还干过社团活动,最后如愿保研算是个人的小得意。但是这些东西都在一定程度上迷失了自己的就业方向,这种情况持续到了读研阶段。我没有考虑好读大学根本的目的是为了完成就业,是能达到一个高薪水平,快速去改变生活以及找到更喜欢的人。(抱歉,我是一个俗人)对比我的同学,只学有用的知识,对就业有用的知识,所以他才能做到硕士毕业2年内就能拿到40万+甚至更高的水平。他是我的另一面镜子,在某个节点一下点醒了我。如果你也想毕业后获得一份高薪,不如抓紧时间学习一门技术,不论是嵌入式软件还是其他~学生最宝贵的是大把的时间。未来毕业是20K的月薪还是10k,可能就需要你大学的5到6个月的时间就决定了~


如果你是工作的人~

换工作和转行的最佳时间是毕业后的2年内,这个时间段你有了生活和工作的阅历,赚钱和改善生活的目的性比较强,所以可以更容易吃苦去学习,只不过有时候不知道学啥和怎么转,困住了脚步。还有就是工作岗位对你的包容性,毕业2年内换工作,一般新单位会略有包容,只要基础尚可,他们认为你换行的代价,在公司是可以承受的,愿意培养你。拖的越久,找工作越不容易。所以时间就是你的关键因素,花钱买不来。但是如果整个学习周期能够缩短2到3个月,意义重大,重点是你的信心被建立起来了。建议好好把握~

还有一种是像我这样的大龄人想转行,可能是材料,机械,土木,化学等专业的人,想转到嵌入式软件开发的。转行时间,学习安排,转行的准备质量更和前面的两种不一样,没办法,已经晚了,只能成本和代价更大。

如果有疑惑,欢迎沟通交流,希望对大家有用。

******************************************************************

祝好~

后续我会再更一部分嵌入式转行的内容,多谢各位
2023.10.15
#嵌入式驱动开发工程师##机械转行##嵌入式软件##研究所VS国企,该如何选##机械制造薪资爆料#
全部评论
老哥你是啥学历呀?我只是个二本,到考研失败即将毕业才发现自己啥都不会。学了两个月Java后感觉行情不行就报了西部计划,但是因为体检不合格没通过,8月开始想转嵌软,8月学了linux基础和shell基础,9月过了一遍C++基础继承封装多态,现在在学linux C应用编程,网络编程和文件io,但是现在家里催得紧,想先找份linux运维方面的,可以给些有关找工作和后续学习的建议吗?
4 回复 分享
发布于 2023-10-16 15:28 山西
这是一个总的学习路线图,实际上开始入行和有一份工作不需要全部都学了,筛出来重点就行了。。等你有一定能力了再逐步扩展学习。最后,我不是培训机构……,有疑问也可交流,祝好~
2 回复 分享
发布于 2023-10-09 16:02 天津
老哥挺牛的🐮,双非机械硕,做的仿真方向,最近也在考虑要不要转嵌入式软开,感觉传统方向真不太行。
2 回复 分享
发布于 2023-10-10 21:27 河南
狠狠点赞
1 回复 分享
发布于 03-30 11:20 江苏
老哥现在做的单片机开发吗
点赞 回复 分享
发布于 2023-10-11 15:22 四川
老哥,研究生阶段主要用c++,想找嵌软工作,还需要学些什么东西呢
点赞 回复 分享
发布于 05-22 20:19 天津

相关推荐

11-09 19:31
门头沟学院 Java
经纬恒润 Java开发 22左右
点赞 评论 收藏
分享
1. 如何在嵌入式系统中实现Wi-Fi通信?2. 使用RTOS如何管理任务的优先级?3. 如何使用SPI实现高速数据传输?4. 在FreeRTOS中如何实现任务的通知机制?5. 如何通过UART进行设备的固件升级?6. 使用I2C与加速度传感器进行数据读取的步骤?7. 如何在嵌入式系统中实现数据的加密与解密?8. 使用PWM控制LED亮度的基本原理?9. 在FreeRTOS中如何实现信号量的使用?10. 如何使用ADC进行温度传感器的值读取?11. 在嵌入式系统中如何实现RTC的闹钟功能?12. 使用中断响应按键事件的处理?13. 如何在嵌入式系统中实现实时操作系统的调试?14. 使用CAN总线实现车辆内部的通信协议?15. 在FreeRTOS中如何实现任务的动态创建与删除?16. 如何使用DMA进行SPI数据传输?17. 在嵌入式系统中如何实现图像处理算法?18. 使用MQTT协议实现设备的数据上报?19. 如何在FreeRTOS中实现时间片轮转调度?20. 使用USB HID实现设备的键盘功能?21. 在嵌入式系统中如何实现音频播放?22. 如何通过网络实现设备的OTA升级?23. 使用GPIO控制伺服电机的角度?24. 在FreeRTOS中如何实现定时器的使用?25. 如何使用SD卡进行文件的读写操作?26. 在嵌入式系统中如何实现外部存储器的接口?27. 使用UART进行设备的状态监控?28. 如何在FreeRTOS中实现消息队列的使用?29. 使用模拟量输出控制电机的转速?30. 在嵌入式系统中如何实现系统的故障检测与恢复?我面试看的是大佬的面经,链接放下边了  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
评论
37
114
分享
牛客网
牛客企业服务