聶殿輝,TiKV Committer,曾經是一個連續創業者,目前在掌門科技遊戲部門帶一個研發團隊。他還喜歡買手辦,拼高達模型。他不多發朋友圈,幾乎不用手機,自嘲是老年人生活模式,但對於參與社區仍是保持着一片熱情。
我大學畢業一兩年以後懷着一腔熱血開始參與創業,當時是公司第三位員工。最開始咱們作的一個項目想對標國外的 Twitter 和 Facebook,惋惜沒過多久微博就出現了,因而咱們的項目漸漸退出市場。2013 年開始和另一個同事參與過衆籌方面的創業,也是因爲時機不太好,後來也沒有繼續下去。數據庫
技術人員看着內向,其實談到技術就很好聊。壓力比較大的反而是一些相關知識的瘋狂補課。作衆籌創業時項目偏金融,和股權相關,這方面個人知識有點脫節,爲了更好的溝通所以惡補了大量金融領域的知識,這樣才能和對方聊的比較順利。架構
創業壓力確實很大,精神一直比較緊繃,有一種責任感在肩上。創業的時候不只僅須要把本身的技術作好,還要去考慮本身作的東西是否是對社會有價值有幫助,同時也但願在這過程當中對團隊有成長和幫助,雖然最後創業沒成功,但我對責任的理解更加深入了。ide
但若是讓我選擇,我仍是會去創業。創業的五年雖然很累可是很開心,有一些夢想和激情在,相信本身作的東西有價值。函數
因此我看 PingCAP 這樣一個創業公司時,也別有一番感覺。首先,我以爲 PingCAP 作開源有一種使命感,是我見過很是完全的開源。從我知道 TiDB 開始大家就一直在開源方面作各類各樣的嘗試。同時也很重視技術輸出,不管是相關數據庫領域仍是更外圍的技術領域,都能看到大家在努力分享傳授知識。性能
其次還有一個很神奇的點,我在提 PR 的時候感受 PingCAP 的同窗上班時間都不同,不一樣時間點都有人在 Review Code。優化
以前工做中就使用過一些小的開源項目。TiKV 是我參與的第一個真正的大型開源項目。網站
我認爲開源不只僅是在技術上開放源代碼,更是一個分享的態度、一種溝通方式。以前我會讀別人的源碼,後來看了《大教堂與集市》,我纔開始思考原來開源是這樣的。開源項目和公司內部開發會很不同,像 Linux 組織好一羣人,用很好的溝通方式把一件事作好,纔是頗有意思的事情。ui
TiDB 給我感受很像集市的開發,把不少人彙集在一塊兒,又保證可控的質量。對社區的溝通能力和組織能力是一個很大的考驗。spa
個人工做要求我對技術涉獵比較廣,由於怕落伍因此我每一年會了解一個開發語言。2018 年正好了解到 Rust,後來發現 Rust 確實不錯,想更深刻了解,因此要找一個項目去入手。後來在 GitHub 上掃到了 TiKV 這個項目,就開始去慢慢了解。開放源代碼
TiKV 是一個很複雜的系統,涉及的東西不少,因此當時想找到一個切入點去參與,恰好那段時間 Coprocessor 在作函數下推,這個模塊相對獨立,對我來講只要瞭解一部分就能夠參與 TiKV,很適合入手,issue 的描述和 lable 也很明確,比較好切入。
以前創業作項目更看重功能的完備性、應用性,若是性能有問題能夠回頭再修改。可是給 TiKV 提 PR,不少是性能相關。性能在我以前的工做中不是最重要的,但由於 TiKV 太底層太核心,因此很是壓榨性能,可能自己功能很簡單,但不少都是性能上能夠優化的點,這和我以前的工做方式很不同。
在參與 Coprocessor 以前我提過一個 PR,當時是 TiKV 有些依賴要升級版本,我那時對 Rust 還不瞭解,就想看看 TiKV 用了什麼庫,這樣能夠很快了解 Rust 生態。
印象中解決的最難的問題應該是 Row Format,這個 PR 牽扯的東西比較多,中間會穿插着一些其餘的事情要去作,有不少準備工做,而且須要很好理解整個 TiKV 工做流程,TiDB 上的數據發過來怎麼存,怎麼解碼,都是比較細節的問題。
我對 TiDB 社區的總體印象用一句話歸納就是:很專業,又頗有人情味。
專業是由於社區很系統,活動很豐富,感受 PingCAP 投入了很是大的精力在社區,像 挑戰賽,捉蟲競賽,最近也被各類刷屏。我以前掃過大家的博客,信息量很是大。
人情味是最開始看 TiKV Review Guide,Review Guide 裏提到一些規範,好比若是發現提 PR 的人掌握的知識不如你,也須要有一些耐心,讓人以爲很專業又頗有耐心。對參與者很是友好, Review 的環節很順滑,對新手來講很容易有一個切入點。
對人情味的感覺還來自於一次面基的經歷。
有一天我忽然收到 Breezewish( PingCAP 小夥伴)的信息:誒,看你 base 在上海,我也在上海,來線下面基唄?(直男就是這麼直白)
因而咱們約在 PingCAP 上海辦公室樓下的咖啡館,Breezewish 給我很詳細的講了 TiKV 的模塊,讓我對 TiKV 瞭解又更多了些。再後來我一點一點寫的函數被 Siddon Tang(PingCAP 首席架構師)發現,他說不要老寫簡單的啦,來寫寫難一些的唄。受此激勵,慢慢開始上手作了一些階梯的任務,好比 Row Format。後來也參與社區 性能挑戰賽 和 易用性挑戰賽。
從 Contributor 到 Reviewer 的進階仍是蠻輕鬆的,作的東西有認同感,到了 Committer 以後我會有一些壓力,由於這個角色對項目的理解須要更深刻,我也但願本身以後能夠花更多時間去了解 TiKV。參與的越多,越以爲代碼方面不是問題,對項目的總體把握纔是最考驗人的。
喜歡橫屏仍是豎屏? 豎屏
Emac 仍是 Vim? Vim
mac 仍是 Linux?Linux
Firefox 仍是 Chrome?Chrome,就是太吃內存了
喜歡用什麼鍵盤? HHKB
鼠標仍是觸控? 鼠標
甜豆花仍是鹹豆花? 做爲一個東北人固然吃鹹豆花!
最後回答一下莊天翼在 上一個採訪 中的提問:你最喜歡吃什麼菜,平時作菜嗎?
我不喜歡吃肉,從記事開始就不太吃葷菜了,對吃的沒啥慾望,平時也不作菜。老婆是個荒廢廚藝的廚師,以前喜歡作菜,但在遇到我以後以爲作菜沒有成就感了。(🤦♀🤦♂️)
歡迎登陸 PingCAP 官方網站查看技術文檔和博客: https://pingcap.com若對 TiDB 的使用有所疑問,也能夠登陸 Asktug.com 搜索或發帖交流~