心声周刊第9期丨光庭开发工程师:让抽象的技术问题变得可触可感
采访人物:S Yu 南京光庭 资深技术专家
加入光庭后,一头扎进汽车电子赛道,在多个通信协议之间,逐步构建起属于自己的技术底盘。不追逐风口,只踏实交付——这是他给自己的职业注脚。
一、职场实操・经验心得
Q:你工位上最离不开的一件物件是什么?
我所看到的很多同事工位上会摆放着照片,或者小挂件,或者小盆栽,可能这些物件会让工作带来一些额外的松弛感,对缓解工作压力有一定的帮助。我的工位一般会比较简易简洁,但是再怎么简易简洁都少不了会放一本公司纸质的笔记本,这是我工位上比较重要的一件物品,也是相对来说比较离不开的东西。
无论是和同事沟通解决技术问题,还是讨论功能需求,还是讨论技术方案,都会习惯翻开笔记本在笔记本上画示意图、画逻辑、起草案,这样能让技术问题和技术方案显得没有那么抽象,让技术问题和方案更加具象化,有利于讨论的双方更好的理解讨论的内容,也是提高工作效率的一种方式。开发项目过程中,很多技术方案都是先从纸质笔记本上的起草草图,再到最终定版的电子文档图,所以工作中纸质笔记本对我来说很重要。
Q:你参与过的开发项目中,哪一个让你印象最深?为什么?
所参与的多个项目中,有一个项目非常特殊令我印象深刻。
接触到该项目时,已经有另外一个供应商开发完项目功能的一期,并且功能一期已经是量产状态,我们接手时的需求是,需要完全复刻项目一期的功能,完成项目二期的开发。项目前期OEM未提供完备的功能需求文档,所以在参与开发项目二期时,所有的功能都需要开发人员通过实际功能的使用和对实际数据的分析,反推导出功能的实现逻辑和功能的信号数据。
这种开发方式是非常艰难的,完全是“照着葫芦画瓢”的逆向思维开发。直到项目中期OEM提供了完备的需求文档,发现项目前期逆向推导出来的功能逻辑基本贴合正式的需求文档所定义的功能逻辑。此项目让我对项目的逻辑有了更加深入的理解和了解,也收获了不少技术开发经验。
二、成长感悟 & 热爱挖掘
Q:有没有一次问题的排查,花了很长时间最后发现根因特别简单(或特别复杂)?
相信很多软件开发从业者或多或少都会有过类似的经历。软件编程从业者最应该具备的一种特性就是“细心”,而且要做到绝对的细心。编程过程中有时候哪怕是只有一个逗号或者一个空格都有可能让整个模块功能无法跑通。
近期项目开发上就经历过类似的事情,项目系统里一个进程需要和Android系统一个APP做数据通信,用的是json格式数据串定义双方的通信协议,数据通信需要编制大量的json格式数据串,由于不够细心,在大量json格式数据串里多加了一个逗号导致功能无法跑通。前期添加了大量的调试信息,甚至对模块代码做了小范围的轻度重构都未能分析排查出问题,因为最初根本就不会怀疑最简单的json格式数据串的编制会出错。
此过程也让我多悟出了两个编程思想,其一是问题往往出现在你认为最安全的地方,其二是无论是简单的逻辑还是有难度的逻辑都需要用绝对细心的态度去完成。
三、团队文化・暖心瞬间
Q :你觉得在光庭,「被看见」是一种什么样的体验?
在公司,不刻意去追求字面上的「被看见」。作为技术研发者,专注技术的研究,努力成长,努力为客户解决问题,努力为项目做贡献,让团队让公司有目共睹,肉眼可见的成长和好成绩,自然而然就会「被看见」,这…应该是一种努力后的“成就感”。
编辑手记
整理这篇稿子时,脑海里反复浮现一个画面:一个人翻开笔记本,对着同事画下一张草图。很简单的动作,却是很多技术难题破局的第一步。「心声周刊」存在的意义,就是捕捉这些平凡的瞬间,放大它们——让专注的人被看见,让朴素的经验被传递。