华为22年,49岁,然而他一直在编码!

单片机爱好者 2022-04-13 18:30


“阮师傅,你准备啥时候退休啊?”这是很多同事见面常问我的一句话。也有不少人问我,为什么能在一个领域的研发坚持这么久?我每次都回答:“路由器我还没干够呢。”
  

可能有人会觉得这个回答很官方,但对我来说,是真心话。
  

在路由器领域,可能有很多人都认识我,因为我在这块工作20多年了,而且一直在研发一线。与其说是适应或者习惯了华为的研发文化,倒不如说,这些年华为路由器业务从最初的一无所有到如今高速发展,我们经历了一个又一个软件技术的挑战。这些挑战,让我可以发挥自己的特长和优势,更引领我一路向前,不断发现不足,缩小差距,我更期望有生之年能尽绵薄之力和公司同仁一起推动华为路由器软件做到世界第一。


在研发的大熔炉中找到初心

    

1996年,在某国企学校当了两年老师的我,正在苦恼学校所学的专业知识得不到发挥,一次周末和在华为北研所的同学聚会,同学说,华为的技术氛围好,给的薪酬也不错,可以考虑看看。当时华为还不是很有名气,北研所也仅成立一年,只有二三十号人,IP(数据通信)业务刚起步,但路由器技术在业界相当于现在的AI,机会难得,让一心想做技术的我心动了。面试过后北研领导问我能不能来上班,说转正后月薪XXXX元,当时我的月工资不过几百块,中关村平均月工资也不过一千五。无论是技术前景还是薪酬对一个单身汉都充满了吸引力,我果断辞职加入,从此一头扎根路由器领域。
  

当时北研所不到10%的人懂数据通信,我对网络协议和网络架构也是一知半解,只记得读书时网络课程讲过网络分7层,就在一张白纸中开始了数据通信设备的开发。导师给我拿来三本IP“红宝书”和业界的一些代码比如协议栈,一个月的时间,我70%的时间都在通读代码,如饥似渴地学习,其余时间就是和同事们切磋。那会两人一张桌子,像高中时的课桌,遇到不懂的,抬头就能相互交流。我发现周围的同事也和我相似,年轻、有活力、开放、好学,每天除了看红宝书,就是编码,常常回去时已是半夜,两个礼拜就能看完四五万行代码,总算是入门了。
       

在研发这个大熔炉中,当时的我们每个人都投入了百分百的热情。在你追我赶的氛围中,除了个人技术能力快速提升之外,年轻的我思想受华为文化熏陶也变得开阔和成熟。至今记得有一篇你是搬石头还是盖教堂的文章,讲述人与人之间的区别,也许只是干活时内心是否有一个“教堂”。当我工作中遇到挫折时,我就经常问自己当初的目标是什么,为什么要做这项工作,不会因为暂时的挫折感到迷茫。


很多错误源于经验不足

  

从1996年到2002年近7年间,我做过小路由器,做过VRP协议平台,下一代IP预研等,如果说预研是让我眼界更开阔,小路由器还只是“小打小闹”的话,从2003年开始参与高端路由器平台开发,就是扛着枪打大仗了。
  

路由器软件开发分为两部分,一部分是通用的VRP协议平台,一部分是要落地到产品中,通过转发平台实现通用软件和具体的硬件产品适配。2003年,8090路由器第一个版本开始开发,这是公司第一个10G平台。从3月开始,四五十人集中在深圳封闭研发,我和北研团队六七人负责其中的“转发”业务。当时“转发”业务是用微码做的,由于对微码开发方式的不熟悉,加上通用平台和微码也没有对接过,新的业务场景、新的开发模式,不同于以往的编程语言,经验的不足,让我在进度上严重拖延了第一个版本的过点时间。测试每天发现各种各样的问题,比如端口反压被阻塞了,转发线程死锁了,转发性能不达标等等。我只好不停回溯方案,重新讨论设计落地新的方案,部分模块重写代码,花两三周才彻底解决。从3月到9月,几乎每天泡在实验室到凌晨,总算和大队伍合力做出了第一个版本。
  

我自认为,虽然版本做出来了,但过程十分煎熬,这是我在华为经历的第一次比较大的挫折。当我对大型路由器软件熟悉之后,回看犯的错,都是很低级的错误,经验不足所致。也是走过弯路才更让人自省,代码可以重写,但方案如果错了,影响的将是版本的方向。若不能及时修正,只会花费更多的时间和精力在错误的路上越走越远。


创新机会无处不在 

关键是你愿不愿意看到


一直以来,我都知道自己是一个情商和智商都非常普通的人,放在人群中平平无奇,对于技术,也没什么诀窍,就是“勤能补拙,熟能生巧”,不断地学习,不断地积累,不断地在挫折中总结分析,重新找到正确的方向,并沿着这一方向前进。

  

从2003到2013的十年间,我经历过落地十几个关键新特性、帮助CPU性能优化从以往的100%降至5%的成功实践,也品尝过架构设计没有被选用的沮丧,还曾远离过开发去做技术规划,从系统、协议、产品转发到预研,除了硬件外,基本涉猎了路由器的所有模块。这期间也有机会成为管理者,但我认为只要能为公司做贡献,管理和技术都一样,相反我更喜欢技术想法能实现,开发落地到产品中的那份踏实感。
  

可能也是因为这份“傻气”,2013年,V8平台准备落地路由器的BRAS产品,主管对我说,路由器还有技术要开发,问我愿不愿意从预研回开发。路由器软件平台凝聚了我司IP领域顶级专家们的经验和智慧,是路由器产品核心竞争力的关键武器,经过多年的耕耘,业务已经非常成熟,但由于其规模大和复杂度高,在产品的应用中,也面临着开发效率和开发成本的挑战。这感觉就像是“大象在跳舞”,我自认为可发挥空间并不大,但心中对开发的执念还是占了上风,于是我选择了回来。
  

后来的事情也证明,我当初的想法是错的。只要你愿意,在成熟领域依然能发现很多创新机会点。


做优化改进的蓝军

  

2015年9月,产品线DU组建了系统支撑组,我作为3名研发场景师之一,专门负责效率提升和架构优化工作。
  

我们发现,FES(转发适配)模块成为版本商用的一个高风险点。由于海量的数据洪流冲击,一旦链路出现中断,网络拓扑发生变化,FES模块没有办法做到快速切换转发路径,导致网络业务和协议中断。这个问题不解决,产品将无法商用。但FES是一个公共模块,有七八年历史了,随着业务的不断增加,该模块功能越来越复杂,任何一个小改动都要小心翼翼,稍有不慎就有可能引起已有的业务不可用。因此,当我们提出架构整改动议之初,就因为风险巨大被否了。部门还有一个思路,保留现有的功能不变,重新开发一个类似的模块形成旁路。这样的“另辟蹊径”,意味着以后要维护两套方案,维护成本和难度都成倍增加。
  

基于开发成本和效率考虑,我建议在原有架构基础上进行优化和改进。很多人认为风险太高,但我认为只有痛下决心优化,才能“一劳永逸”最高效地解决这个问题。讨论来来回回,谁也说服不了谁。后来,DU领导拍板,成立红蓝军设计小组,并行开展两种方案的设计,最后PK。
  

作为蓝军,我们提出了部分重构的方案,既不是推倒重来,也不是一个个小点改进。在相同的时间内,我们团队将原来5万行的代码重构了一万行,新增一万行代码,在性能、易用性、可服务性和可扩展性方面更胜一筹,最终方案被采纳。版本上网后,也经受住了现网的考验,没有出现严重问题。


做能诊会治的首席程序员


有人曾问我成为专家有什么经验,我说,“关注产品全局,敢于担当”。除了现网痛点,作为一名研发老兵,我常常关注软件工程技术和产品工程管理,站在开发角度,对软件架构和软件工程效率进行诊断和改进,主动伸出手去,提前识别问题,帮助大家提升研发效率。

  

我们的版本是C语言,内存访问异常和内存泄漏问题让人非常头疼。内存问题在测试阶段很难被发现,而一旦漏到现网,就会导致严重的后果。为了解决这个问题,我们引入并适配了ASAN工具,将这个工具集成到持续构建工程,通过部门的网络质量监控系统“鹰眼”实现自动告警,让内存问题在开发阶段、测试阶段无处遁形,解决了上百个内存问题,形成了坚固的内存问题防护网,使得路由器开发效率得到很大提升。
  

路由器软件平台架构是封闭的,我提出,“能分能合”的系统才是一个好系统,打破路由器软件单一的完整大包开发调测方法,开发了增量构建和增量替换等特性,这样避免每次调试都需要构建和加载整个大包(这个过程非常耗时),为开发人员调试时节省了大量的等待时间,提升了调试效率。我们设计和开发了“转发适配”独立仿真平台,使得转发适配子系统代码能够独立仿真和调试;规划了路由器V8平台的服务演进架构,将V8系统拆分成若干个大的服务,使得各个服务能够实现“架构独立”:独立开发,独立部署和运行,独立验证……
  

改进无止境。坦白讲,我们在路由器软件技术领域,离世界第一还有不小的技术差距,业务也相对保守和慢一些,我们还有很大的成长空间。现在的我,每天想的就是怎么去发现机会点,让V8的架构改进一点点,再改进一点点,有更多更快的技术创新冒出来。
  

一个人的力量也许有限,路由器领域的机会点也可能相对少一些,但我始终认为,不管做什么,不管在哪个领域,都会有技术挑战和创新机会,只要你愿意,只要坚持钻研,就能发现新的机会,也许就能创造新的未来。




常言道,不忘初心,方得始终。但初心虽易,始终难守。华为22年,我今年已经49岁了。有人曾说,编码是吃青春饭的,但我从不这么认为。从最初抱着一心想做技术的想法一路走到今天,曾有过无数疲惫的时刻,也曾感到迷茫惶恐,但知天命的年纪,我更清楚自己所长所需,能有幸经历路由器技术最好的时代和最艰难的岁月,能在自己擅长和喜爱的领域长期发挥光和热,还能有机会继续在这一领域探索、钻研,能为家人提供一份尚可的稳定生活,我要感谢公司提供了一流的研发平台让我不断提升技术能力,感谢很多领导和同事对我的宽容,帮助我成长,还要感谢家人对我的支持和理解。

  

人生就是不断学习的过程,技术路上,编码这件小事,我仍在努力。

  

本文来自《华为人》,转载请注明作者及出处




单片机爱好者 《51单片机逆向学习实战教程》一书作者,单片机爱好者,每天为单片机用户分享一篇精品电子电路方面的经验笔记或教程。
评论
  • 项目展示①正面、反面②左侧、右侧项目源码:https://mbb.eet-china.com/download/316656.html前言为什么想到要做这个小玩意呢,作为一个死宅,懒得看手机,但又想要抬头就能看见时间和天气信息,于是就做个这么个小东西,放在示波器上面正好(示波器外壳有个小槽,刚好可以卡住)功能主要有,获取国家气象局的天气信息,还有实时的温湿度,主控采用ESP32,所以后续还可以开放更多奇奇怪怪的功能,比如油价信息、股票信息之类的,反正能联网可操作性就大多了原理图、PCB、面板设计
    小恶魔owo 2025-01-25 22:09 249浏览
  • 飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。1、RK3562J处理器概述RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂
    飞凌嵌入式 2025-01-24 11:21 190浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 252浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 1075浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 199浏览
  • 前篇文章中『服务器散热效能不佳有解吗?』提到气冷式的服务器其散热效能对于系统稳定度是非常重要的关键因素,同时也说明了百佳泰对于散热效能能提供的协助与服务。本篇将为您延伸说明我们如何进行评估,同时也会举例在测试过程中发现的问题及改善后的数据。AI服务器的散热架构三大重点:GPU导风罩:尝试不同的GPU导风罩架构,用以集中服务器进风量,加强对GPU的降温效果。GPU托盘:改动GPU托盘架构,验证出风面积大小对GPU散热的影想程度。CPU导风罩:尝试封闭CPU导风罩间隙,集中风流,验证CPU降温效果。
    百佳泰测试实验室 2025-01-24 16:58 80浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 337浏览
  • 随着AI大模型训练和推理对计算能力的需求呈指数级增长,AI数据中心的网络带宽需求大幅提升,推动了高速光模块的发展。光模块作为数据中心和高性能计算系统中的关键器件,主要用于提供高速和大容量的数据传输服务。 光模块提升带宽的方法有两种:1)提高每个通道的比特速率,如直接提升波特率,或者保持波特率不变,使用复杂的调制解调方式(如PAM4);2)增加通道数,如提升并行光纤数量,或采用波分复用(CWDM、LWDM)。按照传输模式,光模块可分为并行和波分两种类型,其中并行方案主要应用在中短距传输场景中成本
    hycsystembella 2025-01-25 17:24 173浏览
  • 书接上回:【2022年终总结】阳光总在风雨后,启航2023-面包板社区  https://mbb.eet-china.com/blog/468701-438244.html 总结2019,松山湖有个欧洲小镇-面包板社区  https://mbb.eet-china.com/blog/468701-413397.html        2025年该是总结下2024年的喜怒哀乐,有个好的开始,才能更好的面对2025年即将
    liweicheng 2025-01-24 23:18 180浏览
  • 不让汽车专美于前,近年来哈雷(Harley-Davidson)和本田(Honda)等大型重型机车大厂的旗下车款皆已陆续配备车载娱乐系统与语音助理,在路上也有越来越多的普通机车车主开始使用安全帽麦克风,在骑车时透过蓝牙连线执行语音搜寻地点导航、音乐播放控制或免持拨打接听电话等各种「机车语音助理」功能。客户背景与面临的挑战以本次分享的客户个案为例,该客户是一个跨国车用语音软件供货商,过往是与车厂合作开发前装车机为主,且有着多年的「汽车语音助理」产品经验。由于客户这次是首度跨足「机车语音助理」产品,因
    百佳泰测试实验室 2025-01-24 17:00 113浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 860浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 198浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦