从应届毕业生到大型开源社区 Committer,我做对了什么?

news2024/11/18 15:37:07

55bb6aef6e329a66fd54724bf10bbdf3.png

熟悉李成龙的人都叫他小龙。

“小龙,2.2.3 Milvus 版本,日志会一直积累在磁盘上吗?默认会定期清除吗?”

“小龙,请教一个问题,为啥取不到 field 中的 type 字段?”

“小龙……”

熟悉 Milvus 社区群的人都清楚,遇到问题找小龙,一定能快速得到回应。不止社区用户,公司同事对小龙的评价也出奇的相似:已读迅速、回复及时、永远在线

近日,Milvus 社区传来李成龙当选 Committer 的消息。“应届毕业生”“Committer”“回应迅速”,这三个标签足以让周围人对他在社区的成长历程产生好奇。

67a881e01b96b7e38366e40ba3f8ddb1.png

Zilliz 工程师李成龙

01.

是不是看错了?

得知自己当选 Committer 时,小龙正在开会。

嗡嗡……嗡嗡……

一连好几个消息提示接踵而至。他瞥了一眼消息提示栏,上面写着“恭喜你,经过激烈的角逐,成功当选为 Committer……”

“怎么会是我?”他不由得喊出了声,随即滑开手机反复确认。直到收到用户发来的祝贺消息,小龙这才确信,自己是真的成为 Milvus 社区的 Committer 了。

其实,要成为 Committer 并不容易。

首先,候选人需要得到社区内其他的 Committer、Maintainer 提名,而 Milvus 作为一个 star 数超 15000 的大型开源社区,集聚了各路大神,想要从其中脱颖而出本就是一件困难的事情。尤其是本次竞争,除小龙以外还有 5 位候选人,同为社区中优秀的 Contributor。因此,小龙对此事并未抱有太大期望。其次,Committer 需要对社区在文档、代码等方面持续做出贡献。再者,候选人需要对 Milvus 有着丰富的知识及实践经验,且乐于帮助社区中的其他用户。

不过,对小龙来说,当选 Committer 本身固然值得欢呼,但抛开外在光环,成为 Committer 这件事本身更有意义。

“确认成为 Committer 以后,心里不自觉的会有一种使命感和责任感,觉得要以社区建设为己任,要把社区发扬光大。在这些情感的加持下,不由得会在社区里投入更多的热情和精力。很希望通过自己的努力,代码贡献也好,文档贡献或者帮其他用户答疑也罢,总之是能让 Milvus 成为可以流传很久的开源项目。”小龙说道。

c7c240ef3b1459e4bb150ca810111616.jpeg

小龙参加社区活动 

02.

缘起 Milvus

提起小龙和 Milvus 的缘分,就不得不提其背后的商业公司 Zilliz。大学一毕业, 小龙就成为 Zilliz 公司的一员。2019 年 10 月 15 日,Zilliz 正式将 Milvus 的源代码开源在 GitHub 上。

“我一直待在 Zilliz,可以说亲历了 Milvus 从开源、迭代以及发展到现在的整个过程。”小龙表示。

由于当时的 Milvus 尚属开源早期阶段,团队最初的目标是让更多的人知道并了它。为此,Zilliz 尝试了很多事情,包括传播 Milvus 的相关知识,建立 slack、微信群、GitHub Discussions 等。

在这个过程中,小龙做过 Milvus 的 Bootcamp,撰写过各式各样的技术类文章,也尝试过不同类型的直播。眼看着用户慢慢变多,小龙便将更多的时间和精力放在了和用户沟通上面。

和用户打交道尤其需要耐心。

那是 Milvus 刚迭代到 2.X 版本的时候,Milvus 从单机版本重构到了分布式版本。有位用户在凌晨一两点的时候遇到了问题,在微信群吐槽 Milvus 不好用。小龙睡醒后看到立即联系对方,几轮沟通过后,小龙给出了解决方案,在帮用户解决了眼前问题的同时也安抚了他的情绪。后续,随着 Milvus 不断更迭,该名用户也在不断升级。

“后来,他时不时地会跟我报喜,例如哪个项目用了 Milvus、运行了多久、稳定性如何、领导觉得他很有方法、业绩表现不错等等。现在他是我们非常忠实的粉丝了……”说到这里,小龙神采飞扬,言语间满是为用户和 Milvus 骄傲的喜悦。

7e10ed1501239f72705a743cff58e355.jpeg

小龙作为讲师介绍社区相关事宜

03.

可能做对了什么?

“我是和 Milvus 一起成长起来的。”这是在整个交谈中,小龙说得最多的一句话。而从一名应届毕业生到成长为 Milvus 的 Contributor,再到社区的 Committer,小龙仅用了 3 年的时间。

好奇于小龙的成长速度,于是便有了下面方法论一般的自我审视:

首先是把社区当“朋友圈”。小龙是一个喜欢交朋友的人,社区就变成了他的“朋友圈”。小龙会在这个“朋友圈”中不断结交新朋友,和朋友们交流、在他们遇到问题时伸出援手自然不在话下。同时,为了让朋友们待得更舒服,观察社区变化、努力提升社区质量、思考如何让社区变得更好也属于常规操作了。

其次是不怕麻烦、实践至上。话虽老套,却极为好用。每逢 Milvus 的更新,小龙一定会把每一项功能都试一遍、研读每一篇技术文档,遇到不懂的会想尽各种办法弄清楚。随后会针对这些问题写一些实践经验分享给社区,帮助大家一起成长。

“刚开始我也不是什么都懂的,这个时候除了自己钻研,向社区求助也是个不错的办法。不要害怕问题基础,大胆开麦,社区里的朋友都很愿意帮忙解答。”小龙回忆道。

除了这些,自省、反思、沉淀自然也必不可少。

“说着说着怎么有点像工作总结了,不过这确实是我的成长方式,从某种程度来看,它们是放之四海而皆准的。”小龙表示。

04.

成为 Committer 后

目前,小龙的工作主要包括两个层面:一方面,在社区里做一些技术支持,解决社区用户在使用 Milvus 的过程中遇到的技术问题,同时针对他们的应用场景提供使用 Milvus 的最佳实践;另一方面,收集、聆听社区用户对 Milvus 的建议反馈,与其他 Contributor 或 Committer、Maintainer 讨论 Milvus 的优化、发展等。

提起成为 Committer 后的计划,小龙表示,除了之前做的技术答疑和社区反馈收集外,还希望将 Milvus 社区发展得更加庞大和繁荣。未来,他希望通过把自己的经验输出为技术文章,参加或者组织更多线上线下的社区活动,面对面交流讨论、答疑等方式,让更多新朋友入门 Milvus、熟悉 Milvus,并成为 Milvus 的忠实粉丝和用户。

“当然,如果在这个过程中能够发展一批社区的 Contributor 就更好了。”小龙说道。

聊天结束没多久,小龙已是“会议中”的状态。曾好奇问他是否会觉得累,小龙的回答是:做喜欢的事情怎么会觉得累呢?

4a844ae4d2c66be1068d8e85f3175aa9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/370412.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

django项目中如何添加自定义的django command

项目目录 1.我们自己建立的application叫做app,首先在这个app目录下,我们需要新建management目录,这个目录里应该包括:__ init__.py(内容为空,用于打包)和commands目录,然后在comma…

Linux中使用Docker部署Mysql数据库

前言 和朋友一起搞一个项目,分了一下工作,但是mysql迟迟安装不上,程序都在一个环境里确实容易出现很多问题,浪费时间和经历在这些配置上,好在有docker了,就在docker里搭建一个Mysql数据库使用吧&#xff0…

【计算机网络】计算机网络

目录一、概述计算机网络体系结构二、应用层DNS应用文件传输应用DHCP 应用电子邮件应用Web应用当访问一个网页的时候,都会发生什么三、传输层UDP 和 TCP 的特点UDP 首部格式TCP 首部格式TCP 的三次握手TCP 的四次挥手TCP 流量控制TCP 拥塞控制三、网络层IP 数据报格式…

李宏毅《机器学习》Bert笔记

李宏毅《机器学习》Bert笔记和工作原理解释1.参考2. self-supervised learning--bert3. bert的一些用法3.1情感分析3.2词性标注3.3常识推理和NLI3.4 QA问题4.bert的工作原理解释1.参考 bert论文 李宏毅《机器学习》自监督训练-bert 2. self-supervised learning–bert Bert模…

图解JVM

1.JVM的一些概念 ​ JVM:Java虚拟机,可以存储代码以及在运行是可以动态调用一些指令的项目集。 ​ JDK:Java运行时所依赖的环境,[jar包、类]。 ​ JVM的作用:负责将.class文件解释成机器能够识别的机器码。 ​ JVM的位置:在操作系统之上,介于应用与系统之间。 ​ 机器码…

python自动化测试学习路线(从入门到精通)

目录:导读 一、Python的应用场景 二、自动化测试的那些事 三、主流自动化测试框架 三、Python自动化测试学习路线 写在最后 一、Python的应用场景 Python用于简单脚本编程,如编写2048小游戏或12306的自动抢票软件; Python用于系统编程&…

数组(二)-- LeetCode[303][304] 区域和检索 - 数组不可变

1 区域和检索 - 数组不可变 1.1 题目描述 题目链接:https://leetcode.cn/problems/range-sum-query-immutable/ 1.2 思路分析 最朴素的想法是存储数组 nums 的值,每次调用 sumRange 时,通过循环的方法计算数组 nums 从下标 iii 到下标 jjj …

javaEE 初阶 — 关于 IPv4、IPv6 协议、NAT(网络地址转换)、动态分配 IP 地址 的介绍

文章目录1. IPv42. IPv63. NAT4. 动态分配 IP 地址1. IPv4 在互联网的世界中只有 0 和1 ,所以每个人都有一个由 0 和 1 组成的地址来让别人找到你。 这段由 0 和 1 组成的地址叫 IP 地址,这是互联网的基础资源,可以简单的理解为互联网的土地。…

《Qt 6 C++开发指南》简介

我们编写的新书《Qt 6 C开发指南》在2月份终于正式发行销售了,这本书是对2018年5月出版的《Qt 5.9 C开发指南》的重磅升级。以下是本书前言的部分内容,算是对《Qt 6 C开发指南》的一个简介。1.编写本书的目的《Qt 5.9C开发指南》是我写的第一…

(三)代表性物质点邻域的变形分析

本文主要内容如下:1. 伸长张量与Cauchy-Green 张量2. 线元长度的改变2.1. 初始/当前构型下的长度比2.2. 主长度比与 Lagrange/Euler 主方向2.3. 初始/当前构型下任意方向的长度比3. 线元夹角的改变4. 面元的改变5. 体元的改变1. 伸长张量与Cauchy-Green 张量 由于变…

新C++(10):Map\Set的封装

"湖人总冠军"一、Map\Set的介绍Set是C标准库中的一种关联容器。所谓关联容器就是通过键(key)来读取和修改元素。与map关联容器不同,它只是单纯键的集合。取自这里Map是STL 的一个关联容器,它提供一对一(其中…

第二回:艺术画笔见乾坤

import numpy as np import pandas as pd import re import matplotlib import matplotlib.pyplot as plt from matplotlib.lines import Line2D from matplotlib.patches import Circle, Wedge from matplotlib.collections import PatchCollection一、概述 1. matplotlib…

软件测试:用“bug”来表示“在电脑程序里的错误”

计算机基础知识计算机(personal computer)俗称电脑(pc),是现代一种用于高速计算的电子机器,可以进行数值计算,又可以进行逻辑判断,还具有存储记忆功能,且能够按照程序的运…

【模拟集成电路】频率综合器(Frequency Synthesizer,FS)设计

应用于无线局域网的频率综合器设计前言频率综合器简介各部分链接链接:前言 本文主要内容是对频率综合器或称为PLL 做出简单介绍,为课程设计部分章节内容,后需给出各部分的设计方案,以及测试结果。 频率综合器简介 无线收发系统中…

跳槽进字节跳动了,面试真的很简单

前言: 最近金三银四跳槽季,相信很多小伙伴都在面试找工作, 怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习 如何拿下阿里等大厂的offer的呢,今天分享一个秘密武器,资深测试工程师整理的…

Elasticsearch7.8.0版本进阶——持久化变更

目录一、持久化变更的概述二、事务日志(translog)三、持久化变更完整流程四、事务日志(translog)的作用五、事务日志(translog)的目的一、持久化变更的概述 没有用 fsync 把数据从文件系统缓存刷&#xff…

随机森林算法(Random Forest)R语言实现

随机森林1. 使用Boston数据集进行随机森林模型构建2. 数据集划分3.构建自变量与因变量之间的公式4. 模型训练5. 寻找合适的ntree6. 查看变量重要性并绘图展示7. 偏依赖图:Partial Dependence Plot(PDP图)8. 训练集预测结果1. 使用Boston数据集进行随机森…

【华为OD机试模拟题】用 C++ 实现 - 分糖果(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

【华为OD机试模拟题】用 C++ 实现 - 时间格式化(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

匈牙利算法与KM算法的区别

前记 在学习过程中,发现很多博客将匈牙利算法和KM算法混为一谈,当时只管用不管分析区别,所以现在来分析一下两个算法之间的区别。 匈牙利算法在二分图匹配的求解过程中共两个原则: 1.最大匹配数原则 2.先到先得原则 而KM算法求…