從Java開始的華為小白,是如何步步邁進星辰大海

從Java開始的華為小白,是如何步步邁進星辰大海

與熱愛,共赴下一場山海

18歲時,我怎麼也想不到自己會投身於0與1的世界。大學期間,我可是就讀於華南理工大學經貿學院,在這個似乎與計算機、寫程式碼離得比較遠的領域,學習了四年。

但在大學四年裡,一次偶然我接觸到了Java,比起自己的專業,我覺得程式設計的世界更加簡單純粹,就這樣我被深深吸引,帶著喜歡,用空餘時間投入其中,漸漸地程式設計變成了我擅長的領域,後來,竟然開始有同學向我諮詢,連學校的老師也開始邀請我一起做校內教務系統的專案,這些都給我極大的滿足感,我開始認真思考未來發展規劃:熱愛能不能成為我奮鬥的未來?不是計算機專業能否敲開研發的大門?

正巧這時,我一個同樣愛好程式設計的同專業師兄成功入職華為研發,給了我莫大的信心,我決定潛心到程式設計領域去深研,從書籍、文章、論壇、慕課,與我的“物件”Java相知、相熟。

我試探著向華為投遞了人生的第一份簡歷,還記得第一次機試時我緊張又認真的樣子,像是對熱愛交了一份答卷。等待的過程不長卻很煎熬,我在否定與肯定自己間反覆橫跳,直到驚喜地收到二面的通知。記憶裡面試那天日暖風和,我坐了一個多小時地鐵來到面試地點,在激動和緊張中,通過了技術和綜合面試,如願成為一名華為人。回首這段心路歷程,只覺別怕路長夢遠,總有星河照耀。

浪裡小白拿下一血,新手村任務勝利

結束新員工培訓後,我加入管控析平臺部。第一天就見到了我的導師棟哥,給我細緻講解了需要具備的業務知識與技能外,還給了一堆“祖傳秘籍”資料。作為一個新員工,我對所有的事物都抱著極大的興趣,在快速熟悉資料後,便主動找導師請教專案上的疑惑和想法。沒想到我的主動,為自己贏來了在華為的第一個機會。

“部門現在作為自動駕駛網路的雲化底座,承載著很多技術的演進和探索,現在有一個技術專案,需要一個人先行進行方案的可行性研究,你有沒有興趣?”我眼睛一亮,二話不說地答應了,隨即又為自己的衝動懊悔,因為棟哥說的很多東西我都沒聽懂,努力吸收後才知道是做Java的新通訊協議,探索讓應用互動更快的通訊方式,能大幅提升產品效能!我心裡也有點慌,這個任務可不簡單,萬一搞砸了對不住導師的信賴怎麼辦?

但我又給自己鼓勁,來這裡不就是想做出一番事業嘛,怎麼能還沒開始幹就打退堂鼓呢!我清掃了心中不安,先向導師請教一個新專案該如何下手,有哪些關鍵點需要提前考慮。開局因為有了導師的點撥相對順利了很多,隨著研究的逐漸深入,當我苦讀完協議準備大刀闊斧干時,竟發現Java語言不支援UDS(Unix Domain Socket)協議?如同準備炒菜時,卻發現灶裡沒柴,無法生火,我有些欲哭無淚。一番思索後,我發現有新的三方件透過外部呼叫可以實現這個協議,立刻透過demo去驗證可行性,但因為底層語言的衝突再次宣告失敗……

人生的第一個需求,可不能慫啊!近乎魔怔的我,週末都在鑽研問題根因,通讀底層的連線程式碼,終於撥開雲霧看到一絲希望的光芒。

到了週一,我急忙趕去公司動手實踐,開啟了我重寫連線層程式碼的副本。有次在攻關無法獲取連線的問題時,我的肚子發出咕咕聲響,才發現辦公區早已空無一人,來不及欣賞天空中繁星點點與松研所美景相交融的畫面,回到家倒頭就睡,迷迷糊糊中我似乎又走向了電腦,一點一點敲下最近實現的程式碼,鍵盤滴滴答的迴盪在腦中,不知怎麼程式碼就敲完了,更是刷刷地跑了起來。對啊!這麼解決不就成了!激動的我一個伸手歡呼,卻拍到了硬生生的牆上,疼得瞬間清醒,原來是個“日有所思夜有所想”的夢啊!

第二天,迎著剛破曉的清晨,我趕忙來到公司將昨晚的靈光付諸行動,一陣除錯,整體的思路對上了!心裡的一塊石頭也終於落了下來。

最終,我用了一週的時間近乎重寫了整個連線層面的程式碼,總算跑通了整個連線層的邏輯。人生的第一個需求,就是給業界標杆的三方件擴充套件新的通訊能力,想著未來商用化時,幾大產品、數千個服務跑在自己構築的程式碼上,享受著更快的通訊速度、更低的時延與更高的吞吐量,我第一次切身感受到了編碼的價值,內心充滿自豪,我這個小白,終於攻下第一城!

這一仗下來,作為新人,我收穫不淺。我還認真總結了工作三部曲,一曲是要了解背景及真實的客戶訴求,二曲是要切實瞭解及細化具體要做什麼,三曲則是完成後覆盤,考慮是否真的做好了,並進一步改進落地。

挑戰升級,浪裡小白再出鞘

也許是第一個需求裡的成長和學習能力得到了部門肯定,部門波哥讓我協助他做一個全新的技術專案:探索CloudSOP平臺的非同步Java框架。如果這個專案能實現,任務在執行過程中就不會阻塞,高併發下可以處理更多的任務,相當於給產品的效能增加了強勁的雙翼。

我開始了人生中的第一次出差,作為廣東人第一次踏出省外,沒有出差經驗,十月底的廣東,還在夏天的懷抱裡,我帶著廣東的夏,闖入秋意甚濃的杭州,一件短袖,別無它物,但內心熱血激盪。

初識Java非同步,我這個剛因進階而沾沾自喜的小白,一下子又回到了小白的起點。看著我求知慾滿滿的小眼睛,波哥大筆一揮拿起斐波那契計算便演示了Java非同步概念:一個斐波那契計算F(20)就已經讓Java的執行緒受到了極大的影響,整個呼叫接近卡頓,幾十秒都沒有結果返回,而非同步化下的斐波那契計算卻毫秒級別給出了結果。顯然Java非同步化,在某些方面的優勢非常大!但對於程式設計經驗尚淺的我來說,做非同步就是挑戰自己慣用的思維方式,從單執行緒變成多執行緒,是個不小的挑戰。

萬丈高樓平地起,以前工作只是編碼,從編碼到設計卻是第一次做。剛開始,我還有些不好意思和波哥交流我的想法,更多的是請教學習,記錄一些關鍵的知識點,然後自己快速地查資料惡補,勤能補拙,後來打的交道多了,我也開始提出自己的一些想法。

有次我提交了一個最佳化設計程式碼,但得到的回覆卻是設計冗餘,要進一步解釋。我仔細看了看提交的設計,確認幾次後忍不住問道:“波哥,你覺得這塊這麼設計不好的點在哪?”

“你看這部分不是顯得很冗餘嗎?”

“但整體的效能會得到提升,且結構上也更可讀啊!”

“甜甜,我覺得這塊的消耗是可以接受的,你是不是過度設計了?”

我的表情凝固了,是不是我經驗不足沒思考全面?認真回顧了一遍思路,我堅持地回道:“一次效能的消耗可以接受,但其實這裡調動很頻繁,需要最佳化。”我主動拉著波哥逐步講解分析過程,聽完後波哥若有所思地點了點頭,設計被採納了,同時在原有的設計上做了進一步最佳化。

雖然大多數碰撞中,我的觀點不夠全面,可隨著碰撞的火花不斷地迸出,就總有新發現,我也從碰撞中學到新的觀念與知識。

有一天,波哥突然向我說道:“你之前做過tomcat(Web應用伺服器)新增UDS通訊能力的擴充套件,我也想給一個三方件做這樣的擴充套件,但怎麼也取不到連線,幫我看一下吧!”我猛然扭頭疑惑地看著他,真摯的眼睛眨了又眨,確定他是在向我求助,得到肯定的答覆後,我趕忙與他一起分析,不到5分鐘我們就把問題解決了。波哥向我投來了讚賞的目光,那一刻,我簡直想開心地手舞足蹈,從主動問問題到被求助,我明顯感知到自己的成長,想起啃書學習的時光,想起每一次與問題咬牙堅持的死磕,那些在別人看不到的地方,付出也一定有收穫。

如今我再來回想,我來華為第一個需求是擴充套件一個三方件的實現,第二需求就升級為參與設計一個三方件,如果用一個詞形容我作為新人的半年生涯,那一定就是“挑戰”。

在四有團隊中成長,做實力浪裡小白龍!

在杭州那段探索技術的日子充實而愉快,非同步ORM(物件關係對映)的專案也到了一個階段,我結束了Java非同步的投入,回到東莞轉入到其他攻關專案中。回到組內,我立馬投入到全新路由元件構建的專案中。

不久,我們就遇到了一個巨大的挑戰。當前版本遇到了嚴重的阻塞問題,且攻關多日無果,交付落地又迫在眉睫。我們是繼續攻關問題,基於新路由元件進行需求開發,還是把老的那套路由元件拿出來進行改造呢?如果繼續攻關新元件,一旦未能及時攻關,版本將無法按時保質交付。但如果改造老元件,就要把版本交付的新需求落在老路由元件上,勢必造成一定的浪費

正當大家躊躇不決時,開發部長組織了一場動員會,同大家一起分析了當前的挑戰和機會。首先絕不能放棄我們的追求,新的元件才能承載未來雲化架構的演進,同時版本需求的交付也是我們必須堅守的承諾,要證明我們是一支

有追求

同時又

可信賴

的隊伍。最終部門抽調人力,加入我們,兩線並行作戰,確保技術演進和需求交付目標均可達成。而我,被指定負責老路由元件上的需求開發。

專案策略雖然確定,但實現落地仍是一個巨大的挑戰。在雙線作戰的這段時間裡,大家都承受著巨大的壓力,但我們不是孤軍奮戰,每個關鍵節點,團隊主管都會和我們一起分析當前的風險與困難,給我們加油打氣,多個階段衝刺的深夜,都給大家準備了豐富的夜宵補充戰力。

臨近春節,我們基本完成老版本路由元件上實現新的需求,有了支撐了版本順利釋出的底氣。這段時間的牽頭交付也使我快速轉身為組內骨幹。不久後,在組內同事的共同努力下,新版本路由元件也攻克了難關,在下一個較大的迭代版本上,順利地完成了切換。

這段經歷讓我這樣一個習慣單打獨鬥的職場半熟新人感受到了團隊強大的力量,以及那句“敗則拼死相救,勝則舉杯相慶”的真正含義:

團結

切換完成後,匯流排在雲化和智慧化的道路上邁出了第一步,版本質量趨於穩定,前期專案攻關中積累的經驗也讓我對新路由的進一步演進有了些想法,沒想到我的想法引起了大家的共鳴,深入思考後,我們向領導彙報了相關計劃並得到了極大認可,為了保證整體質量。領導特意給我們協調了平臺的首席架構師胡昊,作為指導給我們保駕護航。

我主動請纓負責這個重要任務,但這次的任務不是簡單對程式碼進行程式上的修改,而需要考慮什麼架構才能滿足我們未來雲化的演進目標。我積極找昊哥跟他進行請教,站在牛人的肩膀上,我清晰感受到自己的思維方式和水平迅速提升。經過一番錘鍊,終於到了接受考驗的時候:效能測試環節!我內心充滿了期待與緊張。

“部分場景效能資料翻倍,最差場景資料也比演進前版本提升了20%—30%!”振奮人心的測試結果瞬間傳遍組內四周。

“夠牛!夠

專業

!”主管一句話就讓我的心裡暖暖的,大多工程師不善言辭,但只有這群人知道成果背後的酸甜苦辣,而此時的一語帶過,已勝過千言萬語。

四有新青年,我們的征途是星辰大海

從一開始的追求成長抓住機遇,到與團隊商用交付日夜奮戰,再後來,有幸與專家碰撞開拓視野,並被信賴委以重任突破自我,最終將四有“

有追求、可信賴、團結、專業

”融入日常工作中。

現在,大家也會打趣,說我是一名標準的四有新青年。浪裡小白龍乘風破浪的這幾年,時刻提醒我,作為年輕人,要敢想,敢幹,沉下心來鑽研,也要敢於向有經驗的前輩請教。作為華為人,要勇敢、進取、果斷和無畏,縱遊在未來的這片星辰大海中。