我相信很多人都有这种经历,应聘的开发岗,但是每天都是干杂活,根本没机会接触核心知识技能,感觉在干下去人就废了,加上时不时的裁员风声更是让人焦虑。几年前,同一个科室的兄弟小杨,。他985硕士毕业,冲着"嵌入式软件开发"的光环来的,结果项目正好进入集成测试冲刺阶段,被借调去"支援测试三个月"。三个月变半年,半年变一年。他每天的工作就是按照测试经理给的用例,手动操作车窗升降,记录结果,或者在台架上跑别人写好的自动化脚本。有天晚上加完班,他蹲在公司楼下抽烟,问我:"哥,我现在都不敢想跳槽的事。简历上写一年开发经验,面试官一问,我连AUTOSAR的ComStack怎么配置都说不清,这辈子是不是废了?"
当时我跟他聊了很多,后来他走出了困局,现在已经是某头部Tier1的软件架构师了。我把那些话重新梳理,写给你。

一、先别急着否定自己:给你泼盆冷水,再给你颗定心丸
这盆冷水是:你现在的焦虑,80%的新人都经历过,尤其在极度强调流程和安全的汽车电子行业。 这不是你的错,是这个行业项目驱动的特性决定的。一个ECU项目,V模型的左半边是需求、架构、详细设计,右半边是单元测试、集成测试、系统测试。很多时候,新人入职时项目正处于"右半边"的下半场,最缺的就是测试执行的劳动力。把你放上去,对项目经理来说是最"合理"的资源调配。
但我要给你一颗更重要的定心丸:你现在干的"测试的活",恰恰可能是你未来成为顶级开发工程师最稀缺的养分。 你现在觉得本领没长进,是因为你对"本领"的定义太窄了,你把它等同于"写代码"。但真正拉开工程师差距的,从来不是敲代码的速度,而是下面这三样东西:
| • | 对系统深邃的理解力 |
| • | 一眼看透Bug本质的诊断力 |
| • | 让软件坚不可摧的防御性思维 |
这三样东西,坐在工位上对着架构图空想,想不出来。只有浸泡在测试里,用各种匪夷所思的场景去折磨产品,才能刻进你的骨髓。所以,你觉得自己没长进,其实是你在水下扎根,还没感觉到破土而出的那一刻。
二、破局第一步:把你手头"测试的活",全部重做一遍
别再用"打杂"的心态对待手头的工作了。从明天起,拿出开发者的灵魂,对你的测试工作进行一次降维打击。你会发现,遍地都是原本看不见的成长机会。
测试同事给你的用例,绝不是凭空冒出来的。每一条"在电压9V,温度-30℃下,触发防夹",背后都对应着一条严苛的功能安全需求或法律法规。
不要光点"PASS/FAIL"。去问,去找:
| • | |
| • | |
| • |
当你开始这样思考,你就在脑子里反向还原了整个软件架构设计。 一个只会写代码,看不懂需求和架构的工程师,永远是底层的码农。

你说你每天都在跑自动化脚本,毫无技术含量。那些脚本是用Python还是CAPL写的?它们是不是结构混乱,一个函数一千行,全是硬编码?这就是你天大的机会!
你完全可以向上级提出来:"现在这个回归测试脚本维护成本太高,我想用面向对象的思维重写,把CAN信号收发、诊断服务调用、台架控制封装成独立的库,提升复用性,减少未来脚本开发时间。"
你看,这不就是正儿八经的软件框架设计、接口定义和代码重构吗?你还能引入Git做版本管理,用Jenkins搭一套CI持续集成流水线,让脚本每晚自动运行并发送报告。这些活干完,你不仅能光明正大地写在简历上"主导了自动化测试框架的架构设计与重构,测试效率提升40%",更关键的是,你锻炼了作为一个优秀开发者最重要的工程化能力。
只会抛出Bug的测试,是初级测试。能解剖Bug、定位根因的测试,才是开发团队梦寐以求的黄金搭档。
下次你发现"车窗防夹反转延迟超过50毫秒",不要直接提单。拿起你的武器:
| • | |
| • | |
| • |
你提交的Bug单,要从"现象描述"变成"根因分析报告"。 当你多次精准地把一个表现层的测试问题,直接指向代码的某个可疑函数或配置项时,开发经理看你的眼神都会变。我见过太多这样的例子,一个聪明的测试工程师,因为诊断能力远超普通开发,直接被开发部门的老大挖走。
三、破局第二步:工作8小时外,打一场"目标精确的游击战"
工作内的修炼让你吸收了深厚的内功,但要真正转回开发岗,你还需要一把能证明自己的"利刃"。你需要用业余时间,悄无声息地提升战斗技能。
你的策略不是全面开战,而是单点突破。 针对你最想去的开发方向,打一场"歼灭战"。
如果你想做应用层控制策略开发:
不要啃C语言语法书了。去淘宝买一块带CAN接口的ARM开发板,200块钱以内。然后,给自己下一个战书:独立实现一个带防夹算法的一键升降车窗控制器。 从用Simulink搭建电机和车窗的物理模型开始,到设计状态机,再到用Embedded Coder生成代码,下载到板子里。用你公司里学会的CANoe,去仿真车身网关,和你的小板子通信。当你把这个小项目完整地做完,你对模型开发、代码生成、底层集成、通信调试的整个链条,会有脱胎换骨的理解。去面试时,把这个板子摆出来,胜过千言万语。
如果你想做AUTOSAR基础软件工程师:
你的学习路线图就是AUTOSAR的分层架构。先去Vector或EB官网,找它们的免费培训文档或社区版试用。一步步来,这周攻克通信栈:理解Com、CanIf、Can、PduR这些模块的配置和互动,在工具里配出几路周期性CAN报文。下周攻克诊断栈:配置一个DTC,让你的小板子在收到19 02服务时,能把这个故障码发出去。每次只攻克一个模块,亲手配置,亲手验证,并把遇到的坑和解决方案写成博客。几个月后,你对AUTOSAR的理解,将远超那些只在项目中被动使用一两个模块的同事。

四、站在裁员的悬崖边:如何为自己打造"反脆弱"体质
公司效益不好,裁员如影随形,这确实让人心生寒意。但危中有机,你需要换一个视角来看待风险和自身价值。
1. 成为那个"连接节点",而非"螺丝钉"
纯粹只会写C代码的开发,和纯粹只会手动执行的测试,在降本增效的大刀下,都是高风险的"可替换零件"。但如果你是那个既懂开发逻辑,又深谙测试门道,能独立搭建HiL环境,能写自动化脚本,还能跟开发据理力争需求缺陷的人,你就是团队的粘合剂和加速器。 这种T型甚至π型人才,在任何团队都是稀缺资产,裁员名单上,你的名字会排得很靠后。
2. 你积累的"测试思维",是你对抗AI替代最坚固的铠甲
现在的AI大模型已经能生成七七八八的代码了,但AI能设计出一个严密的集成测试方案吗?AI能理解"冬天窗框结冰"这个物理世界,并将其转化为一个电压扰动加电流爬升的故障注入模型吗?不能。你对真实世界复杂性的深刻洞察,对系统失效模式的直觉,是机器无法替代的。 这种从测试中淬炼出的"负向思维能力",是你未来十年职业生涯最稳固的护城河。
3. 随时准备着,把"测试"的故事,讲成"开发"的故事
你现在最焦虑的,是简历怎么写。其实,简历上工作内容的描述,完全取决于你看待它的角度。我们来看个变魔术的例子:
❌ 平庸版描述
"负责某车型车身域控制器车窗功能的系统测试,执行测试用例,提交Bug,维护测试台架。"
✅ 惊艳版描述
"深度参与某车型车身域控制器车窗功能的开发验证。基于对AUTOSAR通信栈和UDS协议的深入理解,设计并实施了覆盖功能安全ASIL B等级的异常工况测试方案;通过CANoe二次开发和CAPL编程,构建自动化回归测试框架,将版本验证周期缩短30%;主导了多个疑难Bug的根因分析,定位出NVM存储时序与通信启动的冲突问题,并给出修复建议。"
看到了吗?你干的还是那些事,但因为你拥有了开发的视角和系统思考能力,它们全都变成了闪闪发光的"开发交付物"。当裁员真的来临时,你递出去的,就是一份充满竞争力的开发岗简历。
写在最后
根扎得深,是为了日后长得更高。
你现在的沉默扎根,是在为自己未来的爆发积蓄最磅礴的能量。
别急,稳住,把手里这副看似不好的牌,打成你自己的王牌。

面试
资料
学习
路线
学习
指导
多名10年+大厂经验
工程师在线指导
学习
交流
众多开发者一起交流
助力你提升技能
夜雨聆风