最近,和自己合作一起做一个特性仿真的同事Z哥要离职了,这一星期要把他负责的工作交接给我。
从开始启动交接到今天基本收尾,短短几天的过程中,自己就有不少收获,记录之。
最想说收获的还是一种感觉:要对工程项目、对工作细节有敬畏,不要马虎,不要想当然,不要过于自恋,一定要协作。
起初刚开始知道Z哥要离职,接到交接工作的任务时,我自信满满,主观觉得“应该很简单”,因为Z哥负责的部分是以我负责的模块为底层,80%的组件都是复用我的,我主观上觉得没有多少内容。不过,自己还算是严谨了一点,先思考了一下,列出来了一下交接的表单,事实证明,写出来就总比拍脑袋一想要好一点。
前天Z哥花了点时间对着工作站代码给自己前前后后讲了一遍,本来自己以为一个小时就能结束的讲解,实际上讲了快两个小时,并且重要的是,有些部分就是自己最开始没有想到的,这就是为什么不能想当然,一定要充分的和别人协作。自己总有很多部分是想不到的,况且还是别人主要负责的工作。
整理理顺下来发现东西就挺不少了,昨天又花了半天时间把Z哥讲的方方面面的重要的东西写成文档记录一下,在写文档的过程中,又发现有两个细节点自己无法梳理通,这在Z哥给自己讲的时候自己和Z哥都觉得这两个点我下去自己去看技术文档就可以搞定,但实际上就是没有那么快的搞定,这又是一个“实践出真知”。
然后就到了今天,为了防止理解有偏差、不对齐,领导要求反串讲,也就是我自己再给Z哥讲一遍,看看我们两个是不是理解的一致了。我就对着我昨天整理的表单,从前到后说了一遍,然后那两个技术卡点当场又问了下Z哥,这次还有leader也在旁听,然后在Z哥和leader的帮助下,自己较为快速的解决了这个卡点,并且还有一个点也是Z哥讲不清楚细节的,因为这个点也是另外一个人交付给他的。这个过程中,我再次体验到了“人多力量大,要擅于适时的求助别人,不要过多的自我封闭,明明找一两个人几分钟能解决的事,自己非得花上一两个小时,这不是一个合格的工程师的应有素质,自己必须继续训练这方面的能力”。在反串讲过程中,leader还发现了自己梳理的文档中理解不到位的地方,又是一点收获。
这还不算完,反串讲完,leader又提醒了自己一句,“有时间把用例和回归都跑一遍,确认都能跑起来,如果有问题这两天再问问Z哥”,我第一个反应还是“都这种程度了,还能有什么问题?肯定没有问题了...”,结果现实又一次打了脸:回归一跑就出错了,自己也分析了下原因,看了看现象,大概知道怎么回事,但还是老老实实的给Z哥发微信确认。果不其然,还有一些步骤是要注意的,起初他也没有想起来,接着他又想起来了一些其他的细节,自己又补充了一点,直到了今天晚上加完班,算是把所有的内容彻底的搞全了。
回顾来看,Z哥负责的部分并不算多,大部分底层模块还是自己提供的,但是就是这起初让自己觉得“能有多少东西,半天就搞完”的交接,实际上搞了两天多快三天,起初自己的想法就是“他给自己讲一下就完了嘛,没啥复杂的,就自己看看也能搞定”,但实际上回顾看,从Z哥给自己讲之后,又经历了自己写记录文档发现疑问,反串讲时发现新东西,再实际运行仿真用例又发现遗漏内容,这中间不光是自己对自己很“自信”,更为资深的Z哥也是,但是实际上他也在事后又想起来不少东西,中间亏了leader的提醒...
就这么一个不大的事儿,就又让自己体验到了“工程的严谨性,凡事不要想当然”,对于一个写代码的工程师而言,就是要用最终的结果来说话的,这中间即使是有一个步骤有遗漏,那就是没有结果。而自己长期以来恰恰有拍脑袋觉得“能有多难”、大意的问题,这和自己整个人的状态有关,本身自己的个性可能就是偏感性、散漫的,然后又可能在各种EMO之下更加的心不在焉,所以经常漏洞百出,这不是一个工程师该有的状态。这也是这些年自己一直遭遇、也一直在解决的问题,到了今天也算是有点进步了吧。
这一次感觉挺好有收获,突然就有了一种“完整、闭环、协作、高效”的感觉了,我觉得可以种下一个“心锚”了,下次再做一件事时就可以回想下这次的感受,链接一下,让自己沉淀下来,不要心急不要躁。
“Talk is cheap,show me your code”, 相信自己能越来越成为一个严谨的、靠谱的芯片工程师!