开发者专访 | 冰冰!你的小粉丝秋招出息了~

原创
2023/09/22 10:58
阅读数 258

前言

在代码的世界中,有一位年轻的开发者以兴趣为指引,用代码绘出自己的世界。他是 Curve committer @Xinlong-Chen, 他对代码的热爱与专注不仅为他铺就了在 Curve 社区中的成长道路,更为他赢得了大厂的青睐,目前秋招刚火热开启,就已斩获美团、小红书等多个大厂的意向 offer。(后台私信 Curve,发送关键词“内推”,一键获取网易秋招内推码)

如何开启开源社区的奇妙之旅,此行又将获得哪些收益?让我们跟随 @Xinlong-Chen的脚步,一起探索从小白到 committer 的蜕变,体验代码的魅力,感受开源的力量。

代码世界的喵酱

【为什么昵称是“吃代码的喵酱”?】

A:因为喜欢王冰冰呀,她的B站ID是“吃花椒的喵酱”,冰冰有只猫,喜欢吃花椒,你可以去看她的B站,她特别#¥%@*&......(开始强行安利)

Q:那“代码”就是你的兴趣所在,暗示了你程序员的身份。

A:是的,“花椒”是实际物品,“代码”可以是虚拟的想法,也可以是真实存在的逻辑,比前者更迷人。我的微信号其实也和代码相关,是 16 进制表示的 ASCII 码。兴趣确实是最好的老师,对于自己感兴趣的领域,写代码就能进入状态,原地起飞。

图片

【“代码”对你而言意味着什么?】

Q:常说“代码改变世界”,代码有这么神奇的魔力吗?

A:代码在我看来并不神奇,它本质上是循环、选择和顺序三种结构的叠加(就比如 if else、for、continue 再套几条语句)。它神奇吗?不神奇。它不是一个魔法,是有确定性的。诗人写诗,程序员写代码,这都是不断创造的过程,与其说代码改变世界,我更喜欢说“我们改变代码”,是程序员这个职业赋予了代码生命力,如果代码有魔法,我们就是让魔法更强大的魔法师。

Curve 社区的 @Xinlong-Chen

【在Curve 社区,印象深刻的事件?】

A:印象最深刻的当属两位 mentor 对我的帮助。

第一位是程sir,周末我为 issue 焦头烂额,不得已在晚上十一点多请教他,他秒回,凌晨也还在帮我 review PR,并且劳动节假期也在指导我进行开发,是一位敬业又用心的 mentor,强烈建议 Curve 给程sir加工资!!

第二位是汉卿,在他的指导下我参与了开源之夏组织的 Curve 开发活动,他不仅及时地给予了我帮助,还经常引导我关注其他开源社区的项目(诸如 braft 之类),使我有了更广阔的视野。我持续参与 Curve 社区贡献,不仅是兴趣使然,也离不开两位mentor的悉心指导,非常期待自己也成为称职的 mentor 去指导新同学,共同成长。

【是什么促使你从 contributor 成长为 committer?】

A:第一是兴趣。在接触 Curve 之前,我之前学习过海外的一些公开课,在其中学过分布式相关的一些东西,产生了极大的兴趣。偶然一次机会,通过开源之夏看到有 Curve 有这方面的课题,就开始申请任务,逐渐参与到 Curve 的社区开发中来。

第二是任务驱动。在一个 issue中,会遇到很多分支问题。完成一个开发任务,会引发我很多思考,引导我关注其他视角的开发。参与 Curve 社区贡献,会基于发现问题-解决问题-发现新问题-解决新问题的路径,源源不断地输入自己的力量。

第三是奖励驱动。Curve 有非常丰厚的奖品来鼓励大家参与开发者活动,作为一名在校生,能用代码换取奖金、礼品,既提升了自己的实践能力,又可以得到物质奖励,实在找不到拒绝的理由!当然还是我最开始说的,兴趣是最好的老师,奖励驱动只是让自己写代码的过程更加快乐。

魔法社区的夜与程

【对于高校开发者而言,参与开源社区建设可以获得什么?】

Q:刚看了你分享的秋招简历,发现你把 Curve 开源经验放到了非个人基本信息介绍模块的最前面,能从一些实际层面出发,分享一下高校开发者参与开源的收益吗?

A:是的,Curve 开源经验对我的秋招帮助非常大,有如神助。

第一,面试加成。在秋招中,每一场面试毫无例外地会被面试官问到 Curve 开源工作,做了哪些开发,碰到了哪些困难,又是如何去解决的。一方面,基本上每一次面试,在自我介绍结束后,都以 Curve 社区作为切入点,作为 committer,以我最熟悉的开发项目作为开场,更能hold住场。另一方面,我们也可能会引用一些开源库,比如 braft 和 brpc,涉及到其原理性的一系列相关问题,拓展了知识面,面对面试官一些比较难的提问,比较游刃有余。如果没有合适的机会去卷实习,参与社区工作也是非常好的选择,可以极大地提升简历的丰富性。

第二,源码阅读能力提升。我们要参与一个开源项目的话,你需要看很多的代码,比如模块的上下游是什么?这个模块它到底是怎么工作的,然后从一些系统的角度,去思考这个功能的实现。

第三,技术能力提升。Curve 涉及到很多面试会问到的实际问题的解决办法,比如“Raft 主节点写入压力很大,怎么解决?”,在 Curve 中,有基于 raft 实现的复制机制,能够把数据复制到多个节点上,再通过 multi-raft 机制将特定的 leader 调度机制分配 copyset 内物理机器上的 leader 数量。通过复制和分区,Curve 把读写压力分散到了多个物理机器上的主节点。总之,对于很多面试问题,我们都可以在 Curve 这个开源项目中找到相应的解决方案。

图片

《秋招结束的快乐人生》

【作为小白,如何参与开源?】

A:第一步,寻找自己感兴趣的开源项目。通过 Apache、CNCF 等开源基金会的官网/公众号或者 GitHub,关注一些开源项目,结合自己的兴趣领域,确认一个开源社区进行初步了解。

第二步,看文档。在 GitHub 上的文档库里,会有很多架构性方面的总结。比如我们 Curv e有一个 README 的文档,它会介绍 Curve 的基础功能、架构思路,看完后会对 Curve 有初步的理解,就像我们拿到一台新相机,需要看它的说明书一样。

第三步,尝试解决问题。开源社区一般会提供很多的基础问题作为入门任务。我们可以去认领一个基础的问题去尝试解决,在此过程中,会回到第二步,带着目的地去寻找解决思路,这个过程中 contributor 和 committer 都会给予帮助,从孤军奋战转变为合力开发。

第四步,学会提问和准确提问。首先,没有问题才是最大的问题,可能是你没有认真思考,接触一个新的领域,不可能没有疑问,要勇于提出问题。其次,基本的理论知识不要问,自行 Google,关于 issue 的具体解决思路与阻碍必须问,可以在 GitHub 或者微信上与社区进行交流。提问看似简单,但需要确保自己的提问是准确、利于他人理解的,比如你可以直接把代码截图,框出来,在提问时,附上上下文信息,这样有助于他人快速定位你的疑问。

基于以上四步,就算入门了,合入一个 PR 后,成为 contributor,在保持活跃度和开发数量的前提下,就会得到社区的 committer 提名,持续参与核心功能的贡献,再成长为 maintainer 、 PMC。

结语

@Xinlong-Chen 的故事,是众多高校开发者在 Curve 开源社区中绽放光彩的缩影。他的成长,让我们看到了开源社区的魔力——它能够将有着共同兴趣的人们聚集在一起,让每一个人都成为创作者,它也让我们明白,代码不仅仅是一串串冷冰冰的字母,而是富有生命力的创意,是改变世界的力量。让我们一同期待,这位年轻的开发者在未来的编程道路上,会持续散发着他的光芒,为我们创造更多的可能性~

---- END. --------

🔥 社区资讯:

Curve 社区上半年 Roadmap 进展及下半年规划

🔥 用户案例:

Curve 文件存储在 Elasticsearch 冷热数据存储中的应用实践

扬州万方:基于申威平台的 Curve 块存储在高性能和超融合场景下的实践

创云融达:基于 Curve 块存储的超融合场景实践

🔥 技术解析:

探索 : CurveBS 模拟 RBD 接口对接 OpenStack

Curve 混闪之性能优化记录

CurveBS RDMA & SPDK 部署指南

图片

关于 Curve

Curve 是一款高性能、易运维、云原生的开源分布式存储系统。可应用于主流的云原生基础设施平台:对接 OpenStack 平台为云主机提供高性能块存储服务;对接 Kubernetes 为其提供 RWO、RWX 等类型的持久化存储卷;对接 PolarFS 作为云原生数据库的高性能存储底座,完美支持云原生数据库的存算分离架构。Curve 亦可作为云存储中间件使用 S3 兼容的对象存储作为数据存储引擎,为公有云用户提供高性价比的共享文件存储。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部