一定发

钢厂小伙在菊厂,,,,,能炼出怎样的火花??????

钢厂小伙在菊厂,,,,,能炼出怎样的火花??????

史恭标

日期: 2024-04-17
从钢厂到“菊厂”

史恭标

2021年7月,,,,,我走出校门,,,,,走进华为南京研究所的大门,,,,,成为了一名华为人。。。。。。


我硕士学的是控制工程专业,,,,,主攻模式识别。。。。。。简朴点说,,,,,就是使用各式的“相机”(如光学相机、激光雷达等)与电脑软件算法取代人眼去自动视察、识别视察工具。。。。。。其间,,,,,我随着导师“上山下厂”,,,,,忙得不亦乐乎。。。。。。在与某钢厂的相助项目中,,,,,我在学校忙碌了泰半年,,,,,又驻守现场呆了小半年,,,,,带着清静帽和现场工人们同吃同住同干,,,,,乐成搞定了废钢装卸自动化的大项目。。。。。。我们使用设计出的软件与算法,,,,,通过高精相机和激光雷达传送的实时数据,,,,,精准识别废钢位置,,,,,指挥行车前后移动、定点抓取和装车,,,,,从而实现无人化、自动化废钢装卸。。。。。。正是有了这次软件工程的实战履历,,,,,在加入华为软件岗的校招时,,,,,我才顺遂通过笔试和面试,,,,,拿到了offer。。。。。。


ed8818e8cc64fb1d7b1df7cb065a9200.png

01
“学院派”代码和9张问题单

报到后,,,,,我正式加入“华为乾坤”装备生命周期治理团队。。。。。。来到部分,,,,,我才知道,,,,,华为乾坤是一款面向行业客户的网络产品,,,,,可以为客户提供清静可靠的云服务能力。。。。。。我所在的团队认真开发装备的治理平台,,,,,通过该平台可以让客户在云上便捷、快速地治理外地网络装备。。。。。。


入职后,,,,,在组内一众大佬的向导下,,,,,我最先学习相关的基础知识。。。。。。急性子的我并不知足于天天死板的训练,,,,,在我苦苦央求下,,,,,我拿到了事情生涯中第一个需求:支持差别客户,,,,,设置响应的操作权限。。。。。。


“权限设置??????这也不难。。。。。。  不等师父交接细节,,,,,我就急吼吼地直接上手撸起代码,,,,,短短三天就洋洋洒洒写出了两千多行代码。。。。。。我信心满满地按下“commit”(确认)按钮,,,,,把代码提交给SE(系统工程师)常建强。。。。。。


“强哥,,,,,我需求写好了,,,,,你资助看一下!”我走到强哥身边兴奋地说道。。。。。。强哥一惊:“小伙子很不错嘛,,,,,速率很快呀!”他笑着翻开我的代码,,,,,我则站在一旁,,,,,静待他下一波的夸奖。。。。。??????戳嗣涣椒种,,,,,强哥脸上的笑容最先凝固,,,,,眉头越来越紧:“哎呀,,,,,你这个代码很学院派啊,,,,,一下子尚有点看不懂咯!”我嘿嘿一笑,,,,,心想:“我写的代码,,,,,哪是这么容易就被你看懂的!”强哥挥挥手让我先回去,,,,,垂头继续研究起来。。。。。。


第二天一早,,,,,我在办公室迎面见到了强哥。。。。。 ;;姑坏任移舫,,,,,就听到他说:“我昨晚看了一遍你的代码,,,,,你注重下批注的代码审阅意见。。。。。。”


“有这么多问题吗??????需要你看一晚??????”我心里嘀咕着,,,,,不解地翻开电脑,,,,,一下子被满屏的审阅意见整蒙了 :“命名欠好”“可读性差”“笼统提取,,,,,阻止霰弹式修改”“界线条件思量缺乏”……我有些不平气,,,,,拼集着改了几处问题,,,,,就草草提交了代码,,,,,心想:“这都是小问题嘛!主要功效没问题,,,,,这不就行了!”


但很快,,,,,问题单就像冷冷的冰雨狠狠地砸向我。。。。。。转测后,,,,,我“喜提”了9张问题单,,,,,我的第一个需求也名列当期转测质量倒数榜单的“榜首”。。。。。。我最先尴尬地修改一张张问题单,,,,,我也逐渐发明正是由于我不屑于纠正那些强哥指出的“小细节”,,,,,才引发一系列bug。。。。。。我不禁指责自己太“年轻”,,,,,也顿悟:“学院派”可能并不是一个褒义词!在校时代,,,,,我写代码向来是“高歌猛进”,,,,,大大都情形只验证可行性,,,,,很少思量代码的稳固性与性能,,,,,更不会关注客户的现实使用场景。。。。。。


我像是泄了气的皮球,,,,,一时间没了劲头。。。。。。强哥似乎看透了我的降低,,,,,走过来慰藉我:“年轻就不要怕失败,,,,,更况且这都不算什么失败!”吸收了这次教训,,,,,我最先关注代码质量和规范,,,,,安下心来,,,,,扎扎实实地把iLearning上的《软件架构设计》《代码坏味道》《开发者自测试》等课程学习了一遍。。。。。。我越发注重细节、重视代码架构和质量,,,,,从代码设计到开发,,,,,我都自动与SE和测试的同事们相同,,,,,我还会在写完代码后做好充分的自测。。。。。。认真修改好9张问题单后,,,,,这个需求总算经受住了测试的严酷磨练。。。。。。


6409f932517554fb2f2e41977edb6fc5.png

乾坤云装备生命周期治理团队合影(左一为作者)

02
打造“端上清静卫士”

随着高级威胁、勒索病毒的日益放肆,,,,,华为乾坤团队妄想了“云-边-端”协同的纵深防御系统,,,,,能通过强盛的云上清静大脑,,,,,协同界线网络装备与终端清静软件,,,,,为客户提供清静的网络情形。。。。。。


其中,,,,,“端”是指终端清静EDR(终端防护与响应),,,,,是一款装置在终端电脑上的杀毒软件。。。。。。差别于古板杀毒软件“被动挨打”的防护思绪,,,,,我们可以通过云端威胁情报、机械学习、异常行为剖析等方式,,,,,自动发明内外部清静威胁,,,,,并自动化阻止、取证、调解和溯源,,,,,从而有用包管网络清静。。。。。。


2021年下半年,,,,,为加速EDR研发进度,,,,,部分抽调了各领域专家和主干组成终端防护预研小组。。。。。。其时,,,,,“端”侧清静还没有落地,,,,,各人都没有“端上清静卫士”开发的履历,,,,,面临未知的领域都有些发怵。。。。。。想到之前在钢厂实习时我做过类似的开发,,,,,我兴起勇气向时任乾坤云终端清静团队的认真人王亮请缨:“我以前做过一些端侧软件,,,,,要不我来试试吧!”


原来,,,,,我还担心亮哥会由于我是个初出茅庐的小兵而犹豫,,,,,没想到他直接点了头:“太好了,,,,,果真是‘初生牛犊不怕虎’!团队在这个新战场上还没有太多的手艺积累,,,,,这件事做起来肯定会很难题,,,,,但我相信只要你能扎进去、好好干,,,,,咱一定能做出效果!”


亮哥的勉励让我劲头十足,,,,,怀着既兴奋又忐忑的心情,,,,,我随即投入到“端侧清静”这个新战场。。。。。。仔细研究后,,,,,我发明这件事远没有我最初想的那么简朴:从软件的装置安排到网络通讯,,,,,再到焦点的收罗、指令执行的能力,,,,,甚至整个软件工程的编译构建,,,,,一切都将是从零最先。。。。。。一时之间,,,,,我竟然渺茫到不知从何下手。。。。。。


静下心来仔细想想,,,,,我又给自己打气:我背后尚有一支强盛、靠谱的步队。。。。。。有什么问题,,,,,边问、边学、边解决就好了!调解盛意态,,,,,我最先一边体验业界产品的功效和营业场景,,,,,一边研究同类开源产品的手艺实现。。。。。。


通过亮哥的引荐,,,,,我还辗转找到公司清静网关部分的张伟双、软件教练杜鹏和李钊等手艺大佬,,,,,自动学习、相识产品的手艺原理和实现细节。。。。。。那段时间,,,,,我的脑壳里装满了“怎样包管网络通道的清静”“怎样第一时间收罗到攻击者的恶意行为”“怎样高效地执行云上杀毒指令”……等一系列问题。。。。。。为了能第一时间约到专家,,,,,我蹲点等着专家的WeLink头像“变绿”,,,,,到专家工位“围追切断”,,,,,甚至厚着脸皮约着专家去撸串。。。。。 ;>刍崂艘淮斡忠淮,,,,,肉撸了一串又一串,,,,,手上的难题也终于一个又一个被攻克。。。。。。


其中,,,,,有一个问题让我印象深刻。。。。。。在开发勒索行为检测这一功效时,,,,,我们发明在某些机械上的检测延迟很是高,,,,,夸张到勒索行为爆发5分钟后,,,,,一定发软件才提醒自动阻挡,,,,,但这显然已经是“马后炮”了!


0f2b07a5fc2bd215439db150ceac2ca4.png


延迟时间这么久,,,,,意味着防勒索功效已经失去意义,,,,,我们必需要攻克这一手艺难题。。。。。。我们团队重新到尾排查下来,,,,,发明是“事务上报性能缺乏”导致了云云大规模的延迟。。。。。。勒索软件一秒钟可能爆发上千条异常事务,,,,,但云侧上传接口每秒最多允许我们挪用十余次,,,,,这是百倍的性能差别。。。。。。打个例如,,,,,这就像忙碌的高速公路上突然泛起一个“龟速”收费站,,,,,只允许车辆逐步通过,,,,,此后面又有车辆源源一直地涌入,,,,,马上就会泛起几公里的“大型堵车现场”。。。。。。


问题看上去很简朴,,,,,我提出了扩建“收费站”的解决步伐。。。。。。然而,,,,,专家很快就驳回了这个思绪,,,,,由于扩展的本钱难以估量,,,,,会影响产品的整体竞争力。。。。。。这个问题只得另想他法。。。。。。


问题无解,,,,,下班后,,,,,我们一行人结伴前往地铁站。。。。。。


“高速路上堵车,,,,,收费站不给力是一方面,,,,,但路上的车是不是也太多了??????若是不可刷新收费站,,,,,那有没有步伐镌汰车的数目??????”杜教练在月台上提出了自己的想法。。。。。。


“可是,,,,,‘车’的数目怎么控制呢??????有些性能很好的电脑,,,,,勒索病毒一秒钟就可以加密几百个文件,,,,,爆发上千个事务,,,,,这些事务都得上报,,,,,这样才华准确判断出是否有勒索病毒。。。。。。”我细细想了想,,,,,无奈地回道。。。。。。


“那若是做一个分类器,,,,,先把这些‘车’归归类,,,,,做一些起源的信息提炼,,,,,有没有可能镌汰事务的数目??????”杜教练继续剖析道。。。。。。


“这个路子肯定可以,,,,,可是我们端侧的剖析模子还不健全,,,,,不具备信息提炼的能力……”我叹了口吻,,,,,思绪最先有些杂乱。。。。。。


聊着聊着,,,,,地铁进站的播报响了起来。。。。。。杜教练嘿嘿一笑:“这会晚岑岭,,,,,路上肯定堵死了,,,,,幸亏坐地铁。。。。。。”


嗯??????我脑中灵光一现:若是我们也让那些“车”去坐“地铁”,,,,,是不是就可以大批量、准时抵达目的地??????


有了这个想法,,,,,我立马和杜教练讨论起来。。。。。。巨量的事务若是凭证顺序一个个上报到云上,,,,,必定会造成通道拥堵,,,,,但若是我们建一辆准时启动的“地铁”,,,,,让它们都按班次运行,,,,,一次就可以运送近千条数据,,,,,应该就能解决现在的逆境!第二天,,,,,我们最先实验这一解决方案,,,,,果真有戏!后续,,,,,为了更充分地提高性能,,,,,除了“准时启动”,,,,,我们还制订了“车满即走”的数据发送战略,,,,,进一步阻止了高延时阻挡的尴尬。。。。。。


最终,,,,,我乐成完成了挑战使命,,,,,顺遂交付了第一版端侧软件。。。。。。当一个恶意历程在靶机上爆发高级威胁时,,,,,一定发终端软件瞬间能收罗到它的行为信息,,,,,并上报给“云上清静大脑”。。。。。。随后,,,,,清静大脑通太过析研判,,,,,迅速下达处理指令,,,,,收到指令的终端软件连忙阻断恶意行为,,,,,并能将恶意历程隔离在清静区内,,,,,乐成 ;;ち酥斩俗氨傅那寰玻


在这个新战场上,,,,,初出茅庐的我首战告捷,,,,,快速生长,,,,,荣获了华为南京研究所“年度优异新员工”的声誉,,,,,也成为了一名Committer(代码提交者)。。。。。。这些声誉和责任,,,,,更让我对软件开发坚持敬畏心,,,,,时刻拥有对探索未知领域的无限热情与勇气,,,,,充满持续前进、持续生长的动力。。。。。。


9e1defdd55aea66fc8a53c2f055528af.png

南京研究所优异新员工颁奖(右二为作者)

03
匠心打磨代码,,,,,成为一名优异工程师

2022年上半年,,,,,随着营业的快速推进、开发投入实力增多,,,,,一定发软件代码量最先飞速膨胀,,,,,从一最先的“细腻小巧”变得臃肿起来。。。。。。更令我们头疼的是,,,,,它似乎逐步酿成了一间“破败的屋子”:代码分层杂乱、营业间耦合严重,,,,,上新增功效时必需要很是小心,,,,,一不注重就会“牵一发而动全身”。。。。。。在版本月度迭代中,,,,,经常要先花上半个月修复旧bug,,,,,再花半个月“写出”一堆新bug,,,,,这种情形让我很是抓狂。。。。。。这些臃肿、甚至有些“貌寝”的代码,,,,,我越看越不顺眼。。。。。。于是,,,,,我刻意来一次彻底“翻新”:重构营业??????榇耄


我将这个大胆的想法告诉PL(项目认真人)后,,,,,他震惊后仰:“够大胆。。。。。。≈毓刮抟墒怯蟹缦盏,,,,,你要思索好两个问题,,,,,已有的功效怎么包管正常??????新代码的质量怎么包管??????”


还记得,,,,,软件教练李钊先生曾为我解答“什么是好代码”的疑心,,,,,这个谜底我一直切记:“首先,,,,,让人看得不爽的代码一般都不是好代码!你看得不爽时,,,,,八成写代码的人的思绪也欠亨畅。。。。。。其次,,,,,好测试的代码一般都是好代码!好测试就意味着分层合理、功效内聚,,,,,并且测试周全的代码也很少出bug!”


记起钊哥的指导,,,,,我瞬间有了偏向。。。。。。首先,,,,,我把我所认真的营业??????槟谒写攵嫁哿艘槐,,,,,一边明确一边画出营业流程图,,,,,将让我感应“不爽”的代码全纪录下来。。。。。。接下来,,,,,我最先梳理哪些流程重复、哪些分层不对理,,,,,哪些地方可以增补测试用例……最后,,,,,我将这份“重构”思绪整理成文档,,,,,分享到组内,,,,,让各人一起资助审核优化。。。。。。


重复打磨之后,,,,,我最先正式着手重构。。。。。。这次,,,,,我妄想接纳TDD(测试驱动开发)模式编写代码。。。。。。我着重思量了营业的使用场景,,,,,依此编写测试用例,,,,,在测试用例跑通后再重写内部逻辑。。。。。 ;;艘桓龆嘣碌氖奔,,,,,我乐成将数据收罗、指令执行两大功效的架构底座抽取了出来,,,,,重新帮“屋子”打好了可靠的“新地基”。。。。。。代码写完后,,,,,我还拉着软件教练一起重复优化,,,,,针对重构的代码逐字斟句酌地重复调解……


重构代码交付后,,,,,新问题引入为零,,,,,测试笼罩率由原来的缺乏20%提升到80%,,,,,软件性能也有了进一步的提高,,,,,我们还获得了总架构师的点赞。。。。。。


有了这个“地基”,,,,,我们在拓展新营业时简直轻松了不少。。。。。。阻止现在,,,,,这个“地基”已经支持20多项营业平稳且快速生长,,,,,它还让我荣获2022年ICT产品与解决方案“优异工程师”的声誉。。。。。。在这次的重构中,,,,,我也将源自《代码整齐之道》、公司提倡的clean code要领论付诸实践,,,,,学到了许多工具,,,,,未来也会身体力行地持续追求好代码、输出好代码。。。。。。


4306d7b56c411bef897601dfa258cfb9.png

ICT产品与解决方案“优异工程师”


入职两年多,,,,,怀着对软件的热爱,,,,,怀着对“工程师”这一角色的强烈认可,,,,,我从一个“学院派”的软件小白逐步生长为一名“优异工程师”,,,,,这个历程中有压力、有曲折、有支付,,,,,更有收获。。。。。。正如《软件整齐之道》的作者Bob大叔所说:“做软件就像‘画画’,,,,,编程的实质是一门工艺。。。。。。”我希望我能一直当好一名工匠,,,,,用手中的键盘一丝不苟地镌刻手中的代码。。。。。。


我相信,,,,,我会意怀热爱,,,,,用代码勾勒出拥有无限可能的未来!

a19b48362bb705c8b3f2c6435ab9c68e.png


文章泉源:心声社区


选择一定发,,,,,选择专业

关注公众号
审查更多分享内容

一定发(中国集团)官方网站
【网站地图】
钢厂小伙在菊厂,,,,,能炼出怎样的火花???