施曉罡,花名星罡。
阿里巴巴演算法工程師,2016屆阿里星。
2023年,星罡在北京大學畢業並獲得了博士學位,研究課題為《動態資料流上的實時迭代計算》。
博士期間,他是一位名副其實的學霸,作為一名學生,在學術上取得了令人矚目的成績,曾在包括sigmod和tods在內的頂級國際期刊和會議上發表多篇學術**,並獲得校長獎學金、五四獎學金等諸多榮譽和獎勵,其中校長獎學金是北大的最高獎學金。
2023年畢業加入阿里之後,參與了實時計算系統blink的開發工作,負責計算狀態的儲存、備份和恢復等功能的研發。在2023年雙11期間,blink為搜尋、推薦和廣告等關鍵業務提供了穩定、高效和可靠的服務。blink相關工作同時也在開源社群取得了較大影響。通過將部分工作貢獻給社群,他已經在今年4月成為apache頂級專案flink的committer。
今天我們為大家採訪了這位阿里星同學,來看看作為一名阿里星,從校園到企業,從學術界到工業界,都經歷了什麼!
談淵源:源自遊戲,鍾情演算法
提問:大概從什麼時候開始接觸到計算機程式設計方面的東西?又是因為什麼喜歡上了計算機?
星罡:第一次接觸是小學,那個時候有乙個很流行的東西叫裕興學習機,裡面可以學一些簡單的dos、命令等程式設計的東西。我印象最深的是學習機裡面有乙個實現超級馬里奧的程式,然後我就照著那個教程把馬里奧繪出來,雖然也不懂**的翻譯,就照著教程把**一行行敲進去,這樣我就可以控制馬里奧到處移動。這應該是我人生寫的第乙個程式,雖然很簡單,但是寫完之後很開心。從那個時候開始一直到上高中我對計算機的理解基本上就等於遊戲,因為我特別愛玩遊戲,就喜歡上了程式設計。
提問:那計算機有這麼多領域,為什麼後來選擇了演算法呢?
星罡:選演算法有很多偶然的原因,最早我在實驗室的主要工作是在分布式環境下的資料儲存和查詢。那個時候網際網路技術隨著web2.0的發展,使用者產生的資料有了乙個指數級的增加,所以資料的儲存和查詢是乙個很大的問題。但到了後來計算機的技術的發展使得很多這方面的問題被解決了,同時大家對於資料價值的追求越來越高,非常渴望從資料之中尋找到那些潛在的聯絡,並運用到實際應用中。所以我在讀博的時候有乙個很重要的研究課題,就是如何從蒐集到的大資料中高效的提取資料價值,如何高效的執行豐富複雜的資料探勘演算法和計算機演算法。這個問題非常有挑戰,因為我既需要對演算法非常了解,還需要能提供乙個支援這些演算法的平台。所以我就特別希望能夠深入了解這些演算法,考慮如何把這些演算法通過乙個真實的系統讓大資料執行起來。
提問:在校期間取得了哪些學術上的成績,哪些對你來說意義非凡?
星罡:博士期間我的課題是《實時資料流上的迭代計算》,這個問題主要是想解決在實時動態的資料流上怎麼去高效的編寫和執行基於迭代的資料探勘演算法,主要的工作是兩塊,乙個是如何提供乙個宣告語言,就是一種很簡單的高階語言,能夠允許使用者簡單的編寫他們的迭代程式。另外的乙個工作就是考慮在分布式環境下在實時資料流上怎麼樣去跑這些迭代的程式。這些工作在當時非常有創新性,也非常有意思,在sigmod和tods這些國際的頂級會議和期刊上也發表了一些相關的*****。另外,這些成果也幫助我也獲得了學校的校長獎學金(北大校長獎學金為北大最高規格的獎學金,每年全校僅有100個名額)。
談選擇:研究與應用並重
提問:那麼在畢業前都有哪些選擇?為什麼最終選擇了阿里?
星罡:找工作的時候我面了不少公司,也拿了挺多的offer,我當時希望找乙個能夠繼續我博士期間研究方向並在實際中能夠發揮作用的工作,所以最早我猶豫要不要去微軟或者ibm這些公司的研究院,但是接觸之後感覺那邊的工作可能更偏向於學術研究,在實際應用裡並沒有想象中那麼大。之後我面了很多網際網路公司,滴滴、hulu、阿里等等,比較了業務情況、技術氛圍等等,發現阿里這邊的工作和我研究方向非常匹配,另外阿里的資料場景非常吸引人,因為阿里的流量非常龐大,另外我覺得阿里在業務上已經非常成功了,有足夠的資源在技術上做探索,通過技術創新來獲得優勢。通過和面世官的交流,我知道實時計算是阿里技術發展的乙個重要方向,希望通過實時計算在蒐集和廣告這些關鍵業務中,提高使用者體驗獲得更高的收益。所以在阿里我的研究和我的技術可能有更大的發揮空間,所以就果斷的過來了。
提問:那麼加入阿里的初心是什麼呢?想達成什麼?
星罡:上大學的時候我開始接觸阿里,那個時候經常會上**買東西,感覺**上的寶貝非常多,存量也非常大,那時候我就特別好奇**的系統是怎麼去搞定這麼龐大的資料量和訪問量的。後來隨著我研究的深入和對阿里的接觸,我更希望在阿里自己能夠搭建乙個在世界上有影響力的實時計算平台,自己也能夠成為乙個理論和實踐兼具,成為領域內的專家。
談工作:伴隨初心,在壓力中成長
提問:從學生到工作的轉變,這個過程中有沒有遇到過什麼問題或者不適應的地方?
星罡:之前在讀博士的時候一般我們的工作都自己安排,自己去尋找一些有意思的課題,然後追逐最前沿的科研問題。但是工作之後大部分的工作通常是由業務提出需求,所以在開始的時候總感覺自己的價值沒有發揮出來,然後日常的工作節奏也不一樣,因為以前讀博士的時候可能更關注於自己,每天的時間也由自己安排。但是現在可能會經常需要和其他團隊交流,每天的時間也比較碎片,利用率不會很高。所以剛開始的時候很難適應這樣的節奏,也很難適應這樣的工作環境,開始的時候工作效率會比較低,需要乙個轉化的過程。
提問:在工作中,阿里星的光環對你來說意味著什麼?
星罡:作為阿里星,會受到來自不同方面的矚目,可能有更大的舞台或者更靈活的空間給你,也有更多機會和那些大牛去**問題,但是可能對我來說意味著乙個非常大的壓力,因為阿里星其實公司和同事對你有期待,所以說你需要更出色,在工作中要更加努力,然後在個人發展中需要從更多的角度去思考一些問題,盡自己所能幫助團隊提高。
提問:到阿里之後做的這些事情你覺得做得最好的是什麼?
星罡:在阿里我主要還是做實時計算系統相關的事情,我們基於apache開源社群的乙個計算系統flink搭建自己的計算系統,名字叫blink,我主要負責計算狀態state相關的工作,我對state介面做了大量的改動,豐富了很多態別,並且優化了狀態備份的實現,還提供了很多任務具來提高使用者程式開發的效率以及使用者程式的效能。另外我們對可靠性做了很多任務作,比如前面提到的增量備份來減少每次備份的資料量,提高備份的效率,另外還做了一些在恢復時我們也通過本地復用來使得任務在發生異常時能夠很快的恢復。這些工作在實際業務中都起到了很大的作用,在科研社群也得到了非常好的認可。我們通過把這些工作貢獻給社群,我也成長為了flink專案的乙個committer,這對我來說是在阿里收穫的乙個非常好的榮譽。
提問:有沒有得到你預期的收穫,感覺最大的收穫和成長是什麼?
星罡:有的。乙個明顯的收穫就是我對阿里這樣的大公司的業務有了非常深入的了解,然後在技術上就是實際能力有明顯的提高,豐富了使用者場景,使得我有了非常豐富的除錯經驗,對峰值環境下的容錯、恢復這些都有了非常深刻的認識,在這方面的技術也有了長足的進步。
另外很關鍵的收穫就是深刻理解的平台化和服務化的重要性,阿里豐富的業務不僅要求我們開發滿足現有需求的產品,還需要我們能夠進一步的分析需求、分解抽象,設計出乙個靈活高效的計算平台,來驅動業務進一步的迭代。在阿里豐富的團隊合作使得對大專案的需求安排和專案規劃有了很好的認識。了解到了如何在乙個大專案中規劃自己的進度以及開發的能力。
提問:作為一名阿里星,在你眼中,你覺得阿里的哪些東西對你的成長來說是非常有價值的?
星罡:第乙個我覺得就是鼓勵創新和允許探索的企業文化,這讓我們在技術上有很多的大膽的嘗試。然後豐富的資料以及業務場景使得我們能夠從中獲取到豐富的問題,同時能讓自己的技術有乙個實踐和落地的舞台,看到自己的技術在實際中發揮作用,對於自己來說通常是乙個很振奮人心的事情。另外在阿里有很多非常優秀的同事,我的身邊就有很多在領域內屬於頂級的同事,從他們身上獲得了很多幫助,對我在技術上的進步有巨大的影響力。
提問:你當初的博士的同學現在都在做什麼?和他們相比你覺得現在的你有什麼不同?
給建議:保持初心,長遠打算
提問:對於即將畢業的師弟師妹們你有沒有什麼建議?
星罡:我覺得最重要的還是首先要打好自己的基本功,要有過硬的技術能力,然後在找工作的時候一定要想清楚自己想要的東西是什麼,保持一顆初心,在選擇工作的時候一定要考慮到長遠的打算,不要急於眼前的一些利益。
提問:最後讓你給阿里的校園招聘打乙個廣告,你會怎麼說呢?
星罡:阿里已經是世界上市值最高的網際網路公司之一,而且在技術上阿里人在不斷的進步,希望通過技術上的提高來獲得進一步的優勢。在這個過程中,阿里對於人才的需求是源源不斷的,阿里有豐富的應用場景,有非常龐大的資料。這些都為你們提供了乙個很大的施展的空間。阿里也特別渴望你們來這裡發揮你們的能力,一起創造出更大的價值,能夠改變這個世界。