四年應屆生到“軟件總工程師”

      網友投稿 729 2025-04-07

      2007年高考報志愿,當別人還在糾結和猶豫時,我已經無比堅定地在志愿書填下了“通信工程”四個字。當時智能手機還沒有普及,我撥弄著老式的諾基亞,總是好奇地想:電話是怎么打通的?那一端的人為什么能聽到我的聲音?中間經歷了什么?被滿腦子的問號所驅使,我迫不及待地想鉆進通信的世界。


      如今,我已經成為通信行業的一員,可以像電影里的黑客高手一樣敲代碼,甚至還頂著“軟件總工程師”這樣bling bling的光環,但那些環繞在我腦海的問號并沒有減少:如何解決傳輸負載均衡問題?如何能讓2G和3G、4G共享頻譜?如何在大海里撈針,迅速定位現網問題?

      問題越發棘手、刁鉆,我只能逼著自己站得更高,鉆得更深,探索未知。

      每天8小時,半年寫完一年的代碼量

      2014年我應屆畢業,一入職就參與到控制器軟件平臺相關特性的開發中。控制器是無線網絡GSM和UMTS制式的“總控臺”,軟件平臺則是控制器的“腰”,承擔著穩定客戶網絡的關鍵作用。

      當時公司的控制器軟件平臺還在上海,我們13個研發新員工被派去承接業務,每人獨立看護一個模塊。當別人還在重復“看文檔-改資料問題單-修改簡單問題”的無限循環時,我主動向版本經理毛遂自薦:版本特性的開發,能不能交給我試試?也許是沒料到新來的員工就這么“虎”,版本PL愣了一下,對上我無畏的眼神,竟然同意了這個“無理”的請求。

      我主要負責控制器IP網絡傳輸路徑的負載均衡模塊,這是控制器話務接入時調用最為頻繁的功能點。“負載均衡”只有四個字,卻異常復雜。控制器連接了眾多網元,每條路徑都有負載的瓶頸,過載就會丟包,導致語音失真、掉話,網速過慢等現象,引發運營商的投訴。

      怎樣能保證每一條鏈路的負載平均,不至于過載,同時讓所有的鏈路達到最大使用效率?這個看似難以兩全的難題,關鍵點就在均衡算法上。比如,裝水的桶有大有小,容量各不同。按照以前的算法,100L的桶裝的是50L的水,50L的桶也裝50L的水,10L的桶也裝50L的水,這樣就造成一些水桶還沒有發揮最大潛能,而與此同時,大量水桶的水溢出來,出現過載的問題。只有通過改進算法,讓100L的桶有裝80L的水,50L的桶裝40L的水,10L的桶裝8L的水,每個容器的承載率都是80%,保持均衡,才能實現魚和熊掌兼得的目標。

      剛開始,導師在一旁指導,一切進展順利,我更是信心滿滿。可不久導師休假了,留下我一個人。一下沒了可以依靠的臂膀,我只能在忐忑中開始奮戰。我和SE、測試、維護一起組成“鐵三角”,一起分析我們的目標場景是什么,判斷現有算法是否能夠滿足,根據這些目標場景對齊方案。最終,特性開發最終滿足了流量負載均衡商用要求,開啟特性的現網局點再也沒有聽到負載不均的投訴。

      在這個階段,我每天12小時有8個小時和代碼打交道,不是在寫代碼、看代碼,就是在驗證代碼,半年寫的代碼量趕上了別人一年的量。當然,光有數量是沒用的,質量過硬才值得驕傲。代碼寫完,都要上庫去持續集成,任意一個代碼環節出了問題,都會導致持續集成失敗,出現掉話、斷網等嚴重后果,所以我總是對代碼保持著敬畏之心。有些開發人員可能會吐槽自己是碼農,可如果心中有教堂,我們就不是碼農,每一行代碼都會轉化為最有價值的存在。

      讓兩條小河流入同一片土地

      隨著代碼技藝的提升,我迎接的挑戰難度提升了N次方,一個人Hold住全場的機會越來越多。

      頻譜是通信運營商賴以生存的“土地”,也是最重要的財富,特別是陽光好、灌溉便利、土壤肥沃的土地更是稀缺資源。隨著MBB移動互聯網時代的到來,“2G用戶如何平滑退網”、“如何最大化GU黃金頻譜的頻譜效率”成了全球諸多運營商要面臨的問題。2016年,無線“冒協議之大不韙”,提出了GU@5M解決方案,設想諸如900M這樣的黃金沃土上,共用5MHz頻譜資源,既種2G的高粱,也種3G的小麥。

      作為控制器軟件平臺,我們的任務是打通整個語音報文合并的通路,換言之,就是要讓兩條小河一同流入種了高粱和大麥的農田,讓農作物越長越好。

      當時只有我一個人負責平臺方案的設計,可現實情況是,我連語音通路怎么打通都不知道,更不用說把兩條通路匯合起來,完全是一頭霧水。但我這人一向是正向思維,想想,把一個大象裝進冰箱總共分幾步?第一步,把冰箱打開,第二步,把大象塞進去,第三步,把冰箱關上。那么,要讓兩條小河流入農田,其實也可以分解成三步:第一步,買鋪路的原材料,第二步,制定施工圖紙,第三步施工隊進場施工。也就是首先考慮分配語音通路所需要用到的傳輸資源,其次,通過制定資源分配算法,實現資源均衡利用,最終將資源應用到語音通路架設中,實現合并語音流的傳輸。

      為了確保解決方案能夠走通,我們需要在一個由手機、基站、機房組成的模擬系統中驗證方案。還記得那是任務截止日前一天晚上11點多,在成都軟件大廈的實驗室里,我們七八個人全神貫注地對著電腦,仔細觀察每一條信令的走向,每個細胞都是緊繃的。當看到兩路信號對接參數一個個冒出來,而且兩者全都保持一致時,我們已經按捺不住激動的心情了。

      我立馬拿起2G的終端打電話,對方那頭的“喂喂喂”的聲音聽起來異常清晰。“成功了!”我們激動地叫出聲來,一直很冷靜地坐在一旁的版本經理,突然一拍桌子跳起來:“太好了!”大家抱在一起又笑又跳,像孩子一樣開心。

      小系統達成驗證目標后,成功支撐了后續上行COMP及GU聯合調度等關鍵技術路徑的開發,最終促成了整體方案轉商用。GU@5M方案最終成功商用,使2G和3G的河水流入同一片麥地成為了現實,節省了頻譜帶寬資源,保護了GSM網絡的投資,在全球各子網得到成功應用,成為無線最具價值的解決方案之一。

      任務競拍,只搶最難的活干

      還沒來得及慶賀,新的任務令又要發布了。2016年11月一早,我們部門20多號人擠在一個會議室里,準備進行一場競拍。

      “下一個任務是GL共頻譜,200人/天工作量,誰要搶?”

      版本經理的話音剛落,我就高高地舉起了手中的競拍牌:“我要搶!保證150人/天完成任務!”

      顯然,其他人都不打算舉牌,我竊喜:“看來這回沒有對手了。”

      版本經理嘟囔了一句:“你這小子挺敢干的!”

      自從2015年我們部門推行全棧工程師(FSD)制度以來,這樣的場景每個版本都會上演。以前,我們要開發什么模塊,承擔多少工作量,都是由版本經理根據業務需要和每個人的能力來分配的,有很大的主觀性,不一定能調動每個人的積極性,一些開發人員做的很可能不是自己真正想干的工作。而全棧工程師制度改變了這種情況,變“派活干”為“搶活干”。每個版本開始前,版本經理會把各項任務要求以及工作量公布出來。任何一個人都可以用競拍的方式搶活,如果同時有兩個人競爭,給自己定的目標高的人勝出。

      四年從應屆生到“軟件總工程師”

      我總是喜歡搶難度最高的特性,這些任務可能會直接決定業務的KPI,有些人可能會知難而退,可我覺得,機遇和風險是對“雙胞胎”,不敢搶,就意味著自動放棄了機會。

      這回,我早就盯上了GSM和LTE頻譜并發特性,可以實現GL頻譜動態共享,比起之前的任務,難度有過之而無不及。2G和4G(LTE)共用一個頻譜,最大的問題是互有干擾,這就需要2G用戶在使用時告訴4G用戶“路徑已經被占用了”,以便其繞道而行,我的任務就是建一個接口,讓2G和4G通路之間可以互相溝通,以免相互干擾。

      過程中有一個階段特別難熬。任務涉及軟件平臺和硬件平臺,我了解軟件平臺的實現,但并不知道硬件平臺的約束條件。第一個方案出來后,硬件部門初步評估可行后,我并沒有在硬件平臺上驗證,以致于快到迭代的時候,才發現底層硬件平臺根本沒辦法支持現有方案。

      還有一個星期就要迭代,一切還要推倒重來?周邊各種壓力紛至沓來,要求我做質量回溯的聲音也很多:為什么一開始方案設置時候沒有評估清楚?壓力山大,最后的一個星期,我幾乎把時間揉碎了用,經常熬夜熬到凌晨一兩點,早上六七點再回來接著干。我這人心大,倒也沒覺得崩潰,就是心里憋著一股勁:自己搶了活,哭著也要做完啊!

      部門給了我很多資源,好幾個專家和我并肩作戰,幫我支招。大家一起想還有什么方案,難度多大,代碼量多少,要花多長時間?接著在白板上寫寫畫畫,碰撞點子……一周后,我們拿出了第二套方案,在解決硬件平臺適配問題的同時,把代碼開發量壓縮到了最小的程度。

      意外的是,這套方案緊趕慢趕,居然趕上了迭代節奏,沒有影響既定的計劃,順利完成了任務,也算是“越努力越幸運”的奇跡了。

      24小時奪命CALL了解一下

      2017年,我這顆不安分的心又蠢蠢欲動。做了幾年開發,能力建立起來以后,我開始覺得自己過得太舒適了,就想折騰一下。想來想去,哪里是我們部門最難、最核心的業務?我想到了事故處理組。

      這是我們部門專門處理網上問題的虛擬組織,無論節假日,7天24小時隨時待命,處理GTAC轉交過來的疑難問題,不僅要快速定位攻關緊急問題,定界恢復事故級問題,還要第一時間改進閉環網上問題。

      在一些人看來,我的轉身純屬自我“找虐”,但我不這么想,很多網上問題不只局限于軟件平臺,在這可以看到一個更大的業務鏈,對于個人的提升而言,是最好的練兵場。

      壓力是隨時隨地,無孔不入的,比如時間的壓迫。事故級的網上問題,從上報到恢復要求在30分鐘內解決。但30分鐘其實是很困難的,控制器是一個很龐大的系統,僅僅通過有限的現象,如何知道問題出在哪個代碼?真的像大海撈針一樣。即使判斷出問題,控制器也涉及和基站、核心網的對接,需要和其他網元一起操作驗證,也很難保證在第一時間解決問題。

      還有24小時奪命CALL的壓力。如果要問一個維護人,最害怕的是什么?答案十有八九是午夜鈴聲。記得有一次,凌晨3點多,一個電話打進來,告知A國某版本出現2G單板復位的問題,導致一個區域的人打不了電話。我上一秒鐘還是迷糊的,下一秒鐘就被驚出了一身冷汗,放下電話,下意識就往公司趕。

      回到公司,我立馬開始查看日志、定位問題,一遍遍排查,到了早上7點多,終于揪住了問題的源頭——不是平臺的問題,而是2G業務出了問題。聯系相關業務人員修復問題,很快,中斷的業務得到了恢復。結束攻關已經是周末的早上了,本來想著躺下了歇歇,卻發現自己腦子里還在不間斷地放映攻關畫面,竟興奮地睡不著覺了。

      這樣的場景每一天都在重復,不久前,我們剛剛達成了全球網絡控制器網上平安1000天的目標,這也算是對我們越來越少的頭發和越夜越美麗的黑眼圈的最大慰藉了。

      即將步入30歲的我,已經不那么鋒芒畢露了,但依舊敢想、敢干、不怕輸。每一年,我都會給自己設定要超越的階段目標,努力成為每個階段自己想成為的人,感受內心一點點的成長。

      不管頭銜是總工程師也好,是研發小兵也好,為了最初探索通信世界的樸素理想,我都會一直趴在軟件上做精、做深、做透徹。我相信,只要愿意為自己走出一條路,世界就會為你打開一盞燈。

      本文為《華為人》版權所有,未經允許不得轉載。如需轉載請聯系編輯部hwrb@huawei.com

      華為人期刊 程序員

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:用excel畫折線圖的教程
      下一篇:wps如何給表格添加邊框(wps做表格怎么加邊框)
      相關文章
      亚洲av日韩av激情亚洲| 亚洲精品无码成人片在线观看| 亚洲第一区精品观看| 国产成人精品日本亚洲专一区| 亚洲黄色片免费看| 亚洲国产天堂久久综合网站| 亚洲AV无码成人精品区蜜桃| 亚洲国产成人高清在线观看 | 亚洲狠狠婷婷综合久久久久 | 亚洲国产精品成人一区| 亚洲AV无码不卡在线观看下载| 国产亚洲精品AAAA片APP| 亚洲av成人一区二区三区在线播放| 天堂亚洲国产中文在线| 亚洲一区二区三区在线网站 | 亚洲另类激情综合偷自拍图| 亚洲熟妇无码乱子AV电影| 国产亚洲精品美女久久久| 亚洲AV永久精品爱情岛论坛| 亚洲国产成人久久精品影视| 中文字幕亚洲综合久久| 亚洲一区二区三区国产精品无码| 亚洲乱码一区av春药高潮| 国产精品亚洲精品| 亚洲国产精品自在自线观看| 国产区图片区小说区亚洲区| 亚洲免费视频一区二区三区| 亚洲婷婷五月综合狠狠爱| 亚洲av中文无码乱人伦在线播放 | 激情无码亚洲一区二区三区| 国产亚洲Av综合人人澡精品| 国产日韩成人亚洲丁香婷婷| 亚洲日韩欧洲无码av夜夜摸| 久久久久久亚洲精品中文字幕| 91亚洲精品视频| 亚洲六月丁香婷婷综合| 亚洲精品色播一区二区| 亚洲国产成人精品女人久久久 | 亚洲国产成人乱码精品女人久久久不卡 | 亚洲国产区男人本色| 亚洲成年看片在线观看|