2020年,线上校招笔试和面试通道的开启,让我这个来自成都西南交通大学的学生,拥有了加入西安华为研究所的机会。面试结束几天后,我收到华为西研所的offer,便毫不犹豫地接受。对于我,这是一个全新的旅程,能畅游创新和技术的海洋中,就这样满怀着期待,我登上了从成都飞向西安的航班……
分享核心网第一公里团队优秀基因
“为什么让新人负责高危模块?”

我刚加入部门时,正值5G高速发展时期。怀着对5G领先技术的向往,我主动请缨参与到5G领域的软件开发项目中。但在学校时,我接触较多的是嵌入式开发相关的技术,所以我对这一转变感到了焦虑,担心自己可能无法适应这个新领域。然而幸运的是,我有一个厉害的师父,他看出了我的担忧。
“来,我给你说,我们当前做的这个功能,可实现用户一边上网,一边打电话的,具体是怎么实现的呢?通过这个特性……”在师父细致的引导下,我逐渐对这片陌生领域熟悉了起来。

很快,我遇到了第一个业务挑战:开发一个IWF(用户数据互操作网关)性能优化的需求,减少5G过度时期对设备性能的冲击。但此需求影响的场景超过100个,场景分析以及每个场景所包含的逻辑十分复杂,对于我一个新员工来说,无疑是一项艰巨的任务。
就在这时,我“赖以生存”的师父因为紧急项目封闭办公了,我面对即将转测试的需求,突然有些手足无措。在第一次需求串讲时,测试同事针对多个场景下的业务影响提出了问题,对业务不够熟悉的我吞吞吐吐,感受到了巨大的知识储备差距。因此,也出现了质疑的声音:“为什么让新人负责高危模块?”我十分受挫。
这一切没能逃过主管的眼睛,他找我进行了谈话:“项目当前仍有差距,但你意识到了主要问题,我有看到你的规划,并且进步速度很快。所以不要焦虑,你放心去做,我对你有信心。另外,无论怎样,团队都是你坚实的后盾。”
这番话给了我很大的鼓舞,我决定将压力转化为动力,以积极的态度迎接这个挑战。我梳理出当前存在的几个问题:第一,对当前业务存量场景的考虑不足;第二,对性能的优化效果缺少全量的评估;第三,缺少实验室真实对接场景的环境用于开发调测。
既然问题已经很清晰了,我冷静下来问自己,最直接的解题思路是什么?首先要解决第一点,关于场景考虑不全的问题。我根据自己已有的业务知识,用思维导图的方式分析现有场景,标注出未知点,请教熟悉业务的同事,而已经分析好的部分也会主动寻求批评指正。关于第二点,性能缺少全量的评估,我针对加入当前特性前的每个业务场景,先独立采集软件的性能监控火焰图;在加入性能优化特性后,再采集性能监控的火焰图,并进行性能基线对比。最后,特性交付迫在眉睫,我主动求助版本经理,获得了独立的两套设备硬件物料。经过几次摸索,我们成功在实验室还原了真实网元对接的设备场景。
就这样,经过不懈的努力,我熟悉了绝大部分IWF的业务场景,按时完成了业务需求,最终特性零缺陷成功交付,我也因此成为IWF产品特性的Owner(负责人),承担起更大的责任。
IWF是一项创新性的产品技术,实现第一期5G需求后,我们可以支持全网手机用户不换卡不换号。接入5G SA网络,保持架构领先,在5G过渡期可以帮助运营商快速扩展5G商用布局。当前,此特性商用在即,在市场竞争激烈的背景下,我们面临着时间紧迫和现网容量大等艰巨的考验。随着开发的推进,一些质量预警问题逐渐出现,这让我开始思考,如何才能守护好研发的质量线?
通过收集分析近一年在实验室此特性出现过的问题,我发现用例库场景模块中整合了大量历史特性,最老代码可以追溯到10年以前,而这可能会导致现网实际场景功能点看护产生遗漏。因此,我开始着手设计针对真实网元对接场景的全量用例库,但在实际设计过程中还是遇到了“阻碍”。在旧设计用例库的场景中,因为大部分针对历史特性,存在设计规格和实际情况完全不同步的情况。针对此类问题,我逐一对照记录设计新场景的功能点,并邀请设计团队专家参与评审、刷新规格、修正编码问题,最终共计设计刷新基线用例超过700个基础场景。通过这个基线用例库,我成功拦截了20余个基本场景的功能问题。在新的补丁版本中,现网问题的数量同比下降了50%,IWF产品也成功获得了产品线的“最佳质量改进奖”。
经过此次对产品特性质量改进的深度参与,新员工入职培训时的“研发质量决定生活质量”这句话于我而言,不再是纸上谈兵,我感受到代码开发不仅仅是一个个逻辑,而是会直接影响现网客户基本使用的关键要素,这也是我第一次深刻地认识到“产品质量是研发人员的尊严”。
我和5G一起“转正”
2021年春节刚过,我迎来一个重要任务——D客户第二期集采,这是D客户5G商用的关键集采项目批次,将在北京信息港举办比拼测试,而我所开发的项目便包含在其中。对于我们的产品来说,这就像是一场转正考试,我带着护送孩子赴考一般的心情,踏上了前往北京的征程。
此次的比拼内容包括功能测试和性能测试两个部分,是一场关于质量和效率的比拼,整个现场充满了紧张的气氛。为了能第一时间向客户演示,元宵节晚上,我们仍在客户机房调试设备,在实机演示所需的环境上部署好新开发的软件版本。经过不断追赶超越,我们成为第一个准备好整机系统的厂商,顺利拿到了第一个项目的验收资格。但当时的我怎么也想不到,这些汗水都只是“开胃菜”。
客户开放验收的第一天,我早上6点起床打车到北京移动信息港。由于疫情,我们采用现场隔离演示。
“叫我严姐就好。”眼前这位严姐,就是今天负责项目验收的客户。
同行的同事替我介绍道:“这是我们华为5G产品的专家,今天他负责实机演示。”我听后心里既开心又紧张,这个“专家头衔”带给我喜悦的同时,也提醒着我演示可不能出现差错。
然而,在我看来天衣无缝的方案,严姐却提出了几个实际网络变更操作上的疑问:“该方案需要新增割接操作,对于现网存量设备,会带来多少额外的工程维护费用?”
当时,我抱着规行矩步的想法:这是研发给出的方案,使用需要按照推荐的方式进行。毫无疑问,最终严姐给出结论:“当前方案不可具体实施到工程方案中,验收不予通过。”
首次验收结束后,我皱着眉头蹲在门口,一边吃着汉堡外卖,一边消化我的挫败感。我按照主管的要求开发需求,按照项目要求准备验收,但最终却被否定。我心里一直在反问自己,是哪个环节出现了问题呢?
同行的万哥端着可乐走过来,席地而坐,他扭头问我:“华为的核心价值观里面,有一个以什么为中心来着?”我望向他,恍然间发现是自己困在问题中导致格局小了,万哥的这声提醒,比多少句安慰都能解开我的心结。
原来我之前所做的,都是个人认为客户需要什么,甚至绑架了客户的需求。现在我来到一线,就是给我这个机会去了解客户的原始诉求呀!
我急忙放下手里的汉堡,赶回酒店,将客户的免割接诉求进行分解,发现主要差距在于信令自动配置、数据迁移能力等方面。最开始,我一直认为是存量的产品能力,和当前特性无关,但实际上客户需要的是一个完整的解决方案。明白了这个差距,我又翻出客户规范,逐一与软件功能进行核对,审视我们提供的解决方案可能存在的不完整的场景,记录补充后,我再次联系严姐。面对她新提出的可靠性疑虑,我通过之前准备的异常场景处理预案,逐一给出解决方案,最终获得了认可。
很快,实验室的同事全力配合发布了用于客户演示的新补丁版本。我带着产品再次见到严姐,自豪地给她讲述我们利用内部数据库迁移机制,减少了导入导出步骤。当我看到严姐脸上露出满意的微笑,我知道第一个项目验收妥了。后面的项目,我带着同样的心态,进行得额外顺利,我也真正体会到了何为“以客户为中心”。
最后一次演示结束的凌晨,客户宣布:华为在功能和性能比拼测试中完美胜出。这个消息让我欣喜若狂,付出的所有汗水和坚持都变得甜了起来,我们的5G产品在客户那边顺利转正!
这时,有同事提议:“正好时间这么早,我们一起去天安门看升旗呀?”大家不约而同地答应了。在天安门,看着国旗冉冉升起,我们不禁爆发出了欢呼声,不知是为海晏河清还是为了我们自己。
但我的喜悦可能比其他同事更多一分,因为这正好也是我新员工转正前的最后一个项目,我和5G一起转正!
而这次任务的成功也帮助我在新员工转正时拿到了“优秀”。从这个时候开始,我坚信华为是一个可以实现梦想的舞台,只要自己敢想、敢做、敢拼搏。
拥抱变化,单兵奔赴前线
从北京出差回来,我的主管找到我说:“当前版本经过客户的验收后,就需要批量上网交付,你对这块儿业务比较熟悉,希望可以将产品一手送上网。”
从开发转身到维护工作,我深知这是一次新的挑战,作为一个刚转正的新员工,一个维护经验为“0”的新手,能否胜任这份颇具挑战的工作,我还是有些怀疑,但想到师父说的“变化带来的到底是机遇还是击败你的困难,取决于你面对他的态度”,我重整心态,完成了工作交接。
我的主要任务是负责D客户的网上保障接口。第一天接到问题,面对分不清的网元版本和部署形态,我意识到维护需要很强的单兵作战能力。于是每次问题处理、操作评审,我都及时登记现网信息,并使用沙盘化的方式运作、解决问题,做到对每个局点的用户数目一清二楚。
如果说做开发教会了我如何在团队中成长,在维护的日子则培养了我单兵作战的思维和能力。刚接触维护工作时,我有过焦虑,但伴随着所看护的片区在自己的努力下逐渐运行稳定,我的内心产生了强烈的成就感和自我认同感,我喜欢上了拥有“虽千万人吾往矣”决心的自己。
后来,电信业务突发变化,我又主动承担起D和X两个运营商客户的现网维护工作。同时,在扩容问题高发时期,我临危受命,接手了产品全网扩容的专项工作。
正值5G设备容量快速膨胀时期,各个产品的每个局点几乎都要面临至少一次的扩容。 但当前现网版本是产品云服务化的第一个商用版本,底座和网元在扩容方面磨合还不够,因此面对5G用户指数级上升,现网设备完成快速、高稳扩容是客户和华为的共同的战略目标。
“如何联合平台提高当前扩容成功率?”我沉下心分析,发现有三个关键点,操作前检查,操作中应急处理,操作后改进。如果这三个关键点能完善,整个扩容专项就会像一台机器自运转起来。
我先将产品的扩容操作按照时序图的方式进行整理分析,对每一个故障点正向规划应急预案。通过表格记录每个案例,从问题中提炼操作前的检查清单和开发辅助巡检工具。最后整理复盘,将扩容前检查清单、辅助巡检工具和扩容资源模拟计算工具整合成扩容交付套件,后续扩容操作按照交付套件模板化运作。最终,我们将产品扩容成功率提升了30%。
从D客户现网接口到身兼多职,在维护部的日子,很大程度上锻炼了我的单兵作战能力。如果说开发交付特性让我感受到了团队的力量,那维护工作也让我意识到在某些关键时刻个人战斗力的重要性。有时候一个人深夜值班,我突然间会感觉自己像一名驻守边疆的战士一般,要守护一方网络平安。
“最年轻”不再是经验不足,而是无限可能
经过为期一年左右的紧张交付,现网项目接近尾声,我的脑中响起一个声音:“在维护部休息调整一下吧,下一批项目应该有一阵时间才会来。”但很快,我抹杀了这个念头,立即返回开发团队继续处理新的需求。因为当前我在现网接受了锻炼,如果能够保持着这股心气,回到开发团队一定能迸发出更强的战斗力。
我带着维护的新视角和对业务的更深认知,对自己的要求不再仅仅是按照要求完成任务,而是积极主动地与设计和测试人员沟通,以更好地理解和满足他们的需求。很快,凭借着高效且稳定的交付质量,我成为了团队里最年轻的5G微服务项目组中,同样最年轻的PL,但外界可能因此会投来质疑的眼光,那我就要用实力说话。
当前团队主要问题是经验不足,组织阵型缺失以及当前5G需求突增,团队面临很大挑战。于是,我先主动邀请HRBP在团队内召开OT研讨会,通过共筑团队共同愿景,实现上下同欲;然后,团队内需求通过FO(特性交付负责人)竞聘上岗机制,由“要我做”变革为“我要做”;接着,我们推出代码责任田2.0,采用线上线下结合运作的模式,实现每一位骨干都是田主;最后,我们以民主生活会的形式,组织全员研讨,主动挖掘当前团队的痛点,共创解决思路。在这一系列的主动变革下,团队的活力得到了激发。
年龄稍长的张哥提出:“既然现在普遍业务知识缺少,我们索性整理开发全量场景开发指南。”于是就有了整个开发部183个开发场景的开发指南,知识资产传承问题解决了,团队能力也得到了提升。
编码能力较强的小李提出:“我们自测的效率太低,可以做自动化桌面测试框架,对于配置类需求开发易错也可以工具化。”于是,团队推出产品线首个桌面Alpha测试框架——在桌面即可完成模拟现网端到端环境的测试,开发自测效率提升30%;软参配置类需求开发实现一键式自动生成代码,配置类软参需求原本需要两天完成, 现在只需要两小时。
大家怀着共同的目标,自下而上思变,敢变,会变。在最新的版本中展现出了惊人的战斗力。我们组主动请缨完成人均工作量为版本两倍的D客户四期集采需求,而且我们的质量也远超过版本要求。
版本庆功会上,版本经理对团队颁发高质量交付奖时,我内心滋味万千,我意识到一个人的能力是有限的,而一个团队的力量却是无穷的。当大家同心协力,成为一个团结的整体时,我们所迸发的力量足以带来巨大的改变。在这个团队中,我们互相支持鼓励,共同克服了一个个难题。我们相信团队的力量,并用行动证明了它的价值。当一群同心人成为了同行人,这时候“最年轻”代表的不是经验不足,而是无限可能。
“变化带来的到底是机遇还是击败你的困难,取决于你面对他的态度。”我脑子里时常响起主管的这句话,仿佛我加入华为就在昨天。回首加入华为这三年,似乎特别漫长,因为不断的变化带来的挑战有时会让我彻夜难眠;但似乎也特别短,因为每次成功拥抱变化后带给我的喜悦仿佛近在昨天。
我相信有了这样的经历,我会以更从容的姿态面对未来的风云变幻。我也会带着不破楼兰终不还的勇气,用更坚定的姿态冲破任何艰难险阻。