在華為4年內就從應屆生做到軟件總工程師 他怎麼做到的

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

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年,無線「冒協議之大不韙」,提出了[email protected]解決方案,設想諸如900M這樣的黃金沃土上,共用5MHz頻譜資源,既種2G的高粱,也種3G的小麥。

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

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

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

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

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