查看原文
其他

创业内幕 X TiDB Hackathon:聊聊程序员最喜欢的“马拉松”

创业内幕 GGV纪源资本 2023-02-12

最近,Hackathon一词时常出现在不少人的朋友圈,翻译过来就是“黑客马拉松”。等等……黑客也有“马拉松”?千万别想错了,黑客马拉松可不是一群黑衣人跑马拉松,而是一场属于程序员的赛事活动。它有着自由的形式:Hacker 们聚集在一起,紧密合作,发挥创意,持续编程,实现创想。编程马拉松的精髓在于:一群志同道合的伙伴,在特定的时间内,相聚在一起,去做他们想做的事情——整个编程的过程几乎没有任何限制。


上个月,以「Possibility at Scale」为题的TiDB Hackathon 2022 完美收官。


如何理解TiDB这款数据库软件?

背后的PingCAP公司有哪些特别之处?

举办Hackathon“黑客马拉松”比赛如何能吸引程序员和开发者来参加,又有怎样的赛道和比赛机制呢?


今天的《创业内幕》,我们将和PingCAP联合创始人兼CTO黄东旭,以及TiDB Hackathon“黑客马拉松”比赛中脱颖而的代表们,深入了解数据库软件TiDB,大饱眼福从Hackathon“黑客马拉松”比赛中脱颖而出的优秀项目。



Lily:

亲爱的听众朋友大家好,欢迎收听本期创业内幕,我是主持人Lily。本期是我们创业内幕历史上嘉宾最多,也是最有趣的一次,全部都是非常优秀的技术牛人,刚刚都在TiDB大赛中获得了非常优秀的名次。我们本期播客也是和GGV非常优秀的portfolio,也是全球领先的数据库公司一起联合举办的,所以我们先请PingCAP的东旭做个自我介绍。


黄东旭:

大家好,我是PingCAP的CTO跟联合创始人——黄东旭。其实我觉得自己更重要的一个身份,就是我还是一个程序员,我现在每天还在看很多包含技术的东西,如果有时间我都会写代码。


Lily:

接下来我们先请另外三位2022年TiDB大赛的获奖团队的代表做个自我介绍,施总先来吧。


施闻轩:

大家好,我是施闻轩,我在这次Hackathon(黑客马拉松)中是Data Dance这个项目团队的成员,我其实也是PingCAP的员工,主要是做PingCAP的产品TiFlash的研发工作。


Lily:

这次Hackathon里,闻轩你们的项目叫Data Dance,要不要给大家简单讲一讲?


施闻轩:

我们最开始是看到OSS Insight这样一个项目,发现它其实可视化方面做得非常好,但是有一个小小的遗憾,就是它只能看到像GitHub数据这样的可视化。


我想的是,其实我们平时生活中有非常多不同类型的数据可以可视化,我们就觉得,既然有这个想法,那我们先起个名字叫“Data Dance”,至于能不能做出来,那就做了再说。当然最后确实也能够做到一个比较好的效果,我们就后面再聊。


*OSS Insight:一个有趣、好玩、功能强大的开源洞察工具,帮助用户深入分析 GitHub 上任意一个代码仓库和开发者,还可以将两个代码仓库进行多维度的(贡献者、代码提交情况、协作讨论情况等)比较,并提供全面、有价值和趋势的开源见解。https://ossinsight.io/

Lily:

您是怎么跟Hackathon结缘的?是加入了Hackathon之后才了解了TiDB,还是说之前就了解?


施闻轩:

这个就和我最开始怎么认识PingCAP有关系了。差不多是读大学的时候,当时我还比较喜欢刷知乎,然后东旭老板也比较喜欢刷知乎,所以我经常能在知乎上看到东旭发的各种帖子。于是那时我就发现,数据库好像是一个很有意思的东西,PingCAP也就成了我非常想来的一家公司,所以我毕业后就直接来了PingCAP。其实那时我也初步了解了一下PingCAP做的一些东西,包括TiDB、TiKV之类的。


我加入PingCAP之前,最感兴趣的还是,当时我看到 PingCAP的技术站是由TiDB和TiKV两部分组成的,然后TiKV是用Rust语言,我之前只在一些非常Geek(极客)的圈子中听过这个语言,好像宣称能解决很多C++不能解决的问题,听起来确实是一个不错的语言,但是学习门槛也挺高。


所以我最早来PingCAP,最感兴趣的倒不是TiKV,而是我怎么能够去学到Rust这门语言。但随着后来我在PingCAP的工作越来越深入,我也更多认识到,其实编程语言本身只是一个工具,甚至技术本身也只是一种手段,最终还是要看我们,怎么能把这样一个产品更好地提供给用户,能够提供给用户什么样的价值,我觉得这些可能也决定了我在Hackathon中做一些项目的理念。


Lily:

请鹏翰、王康自我介绍一下。


王鹏翰:

大家好,我叫王鹏翰,我跟我的队友这一次参加Hackathon的组名叫“Mirror-魔镜”,然后我们两个人都在加州。我现在就职于AppDynamics,它是思科旗下一家做APM方向的公司,我在公司里负责日志搜索引擎相关的研发,以及做一些可观测性方向的探索。在加入思科之前,其实我大学结束后还加入了一家非常早期的star,叫Dashbase,这家公司也非常荣幸地在2020年被思科收购了,所以我大学毕业之后也算是一直都在一家公司工作。


我记得我最早知道TiDB也非常有趣,那是在我大三的时候(2017年),当时我看到了一篇招聘信息,是黄东旭在招实习。之所以让我印象这么深刻,是因为他的实习工资是250元/天,比当时的市场平均价高了不少。我记得当时我实习的时候,高的公司能给到200元/天,那就已经让我觉得是非常良心的公司大厂/有潜力的大厂,而他给了250元/天,给我留下了非常深刻的印象。我只恨我人在杭州读书,不能跑去北京上班,这是我对TiDB公司的初印象。


后来因为这个契机,我仔细去看了一下他们公司到底是干什么的,能开出如此高价。后来发现这个公司非常有趣,原来是CODESYS作者他们一起做了一个分布式数据库出来,依靠着 Google的那一篇论文给我们留下了非常深刻的印象。


王康:

大家好,我叫王康,来自MoreCat团队的无猫代表,现在就职于PingCAP,是TiDB的维护者之一。我也是大学时就听说了PingCAP这家公司,当时一个学长跟我说,有这么一家公司在做开源数据库,做的东西很酷,而且是开源的,所以我就记下了这么一家公司。之后他去PingCAP实习了,等到我实习时,他就安利给了我,于是我也加入了PingCAP实习,并且毕业后留了下来。


Lily:

可能有些听友会一头雾水,要不请东旭给大家介绍一下我们的大赛,也介绍一下TiDB。


黄东旭:

正经来说,PingCAP是一家分布式的企业级关系型数据库公司,通俗点说就是一家软件公司。这个软件属于计算机,而我们做的软件的品类叫数据库。这种大的基础软件的范围内,大家耳熟能详的一个基础软件叫作操作系统,比如windows、 Mac OS、 iOS属于操作系统;另一种用得最广泛的企业级基础软件就是数据库,比如平时大家用的微博微信,那些平台的信息就存储在一个叫数据库的软件里面,由这些企业帮你维护数据,让数据别被丢了。所以它是一个很古老的软件品类,但是又是很重要的一种系统软件。我用一个让非技术人员更加能够理解的类比,传统的企业级数据库软件可以类比为丰田宝马之类的汽油车,而PingCAP作为一个创业公司,正在做一个类似Tesla(特斯拉)的新能源车。


以上就是关于TiDB的介绍,而PingCAP就是TiDB数据库软件背后的公司。我们其实还有特别有意思的两个特点:第一个特点就是,它是开源的,大概就是我们把我们所有工作(包括软件源代码,以及怎么去设计软件的所有信息)全都开放,让全世界人民都能看得到,也能用起来。我们首先是一个开放源代码的公司,是一个很崇尚开放的公司;第二个特点,PingCAP是一个全球分布的公司,成员分布在各个国家,我们的业务不仅在中国,其实日本、欧洲以及北美的很多大家耳熟能详的公司,背后都是由我们的产品/软件TiDB去支撑的。虽然你们看不见我们,但是我能相信,如果你每天还在上网/用智能手机,你或多或少都会使用由我们产品去支撑的服务,所以这也是我还挺自豪的一个地方。


关于TiDB的Hackathon,其实是“黑客马拉松”的意思,是我们的一个传统活动,就是一群程序员,三天不眠不休写代码,大概用两三天去实现一个自己的想法。活动唯一的限制/要求,就是要跟TiDB的开源生态/我们的产品/开源产品有点关系,也不是要求有非常深的关系,但是好歹要有点关系。到现在为止应该已经办了5期,未来肯定也会继续办下去,反正每年大概11月、12月就可以参加TiDB Hackathon。


Lily:

我也很好奇,Hackathon是怎么做到能够吸引程序员和开发者都来报名参加的呢?我就把这个问题抛给几位嘉宾。


王鹏翰:

我每年参加PingCAP Hackathon,很重要的原因就是,我能逼着自己在非常短的时间里快速去学习很多东西,逼着自己快速去做很多决策,在短短几天内把一个想法落地。


另一方面算是欠人情,第一届时我非常有幸地抱了PingCAP联合创始人崔秋老板和另外一个杜川总的大腿。当时我虽然已经有参加过十几次大大小小的Hackathon,但那一届非常硬核,都是在做TiDB内核相关的事情,我就只能负责做PPT跟最后的一个demo。最后我们那一届拿了第一名,我就是真正意义上的躺赢,所以我欠下了天大的人情。于是我当时就跟崔老板立下flag:只要你们开一届,我就参与一届作为偿还。


Lily:

从当时第一届到今天,从直观感受上,你觉得TiDB Hackathon有什么变化吗?


王鹏翰:

直观上的变化,我觉得就是人越来越多,越来越卷,当然这一届因为奖项翻倍了,可能难度系数稍微下降了一点点;但是从开始到现在,难度的趋势可能不是线性增长,而是属于非线性增长,难度在突飞猛进。


Lily:

东旭,你们今年在原来产品组赛道基础上新增了应用组赛道,这样设置的目的到底是什么?是为了让大家的竞争压力更小一点吗?


黄东旭:

其实第一届就是图个乐,也没什么规则、主题,大家过来开个party,我们后来发现大家其实玩得都挺开心的,所以就想如果有点奖岂不就更开心了吗?但是如果只有一个大奖,虽然得大奖的人很开心,但其他人可能就没有那么开心。

随着队伍越来越多,首先我们就在想能不能都搞一些有意思的赛道/方向出来。


再者早期的TiDB很简单,就像一个引擎一样,大家在上面随便鼓捣点东西,做的东西都差不多;但是这5年过去了,包括TiDB本身都已经变得非常庞大,而且在它周边也有一整套 ecosystem(生态系统),你也不能用一个统一标准去衡量所有项目,所以我觉得肯定要做更多细分。


当然我觉得作为一个娱乐活动,最重要的还是让大家玩得开心,所以第一,奖项设置肯定要越来越多,第二要巧立名目,设置更多奖,甚至非常好玩的奖。我一直觉得写代码是一件特别放松的事情, Hackathon一直就是一个就来玩的事情,不用搞得太严肃。


Lily:

其实Hackathon的比赛机制中是设置了时长的,而闻轩你们做了一个跟应用相关的项目,那你觉得这会不会给项目带来一些未完成的遗憾之处?


施闻轩:

我觉得Hackathon本就是在有限的时间内投入,去实践一个不太成熟的想法,看看它最终能够产出什么。其实我会在Hackathon中去试各种平时工作中可能不太愿意尝试的东西,这些东西有可能投入比较多的时间也没有什么产出,但也可能会有什么产出。我就非常喜欢把它们留到Hackathon这样一个框定时间范围的活动中去做,因为给到我这几天时间,我就会想,我怎么能尽快在这几天时间里尽可能多地实现我的想法。虽然这个时间限制确实可能让产品实现不太完美,但我觉得它带来的收益还是很大的。


Lily:

团队有没有考虑过在比赛之后就把创意真正的产品化和落地?


施闻轩:

其实我们是有这个想法的,我们甚至在想,后面能不能把它做到一个什么程度,看看能不能登上像Product Hunt之类的产品排行榜的一个榜单里,这可能是一个梦想,但我们会尝试去实现一下。


Lily:

接下来我其实想问问鹏翰,你们团队的几个成员都是什么样的背景?


王鹏翰:

我们团队一共是两个人,我和我的多年好友许灿文,然后他现在在 UCSB(加利福尼亚大学圣塔芭芭拉分校)博士生二在读二年级,他已经算是NLP(自然语言处理)领域的大拿了,他的引用数非常夸张,也给可能超过20次的大小顶会做过论文审稿人。


Lily:

他是一个学术界牛人,而您是一个有多年工作经验的工程师,您觉得你们两个在合作中有什么奇妙的化学反应吗?


王鹏翰:

我觉得学术界跟工程界,其实想法会有很大不同,大家要有各自擅长的方向,有各自的侧重点,但是我跟许灿文合作起来完全没有这方面问题,因为他不但是一个学术界大佬,他工程能力也非常强。他之前在 AI领域一家非常火的创业公司Hugging Face做过实习,他现在也在谷歌实习,他对工程界也非常懂。双方可能只要简单一点,就能快速知道对方想要什么,所以合作得非常愉快。


Lily:

你们两个是谁先想出的将前沿领域的AI结合到产品中的创意?


王鹏翰:

是我。因为我在前几届Hackathon都试图往内核方向去卷,但是后来发现长江后浪推前浪,跟小朋友们都打不过,那我就开始自娱自乐,每年Hackathon我都会自己去找一个自己觉得非常有趣的新方向。今年我最开始的想法就是,再找一个AI的好玩的方向进行探索,因为我觉得未来的趋势肯定是人工学习、深度学习,可能会改变整个工程师的工作流程,所以我想做一些摸索,想尝试一下AI的底线。


Lily:

我也想问问王康,据说MoreCat是一个非常硬核的项目,那么在TikV众多内核产品和周边工具中,你们为什么选择以TiUP组件入手来进行设计,是因为你本身比较熟吗?


王康:

对,这其实和我们参加Hackathon的团队构成有关。我们团队基本上就是TiUP的PM(产品经理)带着他的三个开发去蹭周边蹭吃的故事。我们的Hackathon的内容,是把TiUP变成一个更通用的包管理工具,主要是含两个部分:第一部分是客户端改造,让它从只能支持单个的TiDB的官方软件仓库,变成支持众多个人上传的私有软件仓库,并且让它们一起工作;另一部分就是我们搭建一个社区的软件仓库,让大家更方便地往里面上传软件包。其中这第一部分是我们一直心心念念特别想做的一个功能,但是由于种种原因一直没有去做,于是PM就对我们说,你们就去试一试,哪怕拿个周边也好,然后我们就去试了。


Lily:

王康我想请你跟大家简单介绍一下,你觉得一个优秀的包管理器应该具备哪些功能?你为什么觉得TiUP可以做一统江湖的工具?


王康:

我先说一下,我觉得一统江湖和优秀其实是两个不同的目标,比如你要想做一个一统江湖的聊天软件,你根本不需要把它做得好用。对于包管理器的一统江湖,好不好用其实不重要,最重要的是里面有足够多、足够新的包,这样用户才会去使用,因为用户最终是为了软件仓库里的软件才会去用软件管理工具的。


其实我在加入PingCAP之前,就非常想要这样一个包管理工具:更加通用,不需要系统很高的root权限,可以自由管理位置。但是我在网上搜索,一直都没有找到类似工具。然后我加入PingCAP后,开始了解TiUP,我发现它非常接近我一直寻找的包管理工具,但是它由于种种原因,还是限制于管理TiDB生态的工具,所以我就一直想要把支持多软件仓库的功能给做出来。但是我从加入PingCAP到参加Hackathon,也就一年多几个月的时间,前半年我一直想着我还不熟悉他们的代码,我不敢动手改,万一改错,问起来怎么办?


后半年我就一直想着,这个功能会不会有很多的兼容性变化,是不是要拉着开发小伙伴们一起很深刻地讨论,才能够动手把它做得很好。同时这件事对于TiDB来说并不那么紧急,所以这件事就一直想着以后再讨论。到了Hackathon,我们就想着反正Hackathon,不管兼容性了,先能用,适当保持一点兼容性就行。后来我就把我一直心心念念的成为通用保管器的另一半的想法和大家一讨论,就把这个也加入到了我们要做的内容里,结果它demo起来出乎意料,效果非常好。


Lily:

今年大概有多少个团队,比赛的激烈程度,怎么报名,这些细节有吗?


黄东旭:

初赛差不多有100个项目报名了,最后进决赛的大几十个,反正我的赛道(应用赛道)差不多快30个,总体进决赛大概有62个。但我觉得第一阶段你还不用写代码,只要把你的想法表达出来,写一个你想做啥的文档就相当于参与了,也没有太多门槛。如果你的想法特别好,然后你发现你没有什么小伙伴,或者身边没有人跟你一起来组队,就缺一个程序员了,这时PingCAP主办方也会给你去牵线搭桥看看。还是那句话,结果不重要,大家玩开心,只要能写代码,能进入这种写代码的心流状态,就是一个很好的放松。


Lily:

特别感谢东旭的分享,如果大家明年想参加的话,请一定要关注PingCAP各种各样的渠道(官方网站、公众号),还有GGV每年也会在大赛开始时帮大家去做宣传,所以欢迎各位小伙伴积极报名,希望明年看到更酷的想法。请几位获奖团队的代表,给未来想要参赛的选手一些建议,鹏翰先来。


王鹏翰:

我还是很萌新的时候,听过一个大佬说的一句话:怎么去定义Hackathon上项目的好坏,或者怎么定义这个事情的高低,就是要从两方面;一是真实需求,二是用非常酷的方式解决问题,两者合二为一,它就是一个好的项目。


这句话对我来说可能算是已经受益半生,所以我自己做项目的时候,都会从这两个方向去考虑问题,这是一个非常常见、非常正常的需求,但是你解决这个问题的时候,方法一定是要酷的。希望这句话能为后来参加Hackathon的人提供一些帮助。


施闻轩:

我这边接着鹏翰的想法再补充一下。其实我也参加过比较多的Hackathon,也拿过几次奖,我对这一点感受也是挺深的。不过这一次Hackathon带给我的感受,其实不只是我们可以在技术层面,用一种比较创意的方式去解决它,更多带给我的是产品方面的一些思考。我们这次面临的挑战和之前的Hackathon面临的挑战完全不一样,这次更多是面临的是,我们这个产品本身的想法是否经得起考验?大家用起来是不是真的就像我们所想象的那样可以运作起来?所以我们这次可能更多是产品上的,不过最终效果其实也是挺好的。不管你是产品上还是技术上,只要有这样一个创意,觉得它是一个能够以非常短的时间快速实现的捷径,能够去验证一个东西,这个东西可能是你的产品想法、技术想法,都是比较可行的,那么首先你就得沉浸进去。


王康:

我的建议就是不要太担心结果,当你有了一个好的想法,就放心大胆来参加,哪怕是为了周边来参加都可以。当你们开始写代码,开始进入状态之后,就会水到渠成,至少能够完成自己想要做的东西。


Lily:

其实我真的相信科技是向善的,科技让我们的生活变得更美好,而我们GGV做的事就是助力科技,助力人类的美好福祉。最后就是我们节目的常规问题,请几位嘉宾给我们的听友们推荐一下,对自己影响最大的一本书/一部剧/一档播客,都可以,王康先来。


王康:

我推荐一本书——《经济学原理微观分册》,我真的是把它当作科普读物来看的,虽然看上去是一本教材,但是写得非常通俗易懂,解释了生活中的很多事情,让我受益匪浅。


施闻轩 :

我就推荐我最近比较喜欢的书——《任天堂哲学》,因为任天堂是一个做游戏的公司,这本书是讲这个游戏公司怎么发家的,我觉得里面还讲述了非常多我比较喜欢的故事。比如说宫本茂是怎样去设计这个游戏,去判定做出的游戏到底怎么能让更多玩家去喜爱它,以及像任天堂这样一家公司,它做游戏到底是想怎么能把快乐带给更多人。其实我们自己做产品的时候,很多时候都有非常类似的想法,因为游戏本身也是一种产品,当大家去想怎么把快乐带给更多人的时候,我们做技术产品的其实也是一种非常类似的状态。所以我觉得多看这种不同领域的书,其实能带给我非常多不同的思考。


王鹏翰:

我给大家推荐一本《编码》,副标题是“隐匿在计算机硬件背后的语言”。我作为一个程序员,这本书算是对我产生了深远的影响。因为大一的时候,我对很多事情是知其然而不知其所以然,但我们的教科书很少会直接去跟你讲这个道理。这本书的作者是一个非常资深的大牛,他在微软拿到了顶尖成就者,他是为微软去写非常资深的使用说明的人,同时他为初学者们写了这一本极其精简的入门刊物,算是一个科普文章。内容通俗易懂,会给你讲很多很有趣的信息,让你觉得编程并不是很枯燥的事情,哪怕让一个小朋友去看,也不会给你抗拒感。


最后它引入到一个概念:其实人很容易陷入一个惯性思维里,你只有跳出思维的模式,才能去发生一些巨大改变。对我来说,一本好的书,哪怕你给一个一年级/二年级的小朋友看,他都能得到一种体验,你给初中生/高中生看,又能得一种体验,现在给我来看,我又能得到一个新的体验。这本书真的是到了不同年龄,有了一定阅历,到了不同程度,再去回看这本书,真的又有一种新的感觉。


Lily:

东旭你有什么想推荐给我们的书吗?


黄东旭:

在任何公共场合,我NO.1推荐的书都是《禅与摩托车维修艺术》。我真的好喜欢这本书,甚至作为礼物送了好多同事。跟鹏翰说的点一样,《禅与摩托车维修艺术》不太长,但是不同时间翻来看,你也会觉得,年轻时候和现在时候读起来感受不一样。


如果问我现在手边在看什么书,在看《道德经》。另外我最近会比较多看一些纯文学的书,比如佩索阿的《不安之书》,文字写得很好。我还看很多科幻小说,给大家推荐一部很著名的《献给阿尔及侬的花束》,写得非常棒。其实我这两年一直都在看更多人文/文学的东西,也不要把看书看得太功利了。




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存