一个实习生的 CnosDB 之旅
本期 Jesse 请到了 CnosDB 的实习生肖明浩,来和大家聊聊他的实习心的体会。肖同学本科毕业于北京理工大学,研究生山东大学在读。作为一个茁壮成长的开源社区,我们也欢迎更多优秀的同学来 CnosDB 实习。
本文仅代表个人观点,如有偏颇之处,还请海涵~
🤠🤠🤠
一个实习生的 CnosDB 之旅
面试初体验
今年 2 月份的一个下午是我与 CnosDB 结缘的开始,面试内容我早已记不清,只记得胖梁问了我一个问题“能详细说说 B+树的知识吗?”我答不出来,我坦诚跟胖梁说:“老师,我只学过 B 树,没学过 B+树。”没想到胖梁十分耐心地给我讲解了 B+树相关知识。当时我心情很复杂,一方面担心自己没回答出问题可能面试失败;一方面又惊讶于胖梁竟然给我讲了我不会的知识点,这是我以前从未遇到过的事情。幸运的是,由于面试时其他问题回答的还可以,我荣幸成为了 CnosDB 的员工。而我也在入职那天才发现,原来那天给我耐心讲解 B+树知识的胖梁,是我的老板。
入职新体验
入职新公司的体验很新奇,和之前其他的实习经历以及项目经历有很大不同。由于是初创公司,人比较少,大家都在一间办公室里,领导和员工看起来没有任何区别。而我作为公司第一个 00 后,也是全公司最菜的 Rookie,办公室的同事们都是我的老师。公司是做开源项目的,所有人都把自己的代码传到 GitHub 上,Pull Request 然后合并。这和之前在学校的项目经历有很大不同,在学校大家都是每人负责一块内容,最后代码合到一起。其实这样的工作流程会有很多问题,每个人闭门造车,如果不了解同组其他同学的进展的话,最后合并代码的时候难免会有问题。而开源公司把一切代码全放在 GitHub 上,时刻更新代码很大程度上避免了代码冲突的问题,这一模式也为我在读研期间,管理小分队的时候提供了不少经验。
在学习中成长
最开始入职公司的时候是很忐忑的,项目是用 Go 写的,而在此之前我没接触过任何与 Go 相关的知识。所幸公司给了我足够的适应时间,我逐步熟悉了这门语言,在此我也要感谢 B 站上 Habour 老师《数据库系统讲义》这门课程,他帮我打下了不少数据库研发的基础。在公司第一周的工作让我手忙脚乱,学习使用 Docker、Go 语言以及 SQL 相关知识,教我配置开发环境、解决语言问题等等,没有胖梁、老高的耐心指导,我想我无法入门成为一名数据库开发人员。
我在公司从事的主要工作是基础功能的开发和基准测试及相关内容。提到开发,这就不得不夸一下 Go 语言了。在学校做项目主要用的都是 C++和 Python,Go 在语法上有很多和 C++类似的地方,有着面向对象的特性,同时定义函数的方法更为通用。最重要的是,对于一个对代码格式有轻微强迫症的人来说,Gofmt 的强制代码格式让我狂喜。同时 Go 又拥有比 Python 快几十倍的运行速度,这也难怪市面上许多互联网公司都在往 Go 方向发展。
成为社区 Contibutor
公司的项目是完全开源的,工程师氛围浓厚,推崇一切以代码说话的文化——“Talk is Cheap.Show Me the Code”,公司的产品是一款开源高性能时序数据库,作为此前被国外几家公司如 InfluxDB、TimeScaleDB 所把持的领域,这本身就是一件很值得称道的事情。而我有幸作为其中一员,在整个产品中贡献了自己的代码,看见自己的名字出现在 GitHub 贡献者名单上,在开源世界中留下了属于自己的印记,我觉得这是我最大的收获。依稀记得我第一次在 GitHub 提交代码后,反复刷新页面,盯着项目的 Contributor 名单看,直到自己的名字出现在上面,那种成就感我至今还记得。事实上在这里,无论是翻译、文档撰写、设计等非代码贡献,还是测试、写代码等代码贡献,都将视为宝贵的参与。在这里,你还会收获一个和谐、热心的开源社区,了解最前沿的技术领域。没有人会在意你是一位资深开发人员还是一名在校学生,真正重要的是你所做贡献的质量。所以还在还等什么?快来一起参与开源,传承开源精神吧。
我的工作的过程也并非一直一帆风顺,我记得当时要开发关于底层存储文件的相关功能,从部署产品环境学起。为了找到相应的文件,连续导入多次数据,从几个 G 到几十 G,终于找到了符合要求的文件。这一切的进展,都离不开同事们的指点。
最充实的时光
在工作上同事们像我的老师和兄长,在生活上他们更像是我的哥们。在公司上班的时间总是很快乐和充实,每天中午和同事们去附近的团结湖公园溜达一圈,去楼下台球室打会台球,在楼下花坛边吃冰淇淋。工作累了就下楼去便利蜂买酸奶,去瑞幸买咖啡,我总是怀念上班的那段日子。每天能学到许多新知识,能在开源的世界里留下足迹,又能玩得开心。在学校里所学的更多是理论上的知识,课本教给我们各种概念,却没有说如何实现。工作时更多是将理论变为实践,学以致用的过程。读万卷书,行万里路,直到工作时,我才想起课本上那些记不住的概念是什么,有什么作用。现在的我无比庆幸当时通过了公司的面试,我得以有机会将所学知识变为应用,有机会学到更多的新知识。对于一个本科前三年过一天算一天的“日子人”来说,大四上班的日子是我最充实的时光。
CnosDB 简介
CnosDB 是一款高性能、高易用性的开源分布式时序数据库,现已正式发布及全部开源。
欢迎关注我们的代码仓库,一键三连🙇🙇🙇:https://github.com/cnosdb/cnosdb
版权声明: 本文为 InfoQ 作者【CnosDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/a40e0f82c68f34db36ac16773】。文章转载请联系作者。
评论