一旦确定要从事数据科学家的职业,就购买并阅读了《数据科学手册》。 本书对我的最大影响是让我了解参与开源项目的好处。
对我而言,这始终是一个吸引人的主意。 当然,说起来容易做起来难。 如果您没有任何经验,那么Git并不是特别容易理解。 我对让其他人查看我的平庸代码并不感到兴奋。
在阅读了几位宣传开源软件的成功数据科学家的言论后,我决定摆脱恐惧。 进行一些谷歌搜索使我进入了First Timers Only,这是GitHub新手的资源。 在那里,我找到了Up For Grabs,它可以在GitHub上跟踪带有特殊标签的项目,这些标签表示适合经验不足的人的问题。 我强烈建议任何有兴趣加入开源项目的人都来看看这两个资源。
如果您还不了解,Git是一个允许开发人员进行协作的工具。 此过程称为版本控制。 没有它,几乎不可能合并几个人的工作。 GitHub是一个位于Git之上的平台。 它使用了Git中的功能,并将版本控制过程提升到另一个层次。 对于对涉及编写代码的职业感兴趣的任何人,都必须熟悉这些内容。 开源项目只是托管在GitHub(或另一个版本控制平台,但GitHub最为流行)上的一个项目,邀请所有开发人员参与。

第一步是选择要加入的项目。 我认为这部分比实际要容易得多。 GitHub上有很多项目。 有些比其他人更热情。 我建议您环顾四周,直到找到一个足够的项目,而不是寻找理想的项目-您将永远找不到。
我最终选择了Oppia项目。 这是一个开源且完全免费的学习平台,致力于为发展中国家提供教育。 无论是代码还是内容,它都由社区提供支持。 一旦我登陆他们的GitHub,就不难确定Oppia是我的项目。 整个Oppia系统旨在帮助新移民了解他们的需求并开始做出贡献。 开源学习平台是一个学习开源的平台,这是有道理的。
当我第一次坐下来加入Oppia时,我必须填写一份调查表,询问我的经历和兴趣。 提交后不久,我收到了该项目创始人Sean Lip的电子邮件。 我收到了该项目的摘要,有关从何开始的一些建议以及热烈的欢迎。 绝对是压倒性的。 在这一点上,即使我做了一些教程,我对使用Git还是不太满意。 幸运的是,在Oppia Wiki上有很多信息使我兴奋不已。 很明显,该项目的维护者知道我需要提供什么样的指导,并且提供了很多指导。
几天后,我和肖恩进行了视频通话。 他向我讲述了关于Oppia的一切,他对项目的热情直接在我的电脑屏幕上显示出来。 与该项目的创始人交谈非常令人振奋。 我立刻感到很重要。
我必须写后端测试。 Oppia具有支持该工作的整个基础架构,因此我始终感到自己知道自己的去向。 但是我不知道自己在做什么(我仍然不知道)。 我每天都要经历这个周期,即提交工作并收到大量反馈,因为这样做有很多错误。 我已经为此做好了准备,但是听到您必须第三次重新开始仍然有些不舒服。
这就是为什么您需要这样做。
在Oppia的前几天,我通过强迫自己提出拉取请求学到了很多东西。 当然,我的代码太糟糕了-但是我已经学会了如何阅读代码,创建分支,进行提交,测试我的代码以及发出拉取请求。 然后,经过几次审查,我对测试的外观有了一个很好的了解。
我花了大约一周的时间才合并了我的第一个请求请求,更不用说很多自我教学了。 Oppia的团队没有握住我的手,只是将我推向正确的方向,并鼓励我自己做很多事情。 当我最终合并我的代码时,我感到很满足! 很高兴知道一个组织已经接受了我的工作,即使我几乎不知道自己在做什么(并且表明了)。
对于任何对开发感兴趣的人,加入开源项目都是宝贵而充实的经验。 我为成为Oppia项目的成员而感到自豪,并鼓励每个人都能找到令自己感到骄傲的东西。