破解數據庫內核人才困局:PingCAP 的思考與嘗試丨Talent Plan 專訪

數據庫最早可以追溯到上世紀 60 年代,和當代電子計算機屬於同一時代的產物。從問世那一天起,數據庫就承擔着向上支撐應用軟件,向下調動系統資源的功能,在 IT 架構中處於核心位置,被譽爲“軟件行業皇冠上的明珠”。但國內數據庫領域研發人才緊缺,嚴重影響着數據庫產業發展。

那麼,數據庫人才究竟爲什麼會短缺?又該如何解決數據庫人才面臨的挑戰?帶着這些問題,我們採訪了 PingCAP 高校關係與人才生態負責人王巖廣老師,請他分享 PingCAP 在數據庫人才領域的思考與嘗試。

數據庫的人才挑戰

以國內的人才需求狀況爲例,高校畢業科班出身並投身於分佈式數據庫的開發者,每年只有 6000 — 7000 人。但對應到數據庫行業,對人才的需求量究竟有多大呢?王巖廣老師給出了一個數字—— 10倍,也就是每年需要 60000 — 70000 人。這個缺口不容小覷,如果不加以重視的話,數據庫開發者就會面臨新鮮血液短缺,甚至缺乏持續動力,面臨“後繼無人”的境地。

目前,國內高校中關於數據庫的課程設置,還是以數據庫使用及基於 SQL Server、MySQL 或 Oracle 等數據庫做應用開發爲主。從課程角度看,以關係型數據庫爲例,主要分爲三類:一類是關於數據庫表、數據的組織方式,如集合論、關係代數、關係範式、SQL 語言;一類是關於 DBMS 實現的課程;還有一類是工業界數據庫的管理運維課程。

然而,在近十幾年中,中國互聯網經濟帶來的對於數據管理複雜度的需求,已經催生了對更復雜 DBMS 內核實現人才的需求。但社會需求傳導回高校教育尚需時間。

可能有人會問,除高校外,社會中也存在各種各樣的的數據庫技術培訓機構,他們爲什麼不能填補這個人才空缺呢?這主要是因爲相對於數據庫內核開發崗位而言,對數據庫使用或管理運維的崗位需求總量更大,社會培訓機構普遍瞄準的肯定是更大空間的數據庫運維市場,而對於 DBMS 開發這樣知識路徑很深,且需要掌握編譯原理、操作系統、分佈式系統等基礎知識,同時從整體人才需求量而言又不像前者這樣大的課程缺乏投入動力。

PingCAP Talent Plan 的緣起

2018 年,PingCAP 創始人團隊的劉奇和崔秋一起去美國灣區,參加了一個數據庫行業會議。他們注意到一個令其印象深刻的現象,那個會議裏有很多講師是從教育界和學術界來的,包括一些教授、講師甚至博士生。他們發現,這些人的理論水平、科研水平、工程水平都很厲害,這件事情對他們觸動很大,於是回國後他們敏銳地決定要與高校開啓一些科研合作。

這就是 Talent Plan 的緣起。爲了解決數據庫內核人才挑戰,PingCAP 推出了開源數據庫開發課程 ——Talent Plan 。通過聯合優秀高校和企業,面向全國各高校數據庫開發人才培養打造最佳實踐平臺,通過結業考覈的學員還將獲得官方認證的結業證書。

“分佈式數據庫和分佈式系統都是比較新的領域,回想起當年剛學習這些內容時最大的困難就是沒有系統的理論+循序漸進的實踐結合的平臺和課程,只能一邊看零散的資料一邊在工作中摸索,於是就有了做 Talent Plan 的想法,很高興看到當時的初心現在變成了現實。” —— PingCAP 聯合創始人兼 CTO 黃東旭

與高校進行科研合作,需要學生能夠理解工業界產品,Talent Plan 就成爲將學術界與工業界連接起來的那座橋樑。與 PingCAP 有合作關係的學校學生都能通過 Talent Plan 快速地瞭解 TiDB 等產品。

2018 年,一個迷你的 Talent Plan 0.1 版本開設起來了。從 0.1、0.2 到 1.0、2.0, Talent Plan 的路徑模塊、材料不斷增加,不斷迭代升級,目前學員已經累計超過 2000 多名。

Talent plan 課程體系特點

在學習過程中,很多學員會將 Talent Plan 與 MIT 6.824 這樣的側重分佈式理論的課程相比較。實際上,Talent Plan 是一個比 MIT 6.824 大得多的課程體系。MIT 6.824 嚴格意義並不是個數據庫課程體系,它主要講的是分佈式系統,在 Talent Plan 中,PingCAP 爲了致敬,用 Rust 語言重新實現了一遍 MIT 6.824 ,將其作爲一個課程組件。

據王巖廣介紹,Talent Plan 的課程體系中包括了 GitHub 如何用、開源怎麼協作,甚至還有 Rust 和 Go 語言的基本功訓練。爲了幫助理解 TiDB ,Talent Plan 課程中還提供了 TinyKV 和 TiDB Server 的教學版本 TinySQL。

對於學員而言,Talent Plan 的課程具有很高的難度。例如,如果想要全面理解像 TinyKV 這樣的模塊大概要用兩個月時間,每天需要花四到五個小時,是非常挑戰的一門課。所以有些學生在學 Talent Plan 前,就會先去學 MIT 6.824 ,對 Raft 協議有一個基本的認識後,纔會着手去學習 TinyKV。因爲 TinyKV 裏面除了 Raft 還有 Multi Raft、 MVCC 以及分佈式事務模塊,光這一個模塊就比 MIT 6.824 要多很多東西,學習的工作量很大,可以說真的是一個“小火焰山”。

如何保證學習體驗?

爲了讓更多學員不會對體系龐大、內容艱深的 Talent Plan 課程望而卻步,或是半途而廢,PingCAP 也在通過一系列舉措,將學習 Talent Plan 的順滑度變得更加平緩。

第一,舉辦學習營。 春節前,王巖廣老師的團隊剛剛舉辦了一期 Talent Plan 學習營。學習營以線上自學爲主,參加學習分享講座爲輔,PingCAP 會邀請往屆畢業的學員做導師,將自己學習過程中遇到的坑和必要的知識點分享給其他學員,幫助學員們將時間用在真正關鍵的學習上。學習營規模每期大概在 100-200 名學員,春節前這期參與人數甚至達到 400 人。

第二,Talent Plan 課程體系演進。 PingCAP 目前正在進行 Talentplan 3.0 的迭代。目標也是爲使學員學習課程更加平緩,增加一些必要的基礎知識信息。同時也會辦一些短期培訓,比如和中國計算機學會合作,在 VLDB 夏令營上就做過爲期 6 天的集中短訓。

另外,PingCAP 還會通過舉辦一些比賽,吸引一些在數據庫的開發和運維方面比較優秀,有學習數據庫開發潛質的學員。同時,課程相關的文檔也在不斷積累。但是學習當然是密度較大的、常態化的,也是需要一直跟進“打卡”。

未來,PingCAP 還會將 Talent Plan 變成一個學習社區,這就不僅僅是 PingCAP 一家公司來主導了,裏面的所有參與者都是利益相關方,資深的成員會很自然地形成幫帶制度,高分學員還可以成爲導師,來自一線工業界的工程師也可以進來指導開發經驗。大家共同努力,共同享用,建設一個全新的、開放的、共享的、共治的,以開源模式引領的一種學習社區。

第三,通過學習社區共創一本 Talent Plan 的書 。之前,Talent Plan 雖然也有電子文檔、論文、資料、PPT、實操課等,但一直沒有一本實體的書。國內學生的習慣還是希望能有一本比較系統的書,從概念到實操到作業,像是教材一樣。有了這樣的主線,學習體驗也會更好一些。

擁抱開源的課程

作爲 PingCAP 出手的項目,最重要的特點當然是開源。Talent Plan 所有課程從 0.1 起就是開源的,課程做出來以後,PingCAP 立刻將其放在 GitHub 上面。目前,它在 Github 上的贊星數高達 7000 餘,在數據庫課程領域裏面可能是最高的一個。

後來的發展,完全超出了 PingCAP 的預期。Talent Plan 學員來源於 200 多所學校,其中包括約 50 所境外學校。由於課程是英文的,逐漸地,與 PingCAP 還沒建立合作關係的國際學校,包括 MIT、CMU,以及日本和歐洲的一些學校也都來了。

Talent Plan 的成功,不僅僅是解決了 PingCAP 的問題,更大的動力是因爲它解決的是行業問題。在人才這個困局面前,PingCAP 所有的行業競爭對手都變成友商,大家面臨的問題是一樣的,這是一個有利行業、有利於國家社會的事情,所以 PingCAP 會一直持續地投入下去。

對 Talent Plan 學員們的建議

王巖廣老師對學員們的第一條建議就是“擁抱開源”。在分佈式數據庫領域,互聯網、GitHub 裏的學習資料其實有很多,如果不去擁抱開源,可能就很難進入這個領域。再者,學員們未來如果從事分佈式數據庫領域開發工作,工作的方式很可能還是圍繞着開源方式展開,擁抱開源是大勢所趨。他認爲,新時代學生求職時的簡歷不再是一頁紙,很可能會是他的 GitHub ID。他做過哪些開源項目,提過哪些 issue,是哪些項目的 Contributor,從 GitHub 上一目瞭然,它比傳統一頁紙的簡歷更加真實可信。

同時,開源項目往往都不僅僅是指開源產品本身,而是更大的開源生態範疇。如 TiDB 生態中包含着衆多周邊工具,大數據工具,甚至還有其他企業做的發行版。這些生態都需要開發人才,如果你對生態中的核心產品很熟,會成爲生態中非常受歡迎的人才,就業空間也會很大。

第二條學習建議是學習路徑。 由於 Talent Plan 整個課程體系難度較大,學員們可以先從單機數據庫課程開始學習,比如 Andy Pavlo 的15445 課程、MIT 6.824 課程,這些都可以作爲前序基礎知識。

Talent Plan 的意義

目前,數據庫人才需求的挑戰還很大,但是 Talent Plan,以及整個 PingCAP Education 都在不懈努力,讓每一個有志學生都能夠很快地通過一個開源的學習通道,進入開源分佈式數據庫的開發生態裏。

PingCAP 用開源融化了工程界和學術界之間的界限,並改變了教學模式,老師和學生之間不再是傳統的授課關係,而是變成學習社區裏共同學研的平等關係。歡迎更多小夥伴們加入 Talent Plan 中,通過學習最終踏上分佈式數據庫“高階玩家”的平臺,也歡迎大家提供建議、貢獻智慧,一起打造“共建共享”的學習社區!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章