首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

三本光电从颓废到武汉年薪30w的本科经历、互联网就业经验与避坑浅谈(毕业工作一年的嵌入式软件工程师经验分享)

  • 25-02-18 13:01
  • 4191
  • 13865
blog.csdn.net

三本光电从颓废到武汉年薪30w的本科经历、互联网就业经验与避坑浅谈(毕业工作一年的嵌入式软件工程师经验分享)

文章目录

  • 目前情况
  • 颓废时期
  • 项目时期
    • 第一次写单片机代码
    • 第一次接触计算机视觉
    • 第一次接触Linux驱动开发
    • 第一次接触FPGA和Verilog HDL
    • 第一次开发STM32
    • 创新实践及毕设
    • 项目时期总结
  • 就业与工作后
  • 就业经验及避坑
    • 如何选
      • 公司前景、工作环境、薪资待遇、工作内容
      • 警惕两方协议、补充三方协议、竞业协议、培训协议和违约金
        • 三方违约金
        • 竞业协议
        • 培训协议
        • 两方协议、补充条款
      • 大厂和小厂的区别
      • 外包公司避坑
      • 垃圾桶里不一定有垃圾,但是垃圾一般都在垃圾桶里
    • 如何被选
      • 自我定位:想做啥、怎么做、能不能做、好不好做
      • 简历:突出重点,去掉废话
      • 面试:实事求是,敢于表现
      • 喊薪:双向选择,价高者得

目前情况

我目前工作岗位为嵌入式软件工程师(雷达射频方向)。
我选择了武汉的一家做雷达的小企业,算上项目奖,年薪能拿到30。

去年本科毕业以后到现在也才工作一年
当时拿到最高的offer就是长江存储在上海17500的岗位
还拿到了华为海思、法雷奥等大厂offer
但是我没去 没去的原因下文会说
我选择了武汉的一家做雷达的小企业 算上项目奖 年薪能拿到30
我刚进公司也只是从事MCU开发 目前逐渐往雷达信号处理和算法上面转
(以上这些可以从我CSDN发的文章上面看到我在做什么)
目前我主要从事的工作有:

MCU、DSP,及嵌入式相关开发
毫米波雷达开发
433MHz无线通信开发
激光雷达开发
传感器、电源管理、EEPROM等

这一年里 总计软件开发16次 硬件设计2次 代码贡献量2w余行

主要参与的几个大项目就是ADuCM4050、STM32L4的HART协议物位计、IWR6843AOP毫米波雷达、AT32雷达尾灯
CSDN上有我的部分通用代码开源
我之前被坑的经历可以看后文就业部分。
在这里插入图片描述

我22年三本本科毕业,专业为光电信息科学与工程。
我四级没过(342),电路理论,大学英语2重修 线代挂科。
所有在校的项目的成绩都为优,毕设全院第一校一等,4.5万字查重0.1%,毕业以后申请软著并发表期刊,绩点2.21垫底。
在这里插入图片描述
这是我的当时的成绩单和我的自我评价。
我的简历上的项目则是这样的。
在这里插入图片描述
没有拿过奖,也没有参加过电赛。
机创那个是长江大学外包项目,然后毕业前学妹挂我名混了个挑战杯。
在这里插入图片描述

大一大二都在玩,大三才开始做项目。好在就业搞得好,不亏。
考试全靠车队(差学校车队多,懂的都懂)。
学校老师睁一只眼闭一只眼,但是也有四大名铺,像我们院四大名铺有五个人。

颓废时期

纯玩,游山玩水。
玩到36码摔车地上摩擦十几米,脑震荡一小时失忆面部全是血。
在这里插入图片描述
概率论是早八,所以老师没见过;大物老师性别歧视,所以上了两节课就没去过了;C语言60分纯靠抄。
在这里插入图片描述
偏科,高考湖北理综250,所以概率论90和大物70都没挂;高数都是60过;线代没学过所以挂科;复变函数也靠抄。
在这里插入图片描述
那时候课又多又不想上,但是大二上学期读完武汉就疫情了。
不过大二对光电还比较感兴趣,去了光博会,只不过那时候还没开什么光电专业课,只有工程光学。
在这里插入图片描述
疫情放了9个月的寒假,直接在家天天玩,信号与系统和模电这两个信息系专业课都是网课考试直接抄的。
在这里插入图片描述

项目时期

转折点就是大三了。
由于放了九个月寒假,所以一回来就是补之前的实验课,包括光学实验、电子线路实验等等,这一学年也开始学单片机和嵌入式等等。
在这里插入图片描述
电子线路实验是用74系列搭面包板,555作为时钟输出,做一个有闹钟功能的电子时钟。
原理图老师都有放黑板上,照着搭就行了。但是当时那个8进制的芯片用的与16进制的不一样,我懒得换,就全部采用74LS161来搭建了。
在这里插入图片描述
最后写课设报告的时候,用protues画了个A2大小的原理图(那时候还没学PCB)。
在这里插入图片描述
像课设和课设报告这种,我就做的比较认真,每次一写都是大几十页,后面有的课设不算代码都有一百多页,而且功能上、结构上都与别人不一样,所以能拿到专业第一的高分。
从这里开始,就有老师觉得我做东西转得快、动手能力强,要我加入电协去参加电赛。正好那时候的电协会长是我隔壁寝室的,于是我就去问。
结果被告知以前加入不用交钱,现在要交一百块,我一想就算了。

第一次写单片机代码

20年在武汉的应该都知道,武汉文旅局推出活动,很多景点免费,那时候就一直到处玩。
在这里插入图片描述

正好有个隔壁班在电子线路实验中(搭面包板)问过我问题的女生,那时候就想着喊她一起去万圣节欢乐谷。
在这里插入图片描述

那时候他们电信班的单片机课设做的早一些,所以我就直接让她把课题发我,让我快点做完直接去。因为课设周是两周,她给我之后我在第一周就完成了,前后其实也就几个小时的时间。
在这里插入图片描述
就是51单片机读取ds18b20温度,然后用LCD1602显示出来。
当然,代码是CSDN上面抄的。只不过改了很多部分,加了功能。
在这里插入图片描述
其中,我设置了六种模式,模式0为显示温度、时间。模式123分别为调个位、十位、十分位,按对应的按键就能实现调最高或最低,模式45显示最高、最低温度。
实现单片机温度时间显示,精确到十分位,并且有校时、设置最值温度报警功能,精确到十分位。
以及扩展时钟的校时校分功能。
仅通过几个开关来实现控制,与其他人不一样的地方就是,我是设置的分开调整个位、十位、十分位,别人要么不能精确跳到十分位,要么只能按一次开关累加一次值,而我的每位都是10个数循环调整。
在这里插入图片描述
所以最后拿了优秀课设。
只不过最后大四的时候妹妹跟计科做前端的跑了。
在这里插入图片描述

做了这个课设以后,紧接着就是光学仿真和光电技术课设,以及PCB。
前者直接CSDN抄的车牌识别;后者光照度计,设计了个原理图,然后用光敏电阻ADC转换+LCD1602显示,把之前的单片机课设直接搬过来就能用;PCB教的是99但是我用AD20做的,然后也画了PCB铺了铜,打了板,拿了第一。
在这里插入图片描述

做这个光照度计的时候,还做了几次光敏电阻阻值与光照度的实验,所以也拿了专业第一。
在这里插入图片描述

这个课设做的时候赶着去滑雪,所以直接一天鸡屎焊到腰疼。

在这里插入图片描述

第一次接触计算机视觉

除了车牌识别,还有一个人脸识别。这个是在树莓派上完成的。
当然,这里是学过计算机视觉这门课的,但是没有学机器学习,只是OpenCV图像处理等等。
在这里插入图片描述

这个人脸识别,是用百度API完成的,也是CSDN抄的,有个tkinter的界面。
也是在这个项目里面,我开始自己学tkinter模块,并且解决一些问题。
原代码实现的功能是选择一张照片,与摄像头中的人脸进行比对,返回百度API的相似度从而给出判断。
在这里插入图片描述

但我对其进行了改进,改成了遍历目录进行识别,这样只需要提前把照片存入本地文件夹就能自动识别了。最后也是被@cv君周小夏收录了。
在这里插入图片描述

除了树莓派的一些配置外,如开机自启动shell,无屏幕启动等,我这个还加上了GPIO给单片机控制信号(虽然也就一个单片机开发板演示用)。
在这里插入图片描述
这个项目最后也是被老师收录为了课设指导书,然后还给好几个老师讲我的逻辑。

第一次接触Linux驱动开发

上面的那些都是大三上学期的,后面的就是大三下了。
这次课设是校企合作,合作企业是粤嵌,开发板是GEC6818。
我做的就是一个电子乐队系统。
在这里插入图片描述
包含:
三种音源独立设计:钢琴、钢琴和弦、鼓点。
四种模式:和弦模式、键盘模式、鼓点模式、编曲模式。
键盘模式包含16个按键,包含所有音名,所有调式皆可弹奏。
和弦模式包含C/Am调式常用的16个和弦,包括不协和音程进行。
在这里插入图片描述

和弦模式16键,键盘模式16键,鼓点模式8键,编曲模式16键。
每个按键上都写有此按键的对应音名;切换、按下其他按键时有声音淡出功能。

【满分课设开源】基于Linux GEC6818的电子乐队系统设计(和弦模式、键盘模式、鼓点模式、编曲模式)

也是通过这个课设,我才完善了大一的C语言能力缺失,前面的51单片机仅仅是C51而已。
这个课设同样也是除钢琴外增加了和弦模式和编曲模式,当然专业第一。
这里的编曲模式,就是模拟MIDI协议的钢琴窗来完成的,定义了BPM、循环次数、每节和弦数等等。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同时,也是和隔壁班同样一个做电子钢琴的做了个比对。
工程最后被老师拷走了。

第一次接触FPGA和Verilog HDL

其实Verilog HDL在数字电路中就学过,但是学的不多,但是我们又在图像传感器课设中用到了。
老师其实水得很,讲的语法很多报错,两周都没调通,然后就让我们直接放假回去做了。
在这里插入图片描述
最后,全班也就我一个人把代码跑通了,并且仿真出完整波形。
在这里插入图片描述
我选的是TCD1206SUP,这款图像传感器需要有四路输出时序给到它,最后也是优秀课设。

第一次开发STM32

这时候就已经大四了,光电其他的课设也都是随便做做没什么难度。
大四疫情,学校安排的实习是要么自己选,要么就参加校企合作的实习(同样是粤嵌)。
我懒得找,所以就参加的校企合作。
顺带一提,这个时候我已经签了一个公司,是一家做PLC的,是学长内推的,但是我工资是7.5k,学长只有6k。
在这里插入图片描述

这次学习STM32完全是从0开始学。
我们用的是标准库,一开始就是初始化串口等等,然后老师讲了位带操作。
我之前只会C51,所以到这里的时候我觉得STM32真麻烦,于是我大部分GPIO操作都是靠位带来完成的,并且自己写了一套类似于51单片机IO组输出的方式,取名为GPIO_BUS,至今还在使用。
在这里插入图片描述

老师讲的延时函数是用SysTick实现的,在后面我发现这套延时函数代码有误差,尤其是us级别比较小的延时时很明显,所以对其进行了改进。
在这里插入图片描述
也是一直用到了现在。
后面再就是中断、串口、定时器、ADC等等,然后整合起来一个系统。
在这里就衍生出一套利用定时器和蜂鸣器播放音乐的系统,当然是采用PWM,然后加上我自己写的32位整形精度频率,以及BPM、播放延时、音符间隔等函数完成了这一部分。
在这里插入图片描述
为此,也是写了好几篇博文,这一套频率定义是我用Python代码生成的C语言宏定义。

在此基础上,我加上了超声波测距,并且模仿倒车雷达报警,还加上了温湿度检测。
在这里插入图片描述

倒车雷达报警这部分是写在定时器中断里面的,距离不同,定时器值不一样,频率就不同,实时变化。
这里我就意识到定时器中断可以作为一种多线程的实现方式,也为我后面做RTOS开发打下基础。

创新实践及毕设

创新实践也是大四的课设,就是要自己想一个富有创新的系统,不用做出来。
我最后想到了idea之后,就用Python做了个demo,然后试验了一下,确实可行,于是后面就跟老师说拿来做毕设了。
在这里插入图片描述

在此基础上,还增加了网络图像推流、手势识别等,这些都是我在课外自学的,虽然不多,但也是第一次做HTML和flask等开发。
最后自己打了板,利用引脚插座组成一个适配树莓派的快插座,然后整合起来。
在这里插入图片描述

(四舍五入也算是做了全栈开发了)
然后就是论文和推优答辩,直接怼院长拿了院总分第一(原因是他问了我一个我答辩时已经讲过的问题)。毕业以后就申请软著并发表了。
在这里插入图片描述
这是当时我导师拍的,下面有的系老师就说我是不是已经参加工作了。

在做毕设期间,一直待在家里,所以顺带接了个长江大学的机创项目,然后把我毕设的网络部分移植上去,就OK了。
最后也是借用他们电信电赛实验室的示波器给我的步进电机测了个波形,因为我爸给我的太难用了。
在这里插入图片描述
这个网络图像推流部分也是做了个单独的系统分离出来进行开源,适合多个平台,所以也给室友安排了一个毕设。
也是人脸识别,只不过用最简单的方法实现的,可以说是极简人脸识别,除了OpenCV和一个验证码库外,就没有第三方库,加上我的网络系统,又给他拿了个校优。
在这里插入图片描述
这个毕设我已经半开源了。

项目时期总结

其实我并没有做很多项目,会的板子也不多,STM32也是开始找工作了才学会的,基本上就是跟着学校的来(当时我还怕不会STM32工作没法做,结果校企合作立马教会了我)。
整体嵌入式方面开发的话,Linux除树莓派外,也就一个课设;51单片机算上隔壁班妹妹的,也就两个;STM32一个。
每个课设最多也就两周时间,所以加起了最多也就一个月就能把这四个项目做完。
在这里插入图片描述
另外,像高德地图定位这个,以及几个py脚本,其实就是兴趣使然,很多时候就是想做一个玩一玩罢了。
在这里插入图片描述

光迅科技那个也是我室友的面试题,我给他做出来了以后就直接加了GUI整合了一下,也是我第一次进行这种文本处理脚本编写。
在这里插入图片描述

但是我每次做项目,我都会把每个细节搞清楚,起码我下次遇到了还会做,而不仅仅是抄代码。
同样,我也会把自己的想法往上面创新,多做一些我可以做的东西我,多尝试尝试,这也是我每次课设都能拿到专业第一的原因之一。
在这里插入图片描述

同样,在遇到一些BUG时,我也会做记录,然后反复试验找出问题所在,比如Python的二维列表操作类比C语言指针。
到现在也是如此,工作时候不管是芯片、SDK有BUG,还是我自己写代码有BUG,我都会做记录。
在这里插入图片描述
就像STM32的HAL库SPI传输,超过一定的速率波形就不连续,多次进行实验总结以后,写了篇博客,目前被搜索出来都是排前几个的。

就业与工作后

总之就是一点,找工作要自信,项目要精,多投多看多提升。有很多知识点也是面得多了才知道自己缺什么。
在这里插入图片描述
并不是项目越多越好,有几个拿得出手的项目,完全弄懂了,细节也搞清除了,面试都不带怕的。
现在公司初面就是我,我就喜欢问项目上的技术细节。
比如你说你用了UART,那么时序图总会画吧,而不是调库工程师。
在这里插入图片描述

秋招找不到不要紧,春招工资会越来越高的。
我秋招也就7*13,结果春招offer爆炸。
在这里插入图片描述

另外,再加上多看datasheet,别老CSDN。
我进公司的第一个项目就是做ADuCM4050,这个MCU网上基本没人用,没资源。
通过手册把各个外设摸清楚了以后,我也是都在博客上进行了开源,现在一搜全是我的。

就业经验及避坑

如何选

公司前景、工作环境、薪资待遇、工作内容

这一点仁者见仁智者见智 你喜欢你也可以去一些环境不太好 特别卷的公司 但注意看公司发展 尤其是招人时的码龄构成
如果每年都招好几千人的应届生 年年如此 但公司又没有年年扩张 那就说明这个公司留不住人 并且可能是个大学生都能进 没啥技术要求 对个人成长不太好

一般来说 国企待遇垫底 欧美外资待遇最高
在武汉这种大学生特别多的城市来说 央企国企卷的不能再卷了 别人5000块钱能招一个大学生 为什么要给你6000?
比如烽火旗下公司 华工控股旗下公司
我有个烽火的朋友 他们加班没有加班费 如果级别高一点 到晚上九点半有打车补助 他的领导曾经说过 要感谢领导给他们加班的机会(那时候烽火在裁员)

再就是看公司产业 嵌入式行业比如PLC这种 属于过时了但又垮不了的 就别期望太高工资了

警惕两方协议、补充三方协议、竞业协议、培训协议和违约金

三方违约金

首先 如果是走校招 违约金不得超过5000
另外 作为三方协议 学校也起到监管作用 理论上 如果觉得这家公司不太行 可以直接找老师取消三方协议即可 只需要操作一下就行了

竞业协议

竞业协议必须要给竞业费才能生效(有的公司发工资的时候 工资构成里面有竞业费)
并且在竞业协议生效期间 无论是在职还是离职 公司都必须给竞业费 不然就可以不履行竞业协议
比如签两年竞业协议 要求离职以后两年内不得从事相关行业 在职期间假设每个月给你200竞业费 那么离职两年后 每个月还是得给你200竞业费

培训协议

培训协议则必须要有完整的培训制度 包括但不限于公司内部培训和统一找第三方培训机构的培训
如果培训协议要求离职给违约金 那么必须能够开具相关用于此员工培训的所有开销发票 才能主张违约金赔偿

两方协议、补充条款

上文说到 我本科毕业最高的offer就是长江存储在上海的17500的岗位
我相信这个数字大部分本科生都拿不到
在这里插入图片描述
我当时没去的一个重要原因 就是岗位上面写的是嵌入式软件开发及测试 我当心学不到东西
当时我还在签约群里面问 我说这个该不会是外包吧?
在签约群里 三本学校人数跟清北一样多 所以不要觉得自己就比别人差

然后我就没去 (而且22年底他们一波裁员)但是写这篇文章的时候 又拿出来看 我才发现种种端倪

首先就是年终奖这一条 我问了一下 3、4月发年终奖 按这个offer的写法 过年期间离职的话 上一年的年终奖估计就没了

再就是 如果你要签约的话(无论是纸质三方还是网签) 都要签一个两方协议和补充条款
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

违约金我就不提了
但是对于考公考研这些 本来就是秋招找工作的学生哪能知道自己能不能考上 而且所有学校的三方协议上面都规定了这些不算违约 那么问题就来了

长江存储要求 就业补充协议 覆盖原本的三方协议!!!

在这里插入图片描述
就业补充协议直接替代了原本三方协议中的《违约责任》部分

大厂和小厂的区别

大厂的话 去了以后基本上就是负责某一部分 某一模块
拿嵌入式来说的话
做ST的 可能就一直做ST 甚至可能只做通信部分或者外设部分
做Linux的 可能就一直做Linux
接触的面比较少 而应届生就应该多学多看
相反 小厂就是啥都可能做
比如我一开始写ADuCM4050 后面就写STM32L4和HART协议下位机去了
再后面又开始做雷达DSP 其实这对我的提升很大

大厂可能就是规章制度比较完善 转岗都要申请 但是小厂的话 没那么多规章制度 比如我们公司现在都不加班 也不打开 说的是965 但是我每次9.30来 16.30走 只要你完成相应的工作就OK了

外包公司避坑

互联网太多外包了
除了我上面提到的 留不住人的公司外
还有那种靠接项目活的公司(没有自己的产品)
也就是接其他公司的项目 一次性做完 拿到经费就再做下一个
这种公司没有一套自己的核心产业 大多比较杂 并且没有自己的想法 都是为了甲方服务

垃圾桶里不一定有垃圾,但是垃圾一般都在垃圾桶里

首先 一上来就是心理测试 面试不进行技术面的 一定不是好公司
也不是说大厂 国企一定就不好 也有比较好的
而且大厂的话 可以作为一个跳板 只不过是摔还是跳的更高就不得而知了
不要想着自己去了就一定能做到最好(跟你一起进去的人 很多也是这样的想法)
一个公司的环境、结构 是一个人改变不了的 敬而远之就好了

如何被选

自我定位:想做啥、怎么做、能不能做、好不好做

要明白自己的优缺点 和擅长的领域
也要结合当下情况来分析
比如我当时找工作的时候 我最想做的就是光电行业相关的 再就是计算机视觉 最后才是嵌入式
但是第一个工资太低了 第二个大多要求研究生
所以后面我就转嵌入式了

另外 也要根据自己的意愿来定位 比如你就像躺平 那么就直接大厂就好了

简历:突出重点,去掉废话

简历这个是个大坑
很多人虽然没什么经历 但是就非要凑字数 其实反而有副作用
首先 像计算机二级 驾照 普通话证书 教师资格证这种 对于互联网完全没用 这就是给非互联网专业的人考的 写了就掉价
其次 什么当了班长这些也没啥用 技术人不需要会拍马屁
所以最重要的就是 做了什么项目 会哪些技术 在项目中充当什么角色 是不是自己独立开发完成 自学能力怎么样
在这里插入图片描述
这是我当时的简历 背面还有一个项目详情

面试:实事求是,敢于表现

面试不要作假 明明自己不会 非要说自己的会(伪造简历的更不用说了)
不要想着滥竽充数 班门弄斧 面试官比你懂的多了(其实我工作一年以后 也在作为第一轮技术面试官进行应届生面试筛选 回头看 其实很多小伎俩都很拙劣)

其次就是要善于表现自己的优点
比如你适合管理 那么就突出你在项目中的管理、调度等等
比如你适合研发 就得展现自己做项目时的思路、技术

喊薪:双向选择,价高者得

提前了解一下工资构成 如果是福利待遇特别高 项目奖特别多的 那么基本工资少一点也无所谓
但是 喊薪时的期望工资 还是算上总体来说比较好
尽量高一点
比如你手上有一个8000的offer 那么下次你面试就直接10k-12k

电子信息类交流
QQ群名片
注:本文转载自blog.csdn.net的嵌入式拳铁编曲MikeZhou的文章"https://blog.csdn.net/weixin_53403301/article/details/145267382"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top