我最近制作了一期播客节目,主题是“系统工程师”。三位嘉宾,一位是底盘电子系统工程师,一位是自动驾驶系统工程师,还有一位是赛车行业的固件和软件工程师,和我一起探讨了这个在我看来既无所不知又无所知的职位。通过与他们的对话,我对系统工程师这个角色有了更深刻的理解,也意识到它远比我想象的要复杂和充满挑战。
初创公司 vs. 大型企业:两种截然不同的工作方式
许新熠,一位在自动驾驶初创公司和大型企业都工作过的工程师,清晰地展现了两种工作环境的巨大差异。在初创公司,工作方式灵活,文档相对较少,一切以快速迭代和原型开发为导向。目标是迅速验证想法,并不断改进。他将自动驾驶的研发比作从0到99%的过程,强调在这一领域,量产案例的缺失意味着“完美”永远是追求的目标,而非现实。
大型企业则截然不同。流程规范,文档要求极其严格,甚至精确到螺丝钉的螺纹设计。这种严格的文档要求是为了保证可追溯性,降低潜在的法律风险,避免重蹈福特皮卡召回事件的覆辙,以及麦当劳咖啡烫伤案的教训。 这就好比中国古代的史官,一丝不苟地记录着历史的每一个细节。然而,这种极度详细的文档也可能成为被诉讼的把柄,成为法律纠纷的证据。
从控制工程师到系统工程师:一个不断演进的角色
岳凯的职业经历则展现了系统工程师角色的演变过程。他从控制工程师起步,在马瑞利工作时,主要负责将系统需求转化为软件需求和技术文档,工作方式以文档驱动为主。 这套流程成熟而完善,如同一个经过多年打磨的精密机器。
然而,在赛车行业,一切变得更加快速和灵活。他需要在极短的时间内解决问题,进行快速原型开发,文档相对较少。 他甚至需要亲自进行一些简单的编程工作,这与在马瑞利时专注于文档编写的工作方式形成了鲜明对比。 赛车行业的系统工程师更像是一个“全能战士”,需要掌握多方面的技能,并能够快速应对各种突发情况。 这更像是一个不断试错、快速迭代的过程,与初创公司的开发模式有异曲同工之妙。
系统工程师:一个模糊但重要的角色
我的个人经历中也曾接触过系统工程师相关的职位,但一直对其缺乏清晰的定义。通过与两位嘉宾的交流,我发现系统工程师的概念非常宽泛,它取决于公司的规模、成熟度以及项目类型。在小型公司或项目中,系统工程师更像是一个“自由人”,需要承担更多职责,而大型企业则更注重流程和文档,工作范围更明确。
系统工程师的角色,就像篮球比赛中的自由人,需要在各个位置之间灵活切换,补位和支援。 他们需要具备广阔的视野,能够理解整个系统的运作方式,并能够在关键时刻解决问题。 这需要丰富的经验和强大的学习能力。
总而言之,系统工程师是一个充满挑战和机遇的职业。 它既需要扎实的技术功底,也需要灵活的思维方式和强大的问题解决能力。 它是一个不断演进的角色,其定义和职责会随着公司规模、项目类型以及行业发展而不断变化。 而这正是这个职位最迷人之处。
系统工程师的核心职责是协调和整合不同领域的工程需求,确保系统的整体功能和性能。他们需要将客户或系统的需求转化为具体的实施方案,并与控制工程师、软件工程师等合作,确保系统从设计到实现的每个环节都符合要求。系统工程师还需要负责文档编写、需求分析和测试验证,确保系统的可追溯性和可靠性。
系统工程师的角色在不同行业中差异较大。在传统汽车行业,系统工程师通常负责将客户需求转化为技术文档,并与控制工程师和软件工程师协作。而在赛车行业,系统工程师的工作更加广泛,涉及整车的电子系统设计、维护和问题解决,甚至需要快速响应比赛中的新需求。在自动驾驶领域,系统工程师的工作更具探索性,因为行业尚未成熟,他们需要从零开始建立流程和系统。
赛车行业的系统工程师与量产车行业的系统工程师的主要区别在于工作节奏和职责范围。赛车行业的系统工程师需要快速响应比赛中的需求,进行快速原型开发和维护,且工作流程较为灵活,文档较少。而量产车行业的系统工程师则更注重流程的规范性和文档的详细性,以确保系统的可追溯性和安全性。赛车行业的系统工程师通常需要具备更广泛的知识和技能,因为他们需要处理整车的电子系统,而量产车行业的系统工程师则更专注于特定领域。
文档在系统工程师的工作中至关重要,因为它确保了系统的可追溯性和责任的明确性。在大企业中,文档详细记录了从设计到生产的每个环节,包括需求、测试结果、审批流程等。这不仅有助于在出现问题时快速定位原因,还能在法律责任纠纷中提供证据。此外,文档还能帮助团队成员理解系统的设计和实现过程,确保项目的连续性和一致性。
在初创公司,系统工程师的工作更加灵活,文档较少,流程较为简化,通常需要快速迭代和响应变化。而在大型企业中,系统工程师的工作更加规范,文档要求非常详细,流程复杂,涉及多个部门的协作和审批。初创公司更注重快速解决问题和推进项目,而大型企业则更注重流程的规范性和系统的可追溯性。
赛车行业的系统工程师需要快速响应比赛中的突发需求,通常通过快速原型开发和灵活的流程来实现。例如,当车手提出在显示屏上增加新信息的需求时,系统工程师可以迅速找到相关信号并通过软件将其显示在屏幕上。赛车行业的电子系统通常支持快速刷写和修改,系统工程师可以直接编写简单的代码并立即应用到车辆中,确保在短时间内满足需求。
在自动驾驶领域,系统工程师面临的最大挑战是行业尚未成熟,缺乏可参考的标准和流程。自动驾驶技术仍在探索阶段,系统工程师需要从零开始建立系统需求、测试流程和验证方法。此外,自动驾驶系统涉及大量的传感器、执行器和复杂的控制逻辑,系统工程师需要协调多个团队,确保系统的安全性和可靠性。由于技术更新迅速,系统工程师还需要不断学习和适应新的技术和方法。
在赛车行业中,系统工程师的工作流程通常包括车辆的整备、维护和问题解决。每次比赛前,赛车会被完全拆解并重新组装,系统工程师需要配合电子技师检查所有电子系统的工作状态。在比赛中,系统工程师需要下载和分析车辆数据,及时发现问题并与团队沟通解决。此外,系统工程师还需要快速响应车手的新需求,进行快速原型开发和系统调整。
在传统车企,系统工程师通常使用Simulink和MATLAB等工具进行系统设计和代码生成,流程较为规范和标准化。而在赛车行业,系统工程师的工具使用更加灵活,通常需要直接编写简单的代码并快速应用到车辆中。赛车行业的电子系统支持快速刷写和修改,系统工程师可以直接通过软件进行系统调整,而不需要复杂的工具和流程。
赛车行业的系统工程师在工作中的压力较大,尤其是在比赛前后。比赛前,系统工程师需要配合团队进行车辆的整备和维护,确保所有电子系统正常工作。比赛后,系统工程师需要快速下载和分析车辆数据,发现问题并及时解决,为下一场比赛做准备。由于赛车行业的节奏非常快,系统工程师需要在短时间内完成大量工作,且不能出现任何疏漏。
【节目简介】
机械工程师懂机械
电子工程师懂电子
软件工程师懂软件
那
系统工程师呢?
本期《孤岛车谈》我和两位从事过系统工程师的朋友一起聊聊这个在我看来无所不知却又无所知的奇特职位——系统工程师。
【话题成员】
罗新雨 底盘电子系统工程师
许新熠 自动驾驶系统工程师
岳凯 WRC的发动机和电力系统的固件和软件工程师
罗新雨个人微博@大众风Volkswind
剪辑 ATTC埃科公司,罗新雨
片尾曲 Why Always Me by 罗新雨&Suno (2025)
【时刻文稿】
4:18 简单介绍三个话题参与者的背景
8:49 岳凯在马瑞利做系统工程师的经历
17:30 许新熠在Tusimple做系统工程师的经历
22:14 岳凯在WRC车队做系统工程师的经历
33:25 文档驱动型和敏捷开发型的系统工程师
【参考链接】
新熠在Tusimple的经历(中文,2024):https://www.xiaoyuzhoufm.com/episode/66549d2b75f2e39409d4bc24
麦当劳咖啡太烫诉讼(英文,维基百科):https://en.wikipedia.org/wiki/Liebeck\_v.\_McDonald%27s\_Restaurants