當(dāng)前位置:首頁 > 公眾號精選 > 大魚機器人
[導(dǎo)讀] “大家好,我叫姜森磊,1995年出生,14歲開始編程,迄今十年整。” 2020年4月20日,我通過WeLink接入了EMT會議,在“20分鐘”議題上分享自己的工作經(jīng)歷。我是入職華為才兩年的95后,卻也是擁有十年經(jīng)驗的老程序員 ,這一切都要從十年前我的中二時期說起……

來源 :華為人


從中二少年到5G元老

姜森磊

“大家好,我叫姜森磊,1995年出生,14歲開始編程,迄今十年整。

2020年4月20日,我通過WeLink接入了EMT會議,在“20分鐘”議題上分享自己的工作經(jīng)歷。 我是入職華為才兩年的95后,卻也是擁有十年經(jīng)驗的老程序員 ,這一切都要從十年前我的中二時期說起……

1 中二少年的“編碼童子功”

由于老爸酷愛游戲,早在90年代我們家就配備了電腦,01年左右家里就已經(jīng)聯(lián)網(wǎng),電腦對我來說并不陌生。平時經(jīng)??蠢习滞嬗螒?,甚至偶爾還能跟他一起上場廝殺,唯一的遺憾是玩電腦的時間總是太少,家人頂多只讓我做完作業(yè)后玩半小時、一小時。

在我上初二時,有一天我媽貌似不經(jīng)意地跟我說,“附近中學(xué)開了計算機編程的興趣班,我同事家的小孩去學(xué)了,你要不要也去試試?” 搞計算機=玩電腦,當(dāng)然有興趣了。 至于編程,那不就是黑客做的事情?我腦子里飛快閃動著《黑客帝國》電影的畫面,超級高大上!當(dāng)年才14歲的我,內(nèi)心的中二之魂熊熊燃燒,仿佛已經(jīng)看到自己學(xué)習(xí)編程后成為黑客的厲害模樣,于是不假思索地就同意了這個提議,開始學(xué)習(xí)編程。

等我去了才發(fā)現(xiàn),編程并沒有我想象的那么花里胡哨,剛開始甚至很枯燥,老師一上來就介紹那些亂七八糟的語句,還全是英文,也聽不懂……但我這個人好勝心比較強,計算機語句看不懂沒關(guān)系,先按老師教的東西囫圇吞棗、死記硬背。就這樣咬牙堅持了幾個月,突然有一天覺得自己茅塞頓開了,原來用計算機的思維去考慮程序是這個樣子的!從那以后,我就好像打通了任督二脈,反過頭來看以前學(xué)的那些東西,也都融會貫通了起來,我終于體會到了編程的樂趣和成就感。

初中、高中,我一路在上海市和全國信息學(xué)奧賽中過關(guān)斬將,最后還憑借全國信息學(xué)奧賽一等獎保送到了同濟大學(xué) ,后來畢業(yè)后進華為也是因為自己的軟件能力。這些年,編程帶給我的不僅僅是擺了兩柜子的榮譽證書、獎牌和獎杯,更重要的是從小學(xué)習(xí)編程讓我打下了比較扎實的童子功,掌握了的算法就好像印在腦海里一樣,雖然后來大學(xué)時期接觸編程少一些,但是工作以后重新再撿起來也非???。

2 萌新的成長之路

2017年大學(xué)畢業(yè)后,我入職了華為上海研究所。剛進部門時,我是做LTE的,兩個月后趕上5G發(fā)展,大規(guī)模要人,PL問我要不要跟他一起去5G團隊。溝通時,他說5G大家都是從頭開始,對新員工來說有更大的發(fā)揮空間。我那時剛過來,新員工培訓(xùn)才結(jié)束沒多久,完全是懵懂的,但我想著反正新員工到哪里都是學(xué),于是就跟著PL一起到了5G團隊。

剛開始壓力還蠻大的,因為我之前不是寫C++的,一開始語言上不是很熟悉,要學(xué)習(xí);而且業(yè)務(wù)上也有一定的入門門檻的,剛開始有時候別人說的我都不能理解是什么,還得下來再去查。為了盡快跟上業(yè)務(wù)節(jié)奏, 我曾在無數(shù)個夜晚,抱著全英文的3GPP協(xié)議埋頭鉆研 ,這讓我感覺好像又回到了剛學(xué)習(xí)編程的時候,看不懂的就先記下來,白天再厚著臉皮去問周圍的同事。好在我們團隊互相學(xué)習(xí)交流的氛圍特別濃郁,大家不論級別高低、是否忙碌,都愿意抽出時間共同探討。我也繼承了這樣的團隊傳統(tǒng),現(xiàn)在如果有新員工來找我討論問題,我也一定會抽空跟他們聊。

就這樣,我在5G團隊收獲了寶貴的和新產(chǎn)品共同成長的機會。入職沒多久,我就參與了5G的首版本商用交付韓國的項目,先從本模塊業(yè)務(wù)開始學(xué)習(xí),之后還和幾個新員工一起參與了底層框架的整改替換,這樣以點帶面,對整個用戶系統(tǒng)都有了比較全面的了解。

5G打通first call的那個晚上,雖然我們不在現(xiàn)場,而是在后方研發(fā)支撐,但心情同樣很激動。我還記得聯(lián)調(diào)成功后,前方同事在群里發(fā)消息,說打通了first call,還發(fā)了切蛋糕慶祝的照片。群里一下就沸騰了,各種慶祝的表情包和文字不停往外冒,根本來不及看具體內(nèi)容。我自己當(dāng)時又興奮又恍惚, 有種夢想突然實現(xiàn)的不真實感——我參與的代碼能夠直接打通電話了! 見證一個產(chǎn)品從0到1,和它從1到2甚至1到100,那種心情絕對是不可比擬的。我很慶幸自己作為入職沒多久的新人就見證了5G首次商用上線這個難忘的歷史時刻。

經(jīng)歷了這次練兵,我對自己的能力更有信心,部門也逐漸將更多的重擔(dān)交給我。我有機會主導(dǎo)了幾個性能和內(nèi)存的優(yōu)化。之后我還參與了5G首個可信版本,交付HCSEC……兩年的時間,我伴隨著部門一起成長,逐漸從“萌新”成長為獨當(dāng)一面的“5G元老”。

3 我的小目標(biāo):代碼寫到80歲

剛轉(zhuǎn)正不久,我接到一個比較有挑戰(zhàn)性的任務(wù),從零搭建一個新模塊。


這個模塊是用來做自組織網(wǎng)絡(luò)的,能夠幫助客戶自動添加鄰區(qū),不用手動配置。這個任務(wù)要求我既要盡快交付新模塊,又要吸取老模塊的教訓(xùn),改善之前遇到的問題。


我總結(jié)了老模塊的歷史遺留問題,比如簡單而重復(fù)的數(shù)據(jù)注冊功能,居然用了6000行左右的代碼,我利用C++的模板大幅優(yōu)化重復(fù)代碼,在新模塊中僅用2000行左右的代碼就移植了原有的功能。


再比如,基于整個模塊的功能,我發(fā)現(xiàn)反寫數(shù)據(jù)庫應(yīng)該是一個常態(tài)的功能,以后會有大量的功能往里面塞,也會產(chǎn)生大量的重復(fù)勞作和重復(fù)代碼,很容易出問題。我利用優(yōu)先隊列設(shè)計了反寫數(shù)據(jù)庫框架,便于后續(xù)擴展。


我在兩周內(nèi)交付了8000多行的代碼,測試部署一次性通過,模塊也穩(wěn)定運行。 我因此在2018年第一次獲得“5GPDU十大軟件高手”。

2019年,在外部與內(nèi)部的壓力之下,我也收到了很大的挑戰(zhàn),在同等硬件資源下,能不能用更牛的軟件技術(shù),實現(xiàn)產(chǎn)品性能和規(guī)格達到更高水平?總結(jié)老代碼后,我找出了一些優(yōu)化點,比如數(shù)據(jù)查詢框架比較繁瑣,只支持單點查找。重新設(shè)計數(shù)據(jù)結(jié)構(gòu)和查詢方法,采用AVL樹優(yōu)化,效果顯著,將內(nèi)存優(yōu)化了2/3,查找性能提升50多倍;我發(fā)現(xiàn)第一版代碼用了非常多的鎖來解決多線程問題,讓性能大打折扣。


為了追求更佳效果, 我拉通了幾個模塊,從架構(gòu)角度出發(fā)重新設(shè)計業(yè)務(wù)交互并用無鎖隊列等優(yōu)化性能,交互性能提升80%, 更便于之后的擴展。因此, 我也在2019年第二次獲得“5GPDU十大軟件高手”。

2019年對我來說,還有個關(guān)鍵詞——“可信”。這一年,是公司的可信變革之年,而我有幸從一開始就深入?yún)⑴c其中。

5G產(chǎn)品作為可信的先鋒隊,經(jīng)常會有內(nèi)外部的領(lǐng)導(dǎo)、專家來看我們的運作情況。為了將我們所做的展示給業(yè)界看,2019年9月我們搭建了可信過程演示,向大家展示在可信變革的前后,我們的開發(fā)作業(yè)流、設(shè)計作業(yè)流、測試作業(yè)流都發(fā)生了什么變化。

我們通常從一個真實的業(yè)務(wù)小例子入手,來展示我們在這個場景下是怎么干的——在開發(fā)時,我們怎么保證代碼的可信?我們的上庫機制、靜態(tài)檢查機制,如何保證可信?我們在出包時,是怎么保證它的二進制比對的?Committer機制,端到端可追溯是如何保護我們的代碼的?通過整個流程直白地展示一行代碼的前世今生。

目前,UML的創(chuàng)始人 Ivar Jacobson教授、CSEC的Brian教授等人,都看過我們的可信演示,也跟我們交流了從設(shè)計到編碼到版本集成出包等方面他們的看法和建議。此類的交流,讓我們受益不少。特別是Jacobson教授,80歲還這么有激情和學(xué)習(xí)的動力, 我希望自己也能像他一樣保持旺盛的求知欲和熱情,不斷學(xué)習(xí),編碼到80歲,寫出更多的好代碼。

-END-

     
           

猜你喜歡

為什么8位數(shù)據(jù)范圍是-128到127,而不是-127到128?
21歲到華為,一焊就是28年!
北大十年,博士畢業(yè)后,他去了華為。

 最 后
 

若覺得文章不錯,轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動力。
5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等!
在公眾號內(nèi)回復(fù)「更多資源」,即可免費獲取,期待你的關(guān)注~
長按識別圖中二維碼關(guān)注

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉