開發與維運

螞蟻操作系統資深專家秦承剛:應屆生如何摘取軟件行業皇冠上的明珠

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

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

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

從一篇論文說起

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

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

在計算機界有一個編程語言和操作系統的頂級學術會議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日,走進阿里云云棲號在線課堂,螞蟻金服開設了【螞蟻金服課堂】螞蟻金服數字課堂直播間,螞蟻金服高級算法專家溫祖傑將分享螞蟻智能客服系統的主站算法框架,包括推薦,對話,調度,體驗相關的算法,重點介紹猜你想問,基於強化學習的序列推薦,知識蒸餾,機器閱讀,強化學習調度等工作。

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

Leave a Reply

Your email address will not be published. Required fields are marked *