在当代的技术浪潮中,开源文化不仅催生了无数创新技术,也为广大技术爱好者提供了一个展示才华、相互学习的平台。我们今天采访到的这位北京邮电大学电子工程学院的研究生,就是在这样的背景下,通过开源活动不断探索、学习并实现自我突破的典型代表,他就是王嘉树。
在开源布道者、程序员 Rick 的影响下,王嘉树决定将自身学习到的学术理论与前沿技术相结合,探索开源软件世界的无限可能。而他在 TDengine 开源社区的参与,更是让这段开源之路变得丰富多彩。
初识 TDengine,一场意义非凡的讲座
"我第一次接触到 TDengine 是在一次开源布道会上,涛思数据创始人、TDengine 核心作者陶建辉老师(Jeff)受邀至北京邮电大学进行讲座。当时很多人是为了凑学分才去听的,但我却被讲座内容深深吸引,我觉得这可能是我在本科和研究生期间听过的最赞的讲座了。讲座结束后我还有幸和陶老师进行了一次深入交流,他给了我一些关于开源和计算机学习方面的很实用的建议。因为数据库的复杂性,当时我仅仅去 GitHub 上为 TDengine 点了一个 star(开源地址:https://github.com/taosdata/TDengine),没有再做更多的贡献,但感触颇深,还在博客上记录了这次经历和感想。"
博客链接🔗:https://wjsvec.github.io/2021/10/11/拥抱开源,听技术-开源讲座的一点感想/
受到 Jeff 的影响,王嘉树开始在 GitHub 上寻找合适的项目进行贡献。他选择了文档和前端方面的工作,逐渐适应并深入到开源软件的开发中。2022 年,他正式参与进 TDengine 的开源,并在开源之夏活动中扮演了重要角色。
"我在 2022 年开始关注开源之夏,在预热阶段就主动给几位导师发送了邮件,之前有过接触的 TDengine 导师对我比较感兴趣,最后也是成功申请到了 TDengine 的开源项目。"
成为 TDengine 的 Contributor,更深入理解开源精神
王嘉树的任务是为 TDengine 开发一个 Visual Studio Code 插件,以便更好地管理和查询数据库。虽然这项任务颇具挑战,但他通过勤奋学习和实践,最终顺利完成了开发,并通过 Pull Request 的方式贡献了代码。
"要知道,国外的 InfluxDB 的 VSCode 插件有十几位 Contributor,而且已经开发了两年多了,不过好在对我的要求并没有那么高,我只需要实现增删改查就可以了。当时遇到的最大的麻烦是 VSCode 插件几乎没有什么中文资料,于是只好去啃一手的英文 API 文档。我之前都是偷懒看B站的那种手把手傻瓜教程,官方文档总是望而却步。最后啃完以后发现,官方的文档其实也并不是那么难懂,理解了文档,我最后大概只用了一个半月的时间就完成了开发,也认识了社区里 review 代码的小伙伴。"
在项目完成后,王嘉树还遇到了一次意外的挑战。一位用户在深夜报告说 VSCode 插件出现了问题。他毫不犹豫地开始远程协助用户,并最终发现问题出在用户对 SQL 的理解上。这次经历不仅增强了他解决问题的能力,也加深了他对开源社区精神的理解和认同。
"TDengine 有十几个用户群,我只加了一个,那个插件每天只有几个下载量,这种正好有问题还可以遇到作者的机率还是很小的,当时觉得真的是一种非常不得了的缘分。于是我就私聊了那位群友,现场开了一个腾讯会议为他解决这个问题。虽然问题很简单,不过排查了很久,结束时已经晚上十一点多了。其实我是一个非常讨厌加班和 On-Call 的人,居然能为了一个 bug 开腾讯会议加班到深夜,现在想来也觉得有趣,或许这就是开源的魅力。"
show me your code,开源贡献是最好的简历
参与 TDengine 开源社区的经历,尽管在学术上的贡献有限,但对王嘉树的职业发展产生了巨大的影响。与公司内部的项目相比,开源项目的贡献可以直接展示在简历上,大大增加了他在求职时的竞争力。
"我之前实习的内容大多是只能在公司的内网中看到,在简历上无论怎么去写都显得单薄,毕竟大部分实习生做的功能真的很简单。在 TDengine 社区做的贡献就不一样了,我在简历上只要放一个链接,就可以实实在在的看到我所做的贡献,这种 show me your code 的风格在秋招的时候派上了大用场,相比传统的代码项目,我的简历更受青睐。"
王嘉树的开源之旅不仅是技术成长的旅程,也是个人成长和职业发展的重要途径,因此他也在鼓励更多的大学生参与到开源活动中来。他认为开源不仅能够提供宝贵的项目经验,还能够帮助大家在个人成长、团队合作和解决实际问题方面获得进步。
"对职业发展的帮助绝对是立竿见影的,去年一起参加开源之夏的同学今年拿了四个大厂暑期的 offer。很多学生找实习或者秋招苦于没有很好的项目经历,那参与开源项目就是一个绝佳的机会。而且从个人成长的角度来讲,能够接触到业界的社区也是扩展自己眼界的有效途径。我自己参与开源之夏前是一个非常社恐的人,现在遇到了社区很多热心的朋友,像是 Rick、古思为 、Shuduo Sang 等非常厉害的工程师,还有像是 Fawei 、eVaz 这样热情的社区运营,和他们一起交流不仅让我得到了飞快的成长,同时也对"开源精神"这件事也有了更加深刻的体会。"
在聊到能否推荐一些值得参与的开源社区时,王嘉树也热心表示,"TDengine 就是一个对新手相当友好的社区,GitHub 上会定期有一些 good first issue,还是用的几乎每个同学都学过的C语言。而且 PR 的 review 速度也是非常积极的,很多有商业化背景的开源项目都做不到这一点。如果是对数据库领域感兴趣的同学可以试着参与其中,一定会有所收获。"
通过这次深度采访,我们看到了一个普通大学生如何通过参与开源项目,不仅在技术上得到成长,更在职业道路上走得更远。相信王嘉树的故事一定能鼓励许多像他一样的年轻人,积极参与到开源文化中来。