我对开源的首次贡献:冒名顶替综合征

一位新的开源贡献者记录了她在开源入门时犯下的五个错误。
104 位读者喜欢这个。
Dandelion held out over water

Seth Kenlon, CC BY-SA 4.0

我的第一个错误的故事可以追溯到我的学习编码之旅的开始。我通过在线资源自学了基础知识。我正在学习教程和项目,取得进展,但也寻找下一个提升水平的方法。很快,我看到一篇博文告诉我,像我这样的初学者将编码技能提升到新水平的最佳方法是为开源做贡献。

“任何人都可以做到这一点,”文章坚持说,“这是参与更广泛的开发者社区的关键部分。”

我内心的冒名顶替者(为了这篇文章的目的,他是我的冒名顶替综合征的人格化)抓住了这个想法。“听着,Galen,”她说。“成为一名真正的开发者的唯一方法是为开源做贡献。”“好吧,”我回答道,并开始按照博文中的说明创建一个 GitHub 帐户。我花了不到十分钟的时间就彻底糊涂了,以至于完全放弃了这个想法。并不是我不愿意学习,而是我所依赖的资源期望我对 Git、GitHub 以及这些工具如何让多个开发者在单个项目上协作有相当多的预先存在的知识。

“也许我还未为此做好准备,”我想,然后回到我的教程。“但是博文说任何人都可以做到这一点,甚至包括初学者,”我内心的冒名顶替者唠叨着。因此,一场多年的内心斗争开始了,这场斗争在为开源做贡献是容易且有价值的,我应该这样做,以及我还没有准备好为开源项目编写代码的印象之间展开。

即使在我开始熟悉 Git 之后,我内心的冒名顶替者仍然急于提醒我,为什么我还没有准备好为开源做贡献。当我在编码训练营时,她低语道:“当然,你懂 Git,你会写代码,但你从来没有写过‘真正的’代码,只是假的训练营代码。你没有资格为人们使用和依赖的真实项目做贡献。”当我在工作的第一年担任软件工程师时,她责备道,“好吧,也许你写的代码是‘真实的’,但你只使用一个代码库!是什么让你认为你可以在其他地方使用不同的约定、框架甚至语言编写高质量的代码?”

我花了大约一年半的全职工作才最终感到足够自信,可以驳倒我内心冒名顶替者的论点,并进行我的第一个拉取请求 (PR)。这里的讽刺之处在于,我内心的冒名顶替者既在劝说我为开源做贡献,也在劝说我不做贡献。

有害的神话

这里有两个有害的神话,我想揭穿它们。

神话 1:为开源做贡献“容易”

在整个旅程中,我经常看到这样的信息:为开源做贡献应该是容易的。这让我质疑自己的技能,因为我发现自己无法“轻松”入门。

我理解为什么人们可能会说为开源做贡献很容易,但我怀疑他们实际上指的是“这是一个可以实现的目标”、“如果初学者付出努力,这是可以实现的”,或者“有可能在不编写大量非常复杂的代码的情况下为开源做贡献。”

所有这些都是真的,但同样重要的是要注意,为开源做贡献是困难的。它需要你花时间去理解一个新的代码库理解开发者使用的工具。

我当然不想阻止初学者尝试。重要的是要记住,遇到挑战是这个过程中预期的一部分。

神话 2:所有“真正的”或“优秀的”开发者都会为开源做贡献

我内心的冒名顶替者不断提醒我,我缺乏开源贡献是我开发者职业生涯中的污点。事实上,即使在我写这篇文章的时候,我也感到内疚,因为我没有为开源做出更多贡献。但是,虽然参与开源是学习和参与更广泛的开发者社区的好方法,但这不是唯一的方法。你也可以写博客、参加聚会、从事副项目、阅读、指导,或者在漫长的工作日结束后回家,享受一个美好的轻松夜晚。为开源做贡献是一项挑战,如果这是你选择的挑战,它可以是有趣且有益的。

Julia Evans 写了一篇博文,名为 不要因为没有为开源做贡献而感到内疚,这健康地提醒我们,作为开发者,有很多富有成效的方式来利用你的时间。我强烈建议你将其加入书签,以便在你感到内疚感袭来时随时查看。

第一个错误

第一个错误是让内心的冒名顶替者引导我。我让她通过告诉我我还没有准备好,让我多年来没有为开源做贡献。相反,我只是不明白我需要付出多少努力才能达到我对为不熟悉的项目编写代码的能力感到自信的水平(我仍然在为此努力)。我还让她说服我这样做,认为我必须为开源做贡献才能证明我作为开发者的价值。最终的结果仍然是我在广泛使用的项目中合并的第一个拉取请求,但这种不安全感让我的整个体验变得不那么愉快。

不要被 Git 打倒

如果你想了解更多关于 Git 的信息,或者如果你是初学者,Git 是你为开源做贡献的障碍,请不要惊慌。Git 非常复杂,你不必期望已经知道它是什么。一旦你掌握了它,你就会发现 Git 是一个方便的工具,可以让许多不同的开发者同时在一个项目上工作,然后将他们各自的更改合并在一起。

有很多资源可以帮助你学习 Git 和 Github(一个托管代码的网站,以便人们可以使用 Git 在其上进行协作)。以下是一些关于从哪里开始的建议:Hello World GitHub 入门学习 Git 的资源

接下来阅读什么
User profile image.
Galen 是纽约市 Simple Health 的高级软件工程师。她喜欢写作(为计算机和人类)、举重和猫。@galenemco

4 条评论

非常感谢你的这篇文章,我发现它非常有用!很高兴读到参与是一个过程,而且最终是有回报的!

这读起来就像我为开源做贡献的传记!我尤其在学习 git 方面遇到了挑战,这就是为什么我在这里写了很多关于它的内容,以帮助其他人。非常感谢你分享你的经验!

你在这里说的话真的引起了我的共鸣,但我认为,总的来说,你不得不独自经历这一切是你所贡献的项目的失败。作为一名开源开发者,我的观点是,如果你想为开源做贡献,那么你试图贡献的项目应该帮助你学习。毕竟,他们将收获你培训的好处,所以他们应该努力帮助你。

如果情况并非如此,那么也许可以联系我,我可以帮助你找到一些项目,情况会是这样!

在 IT 的每个领域,几乎所有你知道如何做的事情都是“容易的”。

但在你弄清楚之前,这是不可能的 :p

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.