天天看點

螞蟻作業系統資深專家秦承剛:應屆生如何摘取軟體行業皇冠上的明珠從一篇論文說起應屆生如何參與系統研發給應屆生的建議加入我們

就現在!螞蟻「校招季」重磅來襲!除了介紹螞蟻的技術大咖,我們還邀請了一些通過校招來到螞蟻的過來人分享他們的通關經驗和心得,這裡随時可能有行業技術大咖和你的直系學長學姐出沒哦~ 「校招季」欄目會持續輸出有關“螞蟻校招”的豐富内容,敬請期待!

近兩年,國内關于作業系統的話題逐漸多了起來,不過對于很多應屆生來說,作業系統研發的門檻太高,令人望而生畏。即使知道行業急缺相關技術人才,崗位高薪,待遇優厚,大部分人還是不敢貿然嘗試。

作業系統研發真的是不适合萌新應屆生的領域嗎?對于這個問題,在企業中進行相關研發的人又怎麼看呢?我們找到了在螞蟻金服進行系統軟體研發的資深技術專家秦承剛,來看看他的看法。

從一篇論文說起

秦承剛研發的作業系統是應用在雲計算上面的。随着螞蟻金服全面轉型雲原生架構,為了在新的架構下保障應用性能和資料安全,應對雲原生架構下的新挑戰,必須在系統層面進行深入挖掘。

談起應屆生是否适合作業系統研發,他提到最近剛好有這樣一件事。

在計算機界有一個程式設計語言和作業系統的頂級學術會議ASPLOS,原定于今年3月16-20日在歐洲舉辦,由于疫情,改成線上上舉行。

去年,螞蟻金服首次參與該大會,就有兩篇論文入選,其中一篇正是秦承剛團隊所操刀的。

這篇論文有兩個共同第一作者,一名是團隊的應屆實習生餘天依,另一名則是上海交通大學軟體學院的研究所學生。

這篇論文的主題是近兩年開始火熱的Serverless技術的啟動速度問題,這個問題一直困擾業界,是Serverless遲遲難以在生産環境大規模應用的原因之一,而團隊成功将Serverless冷啟動的時間降低到亞毫秒級别,其中的關鍵技術就是輕量級作業系統。

原來,這原本是秦承剛團隊的一個技術預研項目,在18年的時候,雲原生已經很火熱,但Serverless出現沒多久,不被人們廣泛接受,承剛預判到這項技術未來會有很大的潛力,是以選擇這個方向進行技術攻關。

由于涉及到一些前瞻性的技術,團隊需要科研力量的加入,也就是與高校展開學術合作。餘天依本身出自上海交大,通過她在當中作為技術溝通橋梁,團隊順利和上海交大并行與分布式系統研究所搭上線,雙方展開合作。

論文中用到的作業系統是Google于2018年開源的gVisor,論文在作業系統層面優化了Serverless場景下的執行個體啟動時延,能夠在幾毫秒内完成作業系統與應用的啟動。

承剛團隊所研發的輕量級作業系統也是基于gVisor,不過給它做了諸多改進與功能增強,在虛拟化技術網絡協定棧上做了很多創新。其中很多改進會逐漸回饋給開源社群,上述論文就是其中一個例子。

應屆生如何參與系統研發

上面的論文隻是承剛團隊工作的冰山一角,他們所研發的系統軟體是螞蟻金服可信原生技術拼圖的重要一塊。

所謂可信原生技術,是在社群的雲原生技術基礎上,實作軟硬體全鍊路的安全性,讓整個系統無論從内部還是外部都無法被攻破,進而實作可信任。

過去人們讨論雲原生時,安全問題并沒有受到太多關注。而雲原生裡的容器,相比虛拟機,更容易引發安全問題。在雲原生中,傳統容器共享同一個CPU等資源,缺乏隔離性,一旦一個容器發生安全問題,很可能影響到其它容器,甚至入侵整個系統。承剛團隊所研發的系統軟體,在底層作業系統和容器應用之間添加了一層隔離,進而提升了安全性。

承剛團隊的工作一方面是和作業系統打交道,是以對Linux核心的研究會很深入,團隊裡有專人參與Linux核心開源社群,以及跟進系統軟體相關的學術研究進展;另一方面,團隊需要讓應用在雲原生環境下運作得更好更安全,是以也會涉及到作業系統級别的工程效能、運維傳遞、安全可信等研發工作。

正因為最前沿的雲原生架構,和最古老的作業系統産生碰撞,是以對研發帶來了極大的挑戰,而且,很多時候有些瓶頸單靠經驗難以解決,需要借助學術界的力量,對難題進行攻關,上面的論文正是誕生于這樣的背景。

是以應屆生當然适合作業系統軟體研發,承剛團隊也一直希望有優秀的應屆生加入。

承剛希望兩類應屆生的加入,一類就是上面所說的研究型實習生,鑽研前沿技術,尋求技術突破。另一類則是普通的開發崗位,團隊也需要新鮮血液的注入。

新人加入團隊之後,除了常見的技術教育訓練之外,還會為每個新人配備一個“師兄”,師兄不僅會負責傳道授業解惑,還要像兄長一樣,陪伴新人、保護新人,和他們一起共同成長進步。

在工作安排上,不會一上來就給新人安排很難的工作,而是像更新打怪一樣,讓新人從簡單的工作做起,逐漸學習并融入團隊,然後承擔更大的任務。

給應屆生的建議

在今天,系統軟體研發并不是一個冷門的行業,很多公司都有負責開發維護系統核心,甚至是研發全新作業系統的崗位,但是市場上系統軟體研發專家仍然非常稀缺,是以這是一個很有前景的方向。

從另一個角度看,系統軟體研發的确是一個高門檻的技術領域,是以,對從業人員的素質也有一定的要求。

這裡面第一個門檻是需要有熱情,願意從事系統軟體研發工作。因為很多時候工程師需要與底層軟硬體打交道,需要深入了解作業系統與處理器的運作原理,這個過程是很枯燥的,如果沒有熱情很難堅持下來。另外,系統軟體和行業軟體不一樣,行業軟體在入職一到兩周後就可能會有産出,但系統軟體可能需要更長的周期,這也需要堅持下來的定力。

其次,對應屆生來說,想從事系統軟體研發,需要學好計算機專業基礎課程,把基本功打紮實,對于計算機硬體、處理器、作業系統、虛拟化等要熟悉它們的功能和原理。另外,需要持續學習,比如可以自學一些系統軟體相關的論文和書籍,關注最新的學術進展,在這裡,承剛也推薦了幾本書籍,讓同學們可以提前了解:

  1. 《Computer Architecture: A QuantitativeApproach》
  2. 《Systems Performance: Enterprise and theCloud》
  3. 《Understanding the Linux Kernel》
  4. 《奔跑吧 Linux核心》
  5. 《系統虛拟化 -- 原理與實作》

另外,如果從事這個領域,還需要關注的學術會議包括:OSDI、SOSP、ASPLOS、EuroSys等。

不過,系統軟體研發并不是高不可攀,高校學生在校期間就可以參與,首先從熟悉Linux系統開始,了解系統原理後,開發一些小功能,甚至小工具和腳本,也可以提升自己對系統軟體的了解。

這一項的進階版本就是參與系統軟體的開源社群,比如Linux核心、gVisor等等,從最基本的翻譯編寫文檔,到參與某項功能子產品的開發,通過這些行動,同學們可以快速的成長。

最後,如果對系統軟體研發感興趣,想了解如何面試,也可以看看前輩的面試經驗,祝大家都能早日找到自己滿意的工作~

加入我們

> 職位簡介

部門:螞蟻金服-CTO線-可信原生技術部

地點:杭州/上海

崗位:實習開發工程師

面向:2020.11 -2021.10 畢業的大學/研究所學生

面試形式:通常是電話面試,會提前預約合适的時間哦

投遞郵箱:[email protected]

> Who Are We?

我們團隊承擔了螞蟻金服作業系統的研發與創新工作。我們緻力于将先進的系統技術與螞蟻的金融級業務場景相結合,不斷在系統領域進行創新與落地。目前,我們的全新作業系統正在逐漸服務于螞蟻的核心業務。我們在協定棧,檔案系統,虛拟化等元件上已經有了大量的自研産品。并在系統領域的頂會ASPLOS 2020上發表了論文。同時,我們在軟硬體結合創新上也在持續深入。歡迎有志于從事系統技術的同學加入我們,共創輝煌。我們希望你了解作業系統,虛拟化技術,網絡協定棧,檔案系統等,最好有相關的項目經驗。也希望你能夠使用C,Go,Rust等語言熟練程式設計。更希望你有技術理想,對系統領域保持饑渴的好奇心,能夠迅速學習新技術。

> 領域方向

1. 虛拟化方向:從事螞蟻金服高安全輕量化的虛拟化技術研發。熟悉Intel X86,ARM等處理器的虛拟化技術,熟悉KVM等典型Hypervisor。有虛拟化領域的研發實踐經驗者優先。

2. 作業系統研發方向:從事螞蟻金服安全作業系統核心研發。熟悉Linux核心或其他作業系統核心。熟悉記憶體管理,檔案系統,網絡協定棧,程序排程等作業系統核心元件。有作業系統研發經驗者優先。

3. 系統安全技術方向:熟悉ARM TrustZone,AMD SEV技術,有系統安全技術的相關經驗。

4. 系統技術研究:從事系統與安全領域研究的博士研究所學生,發表過高水準論文,有紮實的研究成果。

> 基礎要求

1. 熟練掌握C、golang、Rust等程式設計語言,有系統技術研發經驗者優先;

2. 紮實的算法及資料結構基礎,對軟體工程有良好的了解;

3. 參與過Linux核心、gVisor、DPDK等開源社群者優先。

4. 熟悉Intel X86、ARM等處理器技術與原理者優先。

5. 有技術熱情、責任感,緻力于系統軟體研發與創新者優先。

3月26日,走進阿裡雲雲栖号線上課堂,螞蟻金服開設了【螞蟻金服課堂】螞蟻金服數字課堂直播間,螞蟻金服進階算法專家溫祖傑将分享螞蟻智能客服系統的主站算法架構,包括推薦,對話,排程,體驗相關的算法,重點介紹猜你想問,基于強化學習的序列推薦,知識蒸餾,機器閱讀,強化學習排程等工作。

掃描二維碼即可參與直播。

繼續閱讀