在 Momenta 实习三个月了,简单记录一下这段时间的收获。
这段时间很幸运有机会从零开始推进一个针对自驾系统落地痛点的平台的设计与开发,深度体验了从需求分析、技术选型、架构设计、原型实现,到推广使用、收集反馈、迭代优化的过程。其中最 exciting 的部分当属琢磨如何设计这个平台的架构来满足关键设计目标,以及解决开发过程中的一些有趣的技术困难。
实际效益方面,一些原本需要上车超过半天且反复进行的过程,现在只需坐在办公室离线调测,将每次迭代时间缩减到了半小时以内,大幅提高了调测效率;同时,设计上的通用性带来的附加功能意外地取代了某些收费且难用的工具;未来这个平台进一步完善后还可能成为公司开发用车上的标配。看到自己开发的平台有实用价值并被越来越多的同事使用起来是非常有成就感的。能够取得这样的效果,根本上在于 mentor 从纷繁的工程困难和现象中找到了有价值的方向,这种洞察力是一个项目成功之根本,也是我始终需要学习和提升的。
这段时间能持续高效推进项目,离不开过去两年读博期间的成长。过去两年在港大读博期间的经历和导师孜孜不倦的教诲培养了做好顶层规划、区分任务优先级、权衡多个选项的利弊、先做好决策再执行等关键意识,避免了想到什么就干什么、在错误或不当的方向上耗费时间和精力。
期间为了设计好项目架构,还读了一读《架构整洁之道》这本书。印象最深刻的是:软件系统有两个价值维度——行为价值和架构价值。如果某程序可以正常工作(当前的行为价值),但是无法以可接受的成本修改(不具有架构价值),那么当需求变更的时候它就不再能够正常工作了,我们也无法通过修改让它能继续正常工作,因此这个程序的价值将成为 0。
这段时间也深刻认识到,自动驾驶(包括 L2 L3 及更高级别)是庞大的系统工程,相关算法的出现点亮了希望的曙光,但要真正的落地,仍需解决大量的硬件关联、信号交互、条件触发、状态跳转等工程问题,这需要许多微小但实用的技术创新,把人工变为自动、把易错变为稳健,这种意识应该与具体的知识技能同等重要。在流浪地球 2 中设想的自感知自适应自组织系统出现之前,始终要由人来面对这样的复杂度。希望接下来的时间里能继续做出好的成果,小小地推进自驾规模化落地。