重大项目“转身”遭遇滑铁卢,华为这名工程师用一招实现逆风翻盘

菊厂基地打工仔 2024-08-02 03:12:37

你还记得,大学毕业那年,毕业旅行去了哪里吗?

与大多数同学不同的是,我匆忙收拾好行李,坐上火车回到江西抚州的一个小乡村——我的家。7月,正是农忙时节,水稻都熟了,我要赶紧回来帮助家人农忙抢收。

我至今仍然记得,在烈日下,当收割机完成收割后,我被父母派去拾捡那些未被收割的水稻,而他们则负责将一袋袋稻谷扛上车,拉回家。父母在田间来回奔波,大汗淋漓,看着他们因为日夜操劳而变得粗糙的皮肤和弯曲的腰,我暗自发誓:“将来一定要有所作为,让父母过上好日子。”

农忙结束后,我的脸被晒得像黑炭一样,入职时收获了人生中第一张黝黑的工卡照。

“我怎么不靠谱了?!”

入职培训后,我加入了无线存量经营解决方案部,部门主要负责4G存量网络的评估和规划,而我负责网络评估的智能数据分析与研究工具WINS iDart的开发。几周后,我跟随工具交付经理岩哥前往成都出差。在两个月的时间里,我逐渐熟悉了项目交付的各个环节。随后,我协助岩哥管理外包项目,跟踪内部项目进度,而岩哥则负责对外的需求管控和风险管理。

项目运转一个月后,一天下午,岩哥气冲冲地找到我说:“路路,你知道吗?我们的项目进度已经比预期延后了三天。你跟踪进展的方式有问题,太不靠谱了!”我怎么“不靠谱”了?我心想,上周我才过的进展,没有任何问题,这才几天,怎么会延期!我想解释,岩哥的电话响了,他放下电话告诉我:“你现在赶紧回去了解清楚情况。”我一路小跑着回公司核实了情况。原来是两个核心骨干临时有事请了一周假,而我没有及时了解到这个情况,才导致项目延期。我找到外包团队项目组长波哥,提议将之前每周过一次项目进展的频率改为每天。波哥面露难色:“你也知道,团队刚组建起来,绝大部分都是新人,纪律性和团结性差些,突然提这种要求,怕大家有抵触心理。”

“波哥,你先跟大家交流一下吧,这个版本如果我们能按时交付,说不定能拿到团队奖呢!”我发动了“画大饼”技能,期待地看着波哥,他终于答应试试。

后来,团队逐渐养成了每天早上对齐项目进展的习惯,规避了不少可能导致项目延期的突发状况。每次跟岩哥汇报项目进展前,我都要自问四个问题:当前进展如何?存在哪些潜在风险?如何应对?是否需要外部支持?对于岩哥提出的问题,我也能对答如流。

经过大家几个月的共同努力,项目如期完成了交付,我们竟然真的获得了“按时高质量交付团队奖”。在项目庆功宴上,岩哥拍了拍我的肩膀,说:“小伙子,不错啊,比之前靠谱多了。”

“转身”遭遇滑铁卢

我做了几年项目管理,2018年的一天,主管坤哥找到我说:“视频是现在4G时代的热门业务,我们部门一直在做网络评估和规划,针对视频业务的商业咨询还是一片空白,现在有个去商业咨询部门支撑、然后转身为解决方案SE(系统工程师)的机会,你要不要考虑下?”

那天晚上,我躺在床上想了很久,现在的我对项目管理已经很熟练,但这毕竟属于后端交付,相比之下,方案设计可以直接与客户对话,对方案的原理和价值也会有更深刻的理解。但这是我完全没有接触过的领域,我有点犹豫。不试试怎么知道不行?第二天一早我找到坤哥,答应了去支撑的事情。

这次“转身”并没有预想的顺利。我来到商业咨询部几个月后,跟随部门领导前往伊斯坦布尔进行视频业务拓展,负责现网用户数据的采集和分析。全新的业务领域,加上语言不通,工作开展十分困难。

数据采集需要前往客户实验室,先要获取客户书面授权和客户实验室场地临时进出权限,而且要有对应的接口人陪同进出;另外,采集的数据只有一周的时效性,到期后需及时销毁,否则可能导致信息安全违规。刚上手业务,我对采集到的很多指标都不清楚业务含义,只能逐个找客户接口人咨询,进展十分缓慢。

我拿着加班加点分析完的报告在项目例会上汇报,操着那蹩脚的英语磕磕巴巴说了近5分钟后,本地的项目负责人来了句:“Pardon?”我克制住尴尬的情绪,又复述了一遍,在大概理解我的意思后,对方又用带着浓厚口音的英语提了一堆意见,关键是我居然一句都没听懂,当时内心是崩溃的。

不出意料,报告没有评审通过,有好几个指标因为采集时间太短,结果偏差较大,需要重新采集分析。没办法,我只能硬着头皮再次联系接口人,但得到的答复却是“因为担心存在用户数据泄露的风险,客户不同意重新采数,并且态度十分坚决”。后来,在其他同事的协助下,我通过华为自有产品采集的一些用户级MR(测量报告)和CHR(呼叫历史记录)数据完成了数据分析,勉强通过了评审,但最终的结果并没有达到预期。

回国后,我感到非常失落,开始怀疑当初的决定,甚至萌生了换工作的念头。纠结了几天后,我拨通了母亲的电话。

“妈,我想辞职,我觉得我已经很努力了,但还是没法把工作做好。”

母亲沉默良久,说:“你妈没啥文化,也不知道怎么劝你,你自己要考虑清楚。”

两天后,我接到了堂哥的电话,我知道是母亲让他来劝我的。接通电话后,堂哥劝了我好多话,我象征性地回答:“嗯嗯嗯,知道了”,见我态度敷衍,他有些生气:“如果你在华为都干不出个名堂,那你凭什么相信在其他公司就能干好?”

听到这话,我感觉非常羞愧,低声说:“哥,我再好好考虑一下。”

挂断电话后,我回想起当初对父母暗自许下的承诺,4年过去了,我却仍然一事无成,内心深感愧疚。但我能干啥呢?我心里嘀咕着。

这次转身SE的经历让我对自己有了更深刻的认识,也让我获得了重新开始的勇气:由于性格偏内向,在大学又学的是软件专业,相比于与人交往,我更喜欢与机器打交道。经过一周的深思熟虑,我决定留下来,回到自己的老本行,从事软件开发。

不试试,怎么知道不行?

每年中国三大T采购5G设备前都会进行集采测试,各厂商为了获取尽可能多的市场份额,对此格外重视。2018年至2019年是5G集采的开局之年,也是奠定市场份额的关键时期,我司投入了大量人力物力研发相应的软件版本(后面简称集采版本)。

2019年,我加入成都的5G开发部门。加入之前,我曾听其他同事说:“现在5G比较缺人,工作节奏很快,很累哦,你要做好心理准备。”

“怕啥,大不了从头再来!”在有了转身SE失败的经历后,我淡定地回答。

来到新部门后,我作为特性交付责任人,承接了一个小特性(141特性)的交付,还没来得及系统地学习,问题就扑面而来——“为啥这个功能开关打开了没生效?”“这条消息给L1带的带宽字段是不是有问题?”“141小区起来了,为啥测试项启动不了?”……我立马拉上之前负责的同事请教。

“李哥,这个功能有介绍材料吗?或者软件设计文档、代码流程图也行,我想学习下。”

“没有,这些都是很早就有的功能了,之前也没有任何文档,你看看代码就知道了”,他说完发给我一个代码分支,就下会了。

因为没有任何交接材料,我就逐个需求去看代码,梳理代码逻辑,画流程图,遇到不理解的地方就找SE和测试同事求助。正是这份“执拗”,让我快速掌握了这个特性,并且将来龙去脉整理成文档,便于后面的同事参考。

面对测试反馈的问题,我从一脸茫然到游刃有余,所有需求很快也都通过了测试。加入部门第一年,我就获得了项目上的“交付尖兵奖”。这些认可让我信心倍增,也逐步打消了刚来时的顾虑。

2022年1月初,当时集采版本的代码规模已超过15万行,下一期版本如果想继承这一期的功能,需将所有代码同步到新的代码分支上,代码移植和适配的工作量很大,且适配每年都需做一次。因此,版本层面提出了“提升跨版本间代码继承效率”的要求。

“既然继承的代码规模大导致反合效率低,那减少代码规模,效率不就上去了?”接到任务后,这个想法浮现在我的脑海。但要减少代码规模谈何容易,哪些代码能减,哪些不能减?减少后怎么保证功能不丢失?这些问题又把我拉回现实。

不试试怎么知道不行,我的那股“轴”劲又来了。为了验证想法的可行性,我对十多个特性逐个调研,了解这些特性包含的详细功能点。经过近两周的调研和整理,我发现部分特性存在一些代码相似度非常高的功能,这就好比:峰值特性是“把苹果放入冰箱”,典型业务特性是“把西瓜放入冰箱”,整体流程一样,只是放的物品有差异,而且这种功能还不少。

如果能把这些相似功能进行合并,代码量可以大幅减少。根据这个想法,我提出了相应的设计思路:将各特性共用的功能下沉为基础功能,对外提供统一接口,供上层各特性使用,就像把“打开冰箱”“关闭冰箱”的步骤封装成独立的功能,峰值特性和典型业务需要使用,就直接调用对应的功能,不用再分别实现。这样既能让各特性代码共分支,又能消除相似功能的重复代码。

到1月底,当我把调研结果整理成软件设计文档,并与主管和团队软件专家交流后,他们一致觉得该方案可行,就是工作量大,担心人力投入太多会影响业务交付。鉴于该方案能带来较大的后期收益,领导最终安排了两位经验丰富的同事协助我,要求必须赶在6月底前完成重构的任务,因为7月份就大规模启动新需求开发了。

前4期集采都没有做过类似的重构,所以没有任何经验可以借鉴。但为了在既定时间完成如此大规模的重构,我们3人按照截止时间倒排计划。那段时间我们白天到处找专家请教,晚上一起查代码重构相关的资料,还经常因为某段代码的实现争得面红耳赤,甚至早晨刷牙的时候我都在想:这段代码逻辑为啥这么写,是不是可以再优化下……

5月中旬,我们完成了所有框架代码和业务代码的重构开发,接下来就是紧张的上板测试。距离交付时间只有一个半月,为了提升测试效率,我们搭建了3套测试环境,每人使用1套,测试不同的功能。经历了1个月的“发现问题-讨论方案-修改代码-测试验证”循环后,终于,在6月20日,我们提前10天完成了所有重构功能点的上板测试,测试结果均符合预期。

这次重构使得2022年代码继承耗时减少了55人天,效率提升超过50%,极大减少了公共功能的后期测试工作量。我们也因此获得了“成研无线5K好代码”“无线软件好模型”“无线软件CQIC(能力建设与质量改进委员会)优秀实践”的奖项,我也被评为“无线优秀工程师”“研究所十佳Committer”。当我把荣誉证书拿回家里后,我爱人第一时间把它摆在酒柜上,从来都不肯去外面餐厅吃饭的母亲,那天开心地和我们一起去吃了顿海鲜大餐。

也许我还没有兑现当初“要有所作为”的承诺,但看到家人为我的成绩分享喜悦的时候,我便暗自庆幸当初的选择。未来的路还很长,家人一直是我坚强的后盾。

回首过去9年,我经历了两次转身,过程中没有太多的鲜花和掌声,更多的是痛苦、挣扎、怀疑、自我否定,但我想说:世界上唯一不变的东西就是变化。面对变化,找到目标,保持自己的定力,快速适应,突破成长。谁无暴风劲雨时?终有一天,你会守得云开见月明。

0 阅读:0

菊厂基地打工仔

简介:感谢大家的关注