从机械到代码:我的嵌入式软件工程师转型之旅

文章讲述了作者从机械专业毕业后,转行寻找嵌入式软件工程师职位的经历,强调了基础知识的重要性,如单片机的学习,以及面试中项目经验和笔试准备的价值。
摘要由CSDN通过智能技术生成

        简单介绍下背景,我是陕西人,在上海上大学,机械专业,20年本科毕业,考研4次折戟,在2023年初,开始找工作,目标地点是上海。大学期间虽然有涉及到“微机原理与接口技术”,“C语言”等强相关的课程,但说实话,毕业3年之后,还能记得的也就是课程名称了。也就是说毕业3年时间,我实际上并没有任何正式的工作经历,也不了解任何与嵌入式相关的专业知识。如果非要找到一些相关性,就是我数学和英语还说得过去(数一110+,英语六级520+),我后来获得的几次面试机会也离不开这两点。

3月之前

        都在找机械相关的工作,这也是我当时唯一的选择。因为自身对机械并不感兴趣,加上对“投简历、面试找工作”这套流程不太了解,所以,也就随便投了不超过10份简历,当然也没有任何回复,期间有一家浙江“知识产权代理”的公司打电话,表示愿意给我 机会。细聊之后,觉得工作内容并不感兴趣,并且工资实在太低(税前5-6K),就没去。

3-6月

        3、4月期间投递了有30份的简历。收到来自上海一家机械公司的面试邀请,电话沟通很顺利,就在已经有去的想法时,想到以后都要从事和机械、绘图相关的工作,就极其反感。 碰巧,3/7有一家嵌入式公司邀请我面试(根据他的说法,是觉得我数学和英语不错,可能上手比较快),了解到这个行业,需要的单片机和C语言在大学期间又有接触,算是给我离开机械行业提供了一个方向。更巧的是,有一个朋友报班经过半年学习,成功从电气工程师转行做嵌入式软件开发。我找他聊了聊,算是为我打开了这扇大门,非常感谢他!

        之后就开始准备:3月底开始听翁恺的《程序设计入门-C语言》、4月底开始听韦东山的《Linux应用开发》。实际上两者都没有听完,但我和自己约定的时间到了,6/10开始投递简历,6/12收到了一份面试邀约,当下就决定要出发前往上海。

        其实当时对于单片机和Linux并没有很清晰的概念,只是看很多人说:Linux工资更高、上限更高,而Linux中又分为应用和驱动,其中驱动又比应用难很多。所以我当时的想法就是:选择Linux,先从应用入门,之后再转向驱动。

6-7月

        很巧,有一个发小研究生刚毕业,在上海租好了房子。6-7月将近20天的时间我都住在他租的房子里,之前联系的那个hr,等我到上海之后就联系不到他了,没办法,只能继续投递简历。运气不错,总计只投了十几份,就有一家公司就给了我面试邀请,又是运气,面试、笔试都顺利通过了(实际上,面试我的也就是我后来的上司,他是做销售的,所以并不会问太多的技术细节。  至于笔试,我答的实际上非常糟糕,可能正确率有50%?之前并没有准备过任何的笔试题目,只是凭借课堂中了解到的去写,但涉及到其他的我就答不上来了)。

        7月初入职,找了3天,看了有几十套房子,最后确定了一家比较特殊的,关于这点就先不赘述了,搬家!    

7-9月

        这家公司主要做物联网相关,虽然投递的是嵌入式软件工程师,但实际上我的岗位是AE(应用工程师),也就是负责产品售前售后的技术支持。开始时非常痛苦,因为我们组里只有两个人——我和领导,他负责销售,我负责技术。这就很尴尬了,作为刚进入这个行业的新人,我实际上对所有的东西都不太了解,比如AE、FAE是什么意思?项目负责什么?商务又负责什么?飞线、AT固件、MCU、板卡、模块都是什么意思?IDE、SDK都是什么意思?CRT、J-Link、ST-Link都是什么意思?等等等等(确实基础近乎为0)。

        而且并没有任何的缓冲时间,第一天时领导就给我一块板子和一个wifi模块,让我把它跑通(跑通?什么叫跑通?具体的目标是啥?)。从第二天开始,就有客户找我解决问题了,当然他问的东西我并不了解。所以第一周时非常非常难受,周五就找领导沟通,他给我讲了下什么问题该找谁去解决。从第二周开始,我就疯狂的请教别人,那段时间几乎把所有嵌入式软硬件、技术支持等等的老员工都问遍了,当然人家并没有义务帮你解决问题,所以我也非常感谢那些同事(会请他们吃饭、买个小零食什么的),几乎90%的问题他们都愿意回答、指导我。

        技术支持的岗位并不好干,特别是在开始阶段,因为是消费类电子产品,客户的体量非常大,这也就导致客户的问题也五花八门,软件、硬件、射频…什么都会涉及,几乎不加班,但70%的时间都很累(主要是心累),当时每次下班都会长舒一口气。 慢慢的,随着认识的人越多,工作的内容越熟悉,我做起来也越是得心应手。

        可天有不测风云,由于业绩不好,整个公司开源节流(裁员1/5,场地缩小一半)。 就这样,8/24,我失业了。 因为房租是押一付三,所以我在租的房子又住到9月底,就又搬家!

10月

        又搬回了发小那,感谢他,不然重新租房又是一笔开支。 9、10两个月,我在BOSS、前程无忧、猎聘、智联招聘上,投递了400+份简历,面试了5次,都以失败告终(几乎每次被拒绝的理由都是一致的:我们需要有经验的。  对了,还有一个因素就是:之前两个月的工作经历其实很少涉及代码,而我现在投递的岗位是嵌入式软件开发,所以大部分情况下这两个月的工作经验对面试官来说并不是加分项)。 这段时间算是我最痛苦的时候,特别是10月中旬往后,眼看着同时被裁的同事在9月底就找到了新工作,而且拿到了两个offer,自己却反复被拒绝、被否定,有2个以上的面试官跟我提过:你现在不适合这行,建议去报个班学上半年再说。 10/18,我前两天刚结束一场糟糕的面试,赶了3个小时的路来到一家新的公司,面试官一看我的履历,就直接把笔放下,5分钟之内结束了这场“面试”。我觉得那是压倒骆驼的倒数几根稻草。

        还好,运气又一次垂青了我。晚上21:20,现在的老板给我打电话,邀请我周末去面试,他这样描述:我之前在研究所工作,然后出来自己办了公司,还只有2、3个人,我看你的简历非常有意思,机械本科、又开淘宝店铺做过数学辅导、然后又在嵌入式领域工作,很感兴趣,不如周末来看看吧。 我当时犹如溺水的人,无论塞到你手里的是什么,都会先抓住它,于是在短暂的犹豫之后,我同意了。 然后就是周日去面试,老板买了两杯咖啡,我们在公司的沙发上,聊了1h左右,内容都是关于自己的经历、他们公司做的东西等,几乎没有涉及到技术细节,谈话的结尾,我提了薪资,老板痛快的答应了,我说还得考虑考虑,因为明天还有个面试。

        两天之后,我选择现在的公司。又是看了3天房子之后,再次搬家!

2023/11-2024/1

        换了一个区,开始在新公司上班。嵌入式软件工程师,正式开始和代码打交道,截止目前(1/28),我已经完成了2个项目,正在做第3个小项目。学会了使用keil调试、ADC采集、定时器中断、EXTI外部中断、状态机使用、用代码实现AT指令的发送、数据的解析、Modbus协议等等。收获颇丰,这三个月非常棒,虽然平均每天的工作时间相比于上份工作要多,但大多数时候并不觉得累。 

        2023年终于摆脱了考研的漩涡,往前走了。尽管有很多的不如意:上半年摆烂居多、被裁员、下班之后玩手机、经常性熬夜等。但总的来说,今年迎来了一个崭新的开始,足够勇敢、足够坚持,生活更丰富,工作也更顺利。

新的一年继续加油!


        回过头来看,在过去一年的转行找工作过程中,有很多不足,也有一些做对了的地方,大概总结一下

不足:

①对单片机完全不了解就直接去听Linux的课程。

一方面,单片机的岗位更多,也很少有Linux的机会会给到转行的新人;另一方面,单片机、RTOS、Linux是一脉相承,复杂程度逐级递增的,如果像我一样不打好基础,就会很难上手。

如果有往嵌入式软件领域发展的朋友,建议一定要掌握stm32,很多公司招聘时都会有这个要求,而且单片机的外设都是类似的,掌握了一种芯片的外设,再上手其他的就会快很多,可以跟着B站江协科技的视频进行学习。

②没有提前准备相关的笔试题目。

实际上CSDN中随便搜搜,排在前列的几个帖子任意一个,其中的几十道题目在面试中还是经常会被问到的。

③没有完整的做一个项目。

大家应该会发现,很多课只是去听,就算当时也做了笔记,但一段时间之后还是什么都不记得,而且就算记住的内容也只是死记硬背式的记忆,知其然而不知其所以然。而自己亲手做出的东西,很久都不会忘记。  

另外,项目也能把学到的很多东西串起来,比如外设的使用,上拉下拉的区别等。

最重要的,面试时有项目就代表你有经验、有的聊,通过面试的概率会大大上升。

有帮助的:

①坚持投递简历

两个月投递400+份简历,也就是被拒绝了400多次,还好没放弃。

BOSS、前程无忧、猎聘、智联招聘等app上都可以投,前两个最推荐。

②投递过程中持续学习

每天投递10-30份简历实际上只需要1h左右,其余的时间大可以拿来继续学习。

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值