TiDB Hackathon 2021 自 12 月 9 日开启报名至今,已经收到 259 名参赛者报名,组队 64 支,光是队名就脑洞大开,如:渡渡鸟复兴会、LET ETL ROCK、队长负责带饭、小母牛坐飞机、双呆、OneLastCode、TiDB 十年老粉等等,项目 idea 也充满各种奇思妙想。
目前,距离 2022.1.8 - 9 比赛日,已不到两周时间,想必各位参赛选手已经摩拳擦掌,开始准备自己的项目了。在等待最终比赛日的这段时间,TiDB 社区采访了三位 Hackathon 参赛选手,他们有的已经参加了 4 次,是名副其实的老选手。有的从评委变成选手,第一次下场参赛。我们通过访谈记录了他们对 Hackathon 的理解和感悟,同时探讨开源对他们个人和工作带来的改变,还有极其重要的参赛经验分享。参加本届 Hackathon 的选手或是对 Hackathon 有兴趣的小伙伴们,值得一看。
第一位选手你肯定想不到,他就是 PingCAP 联合创始人兼 CTO 黄东旭,作为多界评委的他,终于忍不住手痒,要亲自下场参加比赛。参加今年 TiDB Hackathon 的小伙伴们可以和东旭同场竞技,一决高下啦!
那他为什么相当选手?又会带来什么 idea 呢?让我们一起来听听他怎么说。
以下为访谈记录:
Q1
往年 Hackathon 你一直是评委,为什么这次想当选手?你带来的项目是哪个方向呢?
黄东旭:对我来说,当评委有一个特别不好的体验,就是你明明看到这个 idea 特别好,但是你又没有办法去实现它。而且因为我们项目特别多,当评委那天的信息量太累了,我觉得还是写代码比较轻松一些。
关于项目, 今年我想写一个一直都想做的东西,它并不是一个看起来非常 hardcore 的项目,但是它能改进整个用户的用户体验,同时又非常接地气,是大家一眼看过去,不用过多解释就知道是什么东西,总之期待吧。
Q2
所以写代码是你这次 Hackathon 当选手最大的动力?
黄东旭:是的,写代码强身健体,是一个非常好的娱乐活动。我觉得 Hackathon 就是一个大 party,这次我就不在旁边看着了,亲自下场跟大家一起嗨起来。大家把我当做普通的 TiDB 社区贡献者就好,现在我一般介绍自己的 title 时,都是把 Engineer 放在 PingCAP CTO 之前的,在比赛中我就是一名业余选手,相信评委能够非常客观公正地投票。
Q3
外界经常有人说 PingCAP 是一家 Hackathon 驱动的公司,Hackathon 这个活动形式最大的特点是什么?
黄东旭:我觉得 Hackathon 可能给我们一个机会,因为我天天都在 PingCAP 里面工作,视角可能是内部的视角,我们自己的认知都是看着手头上这一亩三分地,所以 Hackathon是一个非常好的机会。
第一,让你得到很多的思路,你能在短短几天之内感受到很多奇思妙想;第二,这些奇思妙想不需要写单元测试,不需要 code review ,能快速地将它实现出来。
对我来说, Hackathon 能让我看到更多可能性,同时在探索这些可能性上迈出第一步。我们在过去确实是有很多的 idea 在 Hackathon 生根发芽,最后在产品中落地。比如说像两年前的一等奖,做了一个线程池,一个异步的框架,最后也是合到了 TiDB 的主线里面。但把 PingCAP 叫做 Hackathon 驱动的公司倒也不准确,也不是说这个公司必须得要 Hackathon 才能驱动。Hackathon 最主要的目的还是给大家提供一个大 party ,大家玩得开心才是优先级第一的。
不论是我,还是我们的团队,或是社区里的开发者。我希望通过这个活动,第一,让我们看到更多可能性,拓展视野。第二,可以让我们对这个社区更加有信心。
Q4
今年 Hackathon 设置了四大赛道,除了内核以外,还有工具、生态和不受限,这样设置的导向是什么?
黄东旭:每一年 Hackathon 的 kickoff 邀请我,都会问我有什么要求或什么需求,其实我每年的需求都是不要设限,不要让大家局限在什么东西上。今年也是一样,我每年都会提这个要求,就是让大家放开玩。
同时,我觉得 TiDB 已经到了一个时间点。它已经超出了技术本身,有无数人在用,它开始拥有自己的工具生态。我们观察到很多不同的用户和公司,为了让自己更好地使用 TiDB ,用得更爽,发明了很多很有意思的周边工具,甚至有一些看起来非常接地气,非常实用的东西。
所以,我们希望大家能够不设限地想一些能够更接地气,帮助大家使用 TiDB 体验更好的项目,而不是让大家的目光都局限在内核本身。这也说明 TiDB 到达了一个新阶段,开始强调产品化、应用性,强调整个用户的体验,我也想通过本次 Hackathon 给社区传达这么一个信号。
除了东旭,今年还有一位三届老选手—— PingCAP Community Development 团队负责人 孙晓光,他正在犹豫要不要参赛。
以下为访谈记录:
Q1
今年整体感受开源最大的变化是什么?
孙晓光:许多人过去可能只把自己看做是开源的用户,并没有主动考虑自己除了作为用户,与开源还有什么关系。但在过去一年,能够很明显地感觉到这发生了变化,越来越多的人开始思考:为什么开源和商业化是不冲突的?为什么开源对用户、以及背后的商业公司都有巨大的价值?也许大家还没找到答案,但大家愿意去尝试开源,愿意去相信开源。开源领域也有很多新的面孔加入进来,他们愿意在开源方向上去做一些尝试。
Q2
企业用户用开源有哪些好处?企业用户用开源会踩到哪些坑?
孙晓光:其实对于互联网公司而言,基本可以说他们是站在开源的基础上才成长起来的,如果没有这些非常成熟的开源基础软件,也许不会有今天大家看到的众多互联网公司的诞生。互联网其实是一个特别普惠的商业模式,它把过去许多成本非常高的事情,用新的方式极大地降低了,并为用户带来了高质量的服务。这其实就要求底下的各方面效率都要特别高,基础软件自然是其中一部分,它只有足够成熟、足够有效、可扩展性足够强,才能在合理的成本下快速地支撑整个业务的发展,不会成为业务发展上的拦路石。不论你的公司是在 10 万 DAU ,还是百万 DAU,或是到千万 DAU ,底层支撑的技术都可以伴随着你一路成长起来。
Q3
你当时在知乎就参与到 TiDB 社区运营中,现在来 PingCAP 继续做这件事,你觉得 TiDB 社区的优势有哪些?
孙晓光:在开源社区里,特别重要的是人,是人推动了社区的发展,人与人之间的连接扩大了社区的范围,每个人都可以为社区引入新的力量。TiDB 社区是一个已经颇具规模的社区了,经过多年的持续耕耘,这里已经存在的这些人,会带来新的力量、新的血液。这种状态也可以用生态这个词来代表,基于开源社区构建一个产研和社区的生态,这是我们未来的目标。
Q4
TiDB Hackathon 2021 马上要开始了,过去几年你参加 Hackathon 有什么感受?
孙晓光:我参加过三届,一开始其实特别关注内核。技术人员其实很容易去关注最核心的部分,越内核越能体现自己的技术水平。往后我开始逐渐去往用户价值方向考虑,上一次参与,其实就是知乎内部的一些实际诉求。我加入 PingCAP 后,也更多关注在生态领域。其实 TiDB 能触达的早已不只是内核开发者,也不只是工具开发者,也不只是 DBA,它还会再继续扩展到更广泛使用数据库的人群。这些人最初可能是互联网公司或者专业软件开发公司的应用架构师。比方说 Power BI 这样的产品,可能真的是数据分析师在用它去洞察自己的数据。所以作为这样的底层产品,我们可以继续扩散、继续触达的人群是非常大的,怎么能更好地触达他们,弥补他们和我们之间现在的鸿沟是非常值得去做的事。
Q5
今年你会当选手还是当评委?
孙晓光:我应该不会当评委,选手这件事情还没有想好。实话实说,每年的 Hackathon 其实有非常多的挑战,而在 Hackathon 中, idea 是非常重要。我已经参加过三届,对自己的创造力感觉已经有点瓶颈了。
Q6
对于今年 Hackathon 有什么期待?
孙晓光:我们前段时间在复盘 2019 年 Hackathon 的时候,发现今天终于被我们的产研发现有巨大价值的东西,其实在数年前的 Hackathon 就有人提出过,甚至已经给出实现了。所以我希望一方面有更多非常有 idea 的新人加入进来,给我们带来不同的视野、不同的观点。另一方面,我特别希望今年的 Hackathon,我们能更好地理解参赛者给 TiDB 带来的这些想法,更早地把它的价值挖掘出来。
Q7
以你过去参加三届 Hackathon 老选手的身份,给新选手一些建议?
孙晓光:首先要有一个比较平和的心态,Hackathon 是一个满足自己创造性的非常好的舞台, Have fun 就好了,这件事比奔着得奖更重要。只有你是在这样一种的心态下,你才能更好地打开想象力的边界,否则很容易陷在评委或者观众感兴趣的事情里,那些会禁锢你的视野,其实很多非常有创意的 idea 就是出现在少数人的脑中。
最后压轴出场的就是四朝元老级选手——王鹏翰,他是一个从高中时期就参加信息学竞赛,大一就接触到开源的极客,对开源与 Hackathon 有很多自己的理解。
个人简介:王鹏翰,GitHub 常用 ID 是 WPH95,目前工作于思科旗下做应用性能管理的公司 AppDynamics,主要从事日志搜索引擎的研发和可观测性相关的一些工作。
以下为访谈记录:
Q1
你最早接触到开源是什么时候?你觉得开源的内核精神是什么?
王鹏翰:我高中的时候参加信息学竞赛,开始了比较系统的计算机编程的训练和学习。大一的时候就想一个代码评测平台,其中的评测模块用到了 Docker 技术,通过 Docker,接触到了开源社区。我觉得开源的内核精神是 share,所有东西都会分享在公开的平台上,项目的设计、实现甚至思考过程都可以看到。
Q2
你都参与过哪些开源项目?
王鹏翰:我读书时维护过一个国内小有名气的项目 CodeVS,因为开发该项目参与了容器生态的开源项目。我目前主要参与的开源项目是跟工作息息相关的一个项目,叫 OpenTelemetry,现在可以说是 CNCF 的当红“炸子鸡”。
TiDB 项目也参与过一些 Easy Issue,主要参与的开源项目一方面是 Docker 相关的开源项目,比如说给 Docker 的安装脚本修过 Bug,也给 Kubernetes 修过比较底层的、跟存储相关的 Bug;另一方面是跟可观测性相关的,比如帮助了 Grafana 实现了 Elastic Search Alerting 的功能支持,也给日志采集器 FileBeat 项目贡献了很多代码。
Q3
你最早是如何接触并参与 TiDB Hackathon 的?
王鹏翰:和 TiDB Hackathon 最初结缘是在贵司内部笑称的第 0 届的 Hackathon,也就是 Go Hackathon,因为我自己以前是 Docker 圈的,也很喜欢参加这类竞赛活动,看到有 Go 语言相关的 Hackathon,就果断报名参加了。
Q4
你对参加 TiDB Hackthon 的感受如何?与其他类似活动有什么不同?
王鹏翰:TiDB Hackathon 非常符合我对 Hackathon 的想象。首先,Hackathon 必须要 Hack,要很酷,其次就是给参赛者充分的环境,PingCAP 作为主办方,提供了非常舒适的环境,让我们在一个周末里放飞自我,完成自己觉得非常酷的想法。
2016-2018 年我还在上大学的时候,Hackathon还是比较火热的事情,大家组织、参与 Hackathon 的热度很高,但最近几年能坚持办 Hackathon 的公司,在我的认知里只有 PingCAP。现在 TiDB Hackathon 已经是我心中的技术春晚,每年肯定要参加一下。
Q5
你作为所有届 TiDB Hackathon 都参加的选手,对 TiDB Hackathon 这些年的变化有什么感受?
王鹏翰:越来越卷,长江后浪推前浪,已经快卷不动了。参加第一届的时候还能摸摸鱼,回去睡个觉,第二届、第三届基本上全程通宵。参赛者的水平、项目的水平在逐渐提高,随着名声越来越大,数据库领域越来越细分,项目也越来越精彩,要花更多倍的努力才有机会得奖。后面随着自己年龄大了,可能就会去躺平,注重如何开心快乐地参加 Hackathon,奖项就让年轻人去争吧。
Q6
可以给我们讲讲你的参赛项目吗?
王鹏翰:第 0 届 Go Hackathon 的时候,我做了一个叫 GOsUgar 的东西,给 Go 加一些语法糖,把常用的装置器或者是 template 这种概念加入到 Go 语言中,我觉得很好玩,但当时能力有限,只是非常简单的替换,如果从语言 AST 角度做的话,成绩应该会更好,效果也更好。
第一届是跟着杜川和崔秋,还有一位在韩国读书的小伙伴一起做的,相当于给 TiDB 增加一些流数据库相关的支持,这在三年前是非常新颖的 idea,放到现在也是非常有价值的。这个项目算是帮 TiDB 做了非常早期的可行性验证,包括 TiDB 如何去跟流式存储、流计算做结合。后来实至名归获得了一等奖。
第二届的想法是给 TiDB 增加 Remote Engine,这样 TiDB 作为一个 Query Layer,可以调第三方的库,极大地加强 TiDB 的分析能力。但当时思考得不够充分,第三届的时候把这个 idea 给了女朋友进行一个增强。
第三届也就是上一届的时候,我在参与 OpenTelemetry 的贡献,发现写文档是很痛苦的事情。当时我第一反应就是去看看别的好项目,比如 Kubernetes 是怎么干的,发现他们做得也很一般,我都快怀疑人生了,开源社区的文档都做得这么不规范吗?后来我发现 PingCAP 是做得最好,因为有充足的 tech writer 做这一块, 还有很多前瞻性的事情在做。所以当时跟贵司的 tech writer Coco,一起合作了一个项目,把 tech writer 脑子里的想法,通过工具的形式做批量化的处理,这样既减轻了 tech writer 的工作量,又可以快速复制给其他项目,保证大家都能写出一份合格的、高质量的文档。
Q7
作为一名经验丰富的 TiDB Hackathon 选手,你对今年的参赛者有什么建议?对本届 Hackathon 有什么期待?
王鹏翰:我心目一直有一套衡量 Hackathon 项目是否优秀的公式,一方面它来自于真实的需求,一个现实中真实存在的问题,另一方面要通过一个非常酷炫、非常工程化,非常接地气的方法把它解决掉,这两者合起来,才是一个好项目。我建议参加 Hackathon 的萌新,可以从这两个方向对自己的项目进行评估和设计。
据说这一届 Hackathon 规模力超往年,而且这次的准备时间也更加充裕,希望看到更多、更好的点子在 Hackathon 出现。对于我自己来说,每次参加 TiDB Hackathon 都会选择一个新的领域,逼迫自己在很短的时间内快速地学习、实现和掌握一种技能,我希望这次 Hackathon 也能学习一些新的技术、技能,同时能给 TiDB 带来一些价值。
Q8
请用一句话讲下对本届 Hackathon 的寄语
王鹏翰:希望 2021 年的技术春晚 TiDB Hackathon 能圆满成功,难忘今宵。
TiDB Hackathon 2021
本届 Hackathon 主题为「Explore the Sky」,将在 2022.1.8 - 9 两个比赛日进行开发,线上线下联动。从 Ti 星球到宇宙苍穹,我们用 Hacking 连接更广泛的生态,给予参赛者尽情发挥的想象空间。本届 Hackathon 我们对赛道进行了全面升级,开辟出内核、工具、生态、「∞」四大赛道,参赛者不论是数据库开发者,数据库上下游生态,还是数据库的使用者,都可以找到适合的领域,围绕 TiDB 探索无限可能。
TiDB Hackathon 2021 自 12 月 9 日起正式开启报名,选手可以自行组成 1 - 4 人的参赛队伍,在参赛周期内完成作品,优胜团队将获得奖金、技术和资源上的支持。大赛邀请了数据库领域知名专家、社区技术大咖、顶级投资人代表等超强阵容担当评委,对项目进行全方位点评指导,扫除知识盲点,为赛事体验保驾护航。此外,还有顶级投资人全程坐镇,让你的实力被更多人看到。
了解更多详情:Explore the Sky丨来 TiDB Hackathon 2021 探索无限可能