聂殿辉,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 搜索或发帖交流~