📜  为开源项目做出贡献的 5 大理由

📅  最后修改于: 2021-10-19 05:25:01             🧑  作者: Mango

在我们讨论任何关于开源之前……让我们考虑到组织中经验丰富的开发人员的情况,问几个问题。

大多数有经验的开发人员在组织中工作时面临的一些常见问题是什么?

受到团队在工作场所使用的技术堆栈的限制,并且没有足够的机会与其他一些技术堆栈合作……

受限于某种类似的项目,并且没有机会从事一些复杂或高级的项目……

或者可能是为每个项目编写类似代码的无聊任务……

以上所有问题都是大多数组织中开发人员的一些常见问题。这些问题有时会变得非常令人沮丧并导致软件开发的倦怠。好吧,这个问题有一个解决方案,但在我们深入研究之前,让我们讨论一下编程初学者的问题……

大多数初学者在编程中面临的一个常见问题是被如此多的工具和技术淹没。由于缺乏编码经验,他们很难为特定任务选择合适的工具。此外,当他们尝试学习某些东西并借助一些教程和课程(甚至是高级课程)时,他们并没有获得所需的信心。他们总能找到“超出教程”的东西,并偶然发现一些超出教程范围的问题……

那么以上两个问题的解决方案是什么……?作为一名经验丰富的开发人员,如何获得与某些不同项目或某些不同技术堆栈合作的机会。作为初学者,如何获得向招聘人员证明技能或构建任何类型的应用程序所需的信心水平……

贡献开源项目的前 5 个原因

最好的免费解决方案之一是……开源

开源是利用你的技能的好方法,今天它在程序员中变得如此流行,用于学习目的和许多其他原因。使用开源有很多好处,在这个博客中,我们将告诉你“为什么你应该为开源项目做出贡献”的主要原因。让我们讨论一下……

1. 你通过开源社区帮助他人

开源最酷的事情是为他人制作/创造东西。 在使用开源时,您可以创建有益于社区的代码。无论您做出什么样的贡献……无论是文档、代码中的细微更改,还是仅仅提出问题,您都肯定会改进工具或软件并使其他开发人员的生活更轻松。

当你在一个项目上工作时,你可以提高每个人的工作质量,在某个地方,你还可以通过提供解决方案、改进代码或帮助他们编写可读或可维护的代码来帮助其他开发人员。当您为开源项目做出贡献时,您需要记住的几件事……问自己几个问题……

  • 更改是我的代码库独有的还是其他人可以从中受益?
  • 它是否为其他人也可能遇到的问题提供了解决方案?
  • 您是希望自己维护代码还是希望由开源社区中的其他人维护?

您应该始终考虑定期改进开源项目,而不是单独使用它。在软件开发中,我们大部分时间都在处理其他人可能也会遇到的一些问题,所以为什么不告诉全世界您的方法并帮助他人。为什么不通过社区获得其他开发人员的帮助,为什么不建议您的解决方案来获得反馈,即该解决方案是否对其他开发人员来说足够有价值。

由整个开源社区维护的代码库总是比仅由个人维护的代码库好。

2. 优秀的工程质量

由于来自世界各地的开发人员的贡献,开源项目的质量对于内部代码库来说通常是一流的。世界各地的许多伟大的开发人员都使用他们出色的编码方法或编码风格来实现某些功能或对代码库进行一些改进。当您从事优质项目时,您还会看到好的软件是什么样的,以及开发人员如何使用不同的解决方案或编码方法来制作好的软件。

在开源项目中,您的代码对其他开发人员是公开可见的,当它发生时,您通常会专注于编写易于理解和修改的干净且可维护的代码。

优秀的工程质量

资料来源:Stackoverflow 调查 2019

3. 学习与体验

当您从事开源项目时,学习机会是巨大的。您与专家合作,获得反馈并瞥见专业软件开发。您会看到并了解一些大型科技巨头公司(例如Microsoft、Google或 Facebook)是如何创建或完成软件的。这些获得开源许可的公司共享内部编写的代码。

您可以更深入地了解该技术。当您不熟悉开源时,为某些项目做出贡献并不容易。您需要遵循一些步骤,并且需要付出一些努力来了解它的工作原理以及如何从中获得最大收益。以下是为开源项目做出贡献所需的一些步骤……

  • 您需要确定您的解决方案的哪一部分值得做出贡献。
  • 正在经历 目标项目的贡献指南。
  • 获取和开发项目中的功能。
  • 提取相关代码片段。
  • 修改或更改现有代码。
  • 描述所需级别的自动化测试用例和文档。
  • 提出问题。
  • 提交更改。

以上所有步骤可能会迫使您思考,您为贡献所做的努力是否会给您带来一些重大 好处?答案是……是的。完成这些步骤可以帮助您更好地理解您的项目,并为您提供更深入的知识。

要扩展项目并实现功能或特性,您需要了解您正在处理的项目的概念和原则。与其他贡献者的大量讨论、与其他成员的合作、不同的编码方法,所有这些都增加了宝贵的技能,你会学到很多关于现实世界软件开发的东西。

4. 你获得认可并利用你的事业

你为开源做出了贡献,你学到了很多,你获得了经验,这种经验为你开辟了很多职业机会。 “获得经验”阶段变成了“技能组合”阶段。

如今,招聘人员仅通过查看某人的简历就很难判断某人的技能。他们中的大多数人都在寻找一些在线平台来验证候选人的技能。在简历中,候选人很容易假装他们对某些技术有深入的了解,但大多数时候他们几乎没有触及技术的表面。这就是为什么很多招聘人员会借助一些在线平台(例如 GitHub)来寻找符合其要求的合适人选的原因。

在 GitHub(或其他平台)上拥有令人印象深刻的作品集是验证某人技能并为特定工作要求找到合适人才的好方法。许多公司聘请为公司支持的开源项目做出一些贡献的核心贡献者。

的开源贡献可公开访问,您贡献的越多,您对项目的影响就越大。你也会获得很多认可,有时当这种认可到达潜在雇主时,你最终会在一家好公司找到一份很棒的工作。

如果我们谈论的是您的在线贡献,那么并不意味着它应该是完美的。您无需为完成每个开源项目而更加担心。这不是必需的,更重要的是,对于招聘人员来说,您的积极参与、您对编码的兴趣、您的热情、您的技能以及您在开源贡献中反映出来的动力。这对任何潜在雇主来说都更有价值,并且将帮助他们找到人才的专业知识。

你的 GitHub 作品集是你简历中最重要的亮点,所以要把它当作你的名片。这对推进您的职业生涯大有裨益,无论是在您当前的雇主还是有趣的未来雇主。

5. 免费,降低开发成本

学习一些东西并获得所需的经验并不总是免费的。你需要在大部分领域花钱。但是开源为开发人员提供了机会,不仅可以从世界各地的顶级科技巨头那里学习软件开发,而且还可以为您提供足够的经验,让您在编程领域取得辉煌的职业生涯。

成为开源社区的一员,在那里您可以与世界各地的一些技术专长一起学习、协作和讨论令人惊叹的软件创意,这不是很棒也是最酷的事情吗?

开源还有助于降低任何组织的软件成本。您可以从团队外的专家那里获取想法、建议和帮助。您不仅限于仅在您的团队或组织中讨论的建议或想法。您可以从开源社区获得惊人的想法,也可以访问其他开发人员所做的工作。开源社区的专业知识给出的想法或解决方案可能比组织中讨论的想法更好。

如果您足够聪明,知道如何从开源社区获得最大帮助和收益,那么您就可以帮助您的组织构建成功的软件。