当前位置: 首页 > news >正文

我毕业后的8年嵌入式工作

前言:

  • 2015年毕业,2016年工作到现在已经过了8个年头,借着征文,做个简单的回顾与总结。

  • 2015年从广州番禺职业技术学院毕业,学的是嵌入式技术与应用,我的下一届学弟学妹变物联网了,算是绝版专业了吧。出来后谨遵校训学以致用,就去找嵌入式软件开发的工作,并开始了我8年嵌入式开发的工作,根据工作的公司,我简单的分为了三个部分,A公司5年半,B公司一年半,C公司1年半。

  • A公司5年半。在2016过完年后,回到广州,找到了第一份正式的嵌入式开发工作,其实当时面试的时候,研发总监问我很多题我都没有答上来,我都以为没有希望的了,最后是总监给了我工作的机会,我还挺感激的,当时真的挺没有信心的,小白一个,很多东西都是略懂皮毛。不过我的试用工资是3000,转正是3500到4000,我在前三个月的试用中,还是很努力的,也很喜欢做一些工具的优化,当时是做linux应用开发,就是在机房监控主机里面,对接不同类型的设备,做协议对接,当时有个协议有个叫电总协议,要模拟调试这个协议,需要使用两个工具来做模拟数据,一个是控制台程序,一个是校验计算工具,我觉得很麻烦,也不利于调试,我就利用自己在学校学的QT4的皮毛,做了一个电总数据生成器,比原来的控制台程序输入更方便,还自动算校验,不需要另外算校验,还支持多数据类型的输入,做好之后,就推广组内使用,得到了总监的表扬,在三个月后的转正,直接给我拉满到4000的工作,那时候还挺开心的,在第二年的评奖,没有意外的获得了优秀新员工的证书和奖金,第二年的工资也涨到了5000.后续每年都有工资涨,也有很多新东西学,最初的linux应用开发,熟悉了机房设备的相关构造,熟悉了linux下的C++开发,还挺喜欢那个框架,告警独立进程,服务器独立进程,串口设备独立进程,底层服务进程直接,使用消息中心来做通知,共享内存了共享实时数据,还有appweb网页进程,里面跑的是PHP,底层和网页交互都是使用xml来共享实时数据,数据库来共享配置数据和历史数据。还有好玩的rcbox工具,其实就是仿照linux的busybox的做的工具箱。我们的常用命令都是通过链接的方式链接到busybox里面的。学了linux的交叉编译模式,有编译服务器和板子挂载调试。学了makefile和bash脚本,我们不同配置启动都会有不同的启动脚本,来辅助开启不同的进程,还有一个比较有意思的是守护进程,用的是一个运行脚本,监测目标进程,一旦进程意外挂掉,可以自动拉起来。也是很新奇的东西。我也喜欢CSV的方式来处理协议的查询数据和解析数据,代码可以做得十分通用,代码量少很多条件判断。后面还接触了单片机的开发,我看到了单片机可以通过linux升级外,还可以通过单片机升级单片机,就是把从机的编译后的文件,转为头文件,直接在主机里面编译包含进来,升级的时候直接发送数组数据即可,也是挺好玩的。还尝试做过安卓底层,那时候安卓一体屏的方案是安卓里面使用app,通过php吧底层数据推送给app显示的,想把我们的监控程序做进安卓底层,在这里也学会了SVN来管理代码,后面也做了嵌入式的小组长,这是我第一次有了所谓的头衔。这个就是协助新员工熟悉工作,组员有问题的时候,协助解决,我也做了很多文档,方便新员工快速适应开发,也进行了多次技术培训。后面公司分了一部分人做新能源充电桩,我又有了新的学习机会,我有学习了新能源的国标,也经历了软件重构的过程,是面相对象的的思维去做,也经历过芯片换代,自己从0开始做一个单片机程序。期间还去参加了软考嵌入式系统设计师,18年拿的证,然而并没有什么卵用,学了5年后,就想着去外面看看,提出了辞职。

  • B公司一年半。来到了第二家,这家是做GPS车载追踪设备的公司,我发现这个公司测试非常专业,有了硬件相关指标的测试,我第一家是几乎没有的,第一家测试基本都是纯黑盒软件测试。这家主要是做单片机的,我的linux几乎就没有用了,我但在这里加强了我对单片机的理解,这家我觉得比较有意思的是,单片机打包可以用批处理脚本,多次自动打包多个版本,这个公司学院打包三种包,2G一种,3G一种,4G一种,批处理脚本一键搞定。知道了,串口0不仅仅可以用来打印,也可以接受输入,作为命令输入的。这家还接触到了OPEN方案,就是基于模组的SDK开发,对于外设少的设备,可以考虑用open方案,来省掉一个MCU。还学习了4G模块的CMUX用法,就是一个串口可以复用为多个功能,比如短信口,语音口,数据口,做成多通道虚拟串口。转正后,我很快也是担任了小组长的角色,代表收集组内的开发进度,参加每周例会进行工作汇报,也对工作流程特别是研发的相关流程进行梳理。这个公司是做外贸的,销售的老大是外国人,我和老外除了简单的打招呼,基本都是WeChat交流,翻译功能帮我很多,但要注意一下,自己翻译的时候尽量检查一下,有时微信的边写边译功能是乱翻译的,一定要语句结构完整,省略主语啥的,最好不要,不然就乱翻译,很尴尬。和老外共事发现,老外都是能听懂散装英语甚至中文的,我见过,老外讲英文,工程师讲中文,都能无障碍沟通的。后面因为我个人原因想要更换到广州南沙,离开了这个公司。

  • C公司一年半,离开了天河,来到南沙,也来到了第三家公司,这家公司可以称之为毛坯,资料毛坯,上个工程师遗留的半成品代码(几乎不能用),没有任何设计文档和需求文档。人员毛坯,研发就我顶替了一个原来的软件,公司有一个结构,一个软件外包,一个硬件外包,测试也没有。工具毛坯,仿真器,服务器,工具都是我要求买的。系统毛坯没有SVN进行代码管理,没有研发OA流程,没有缺陷管理系统,我来这里是很大的挑战,也是我很好的实践场所,我首先,买了研发内网服务器,搭建了SVN服务器,搭建了禅道内网社区版本用于缺陷管理,简单的建立的研发到测试的测试流程和测试到生产的发布流程,资料都在SVN里面归档和设定权限。后续根据时间情况需要,为公司搭建了外网升级服务器,包含了http文件服务器和ftp服务器,还优化了SteVe OCPP调试平台。关于盗版软件的使用问题,我当起了网管,设置了内网路由过滤,研发电脑不允许出路由,均采用远程桌面的方式进行上网。也进行了多次技术培训,包括禅道,SVN等等。


http://www.mrgr.cn/news/58088.html

相关文章:

  • 工具_docsify
  • centos服务器重启后,jar包自启动
  • 【论文阅读】SRGAN
  • OceanBase 2024发布会精华盘点,这些亮点不容错过
  • perl双引号内字符串的反斜线转义
  • 面试知识梳理
  • 1024玩码神挑战赛,太太太上头了!!!
  • 虚拟机配置静态IP地址(人狠话不多简单粗暴)
  • Lucas带你手撕机器学习——朴素贝叶斯
  • 微知SOP-定位Linux crash问题的几个常用方面和常用命令?
  • php命令执行的一些执行函数----以ctfshow靶场为解题思路
  • 超级加速:轻松发现开源项目的终极秘籍
  • 文本相似度方案
  • 【OS】2.1.2 进程的状态与转换_进程的组织
  • 关闭或开启Win11系统的自动更新
  • 软件部署-Docker容器化技术(二)
  • Electron调用nodejs的cpp .node扩展【安全】
  • 【软件工程】软件项目管理/工程项目管理复习资料
  • 案例研究|DataEase嵌入式版助力软件开发商提升行业软件交付效率
  • SAM:Segment Anything
  • LSTM(Long Short-Term Memory,长短期记忆网络)在高端局效果如何
  • 新增Python运行环境、支持病毒扫描和计划任务短信告警,1Panel开源面板v1.10.20 LTS版本发布
  • 《计算机视觉》—— 换脸
  • 等差数列、等间距数据、等间隔数字、时间序列生成 by range(), arange(), linspace(), logspace()
  • Java-内部类
  • C++(面向对象、封装性、构造函数)