专栏首页CNCF为什么我要为开源社区做贡献|你也应该这样做

为什么我要为开源社区做贡献|你也应该这样做

客座文章最初由Sysdig高级软件工程师Marky Jackson(@markyjackson5)在Upshot上发表

我有一个艰难的童年。我从一个男孩的家转移到另一个男孩的家,几乎无法控制自己的生活。但我很坚强,也很聪明,我在很小的时候就获得了自由,这让我在十几岁的时候就开始按照自己想要的方式生活。

孩子们需要稳定的环境才能长大,而我通过编写代码为新的现实奠定了基础,从而弥补了寄养家庭所提供的不稳定性。我非常擅长电脑编程,我童年的逃避最终成为了我职业生涯的基石。在某种程度上,编程给了我一种掌控感,就像是我的生活中所缺少的。

灵感来自一位火箭科学家

我九岁的时候,我的世界彻底改变了。放学后,我去拜访一位朋友,他的父亲正在一台TRS-80电脑上玩游戏。那是在家用电脑还很新奇的时候。TRS-80很原始,和你放在随身听里存储的磁带一样,但我被迷住了。

我朋友的父亲在屏幕上炸坦克。

我记得我问,“你在玩什么游戏?”

“我还没给它起过什么名字呢,”他回答。我不明白他的意思。

他为什么要叫它什么呢?然后他解释说,这是他自己用BASIC语言写的。

我的大脑爆炸。我喜欢电脑游戏,但我不知道人们可以自己开发游戏。还没等我反应过来,我朋友的爸爸就开始教我如何用BASIC编程了,于是我开始用磁带建立自己的软件库。

几年后,我发现这个人以写软件为生。他在美国宇航局的喷气推进实验室工作,编写了控制航天飞机反应控制系统的程序。这些推进器提供了姿态控制,这是航天器在轨道上调整和保持位置的方式。

“你爸爸是个火箭科学家?”几年后,当我意识到他父亲的工作时,我问我的朋友。我没有意识到我在编码方面受到了一个从事太空项目的人的指导。

我对开发的大胆尝试

这门课一直持续到我上大学的时候,我已经是一个十足的电脑迷了。我在加州大学洛杉矶分校和麻省理工学院学习计算机科学,然后在茉莉多媒体出版社实习了14个月。

我在学校的时候认识了茉莉多媒体的CEO Jay Samit。他认为我有潜力,并提出每小时付给我15美元来写软件。那是一份相当不错的薪水,我在公司的时间帮助我巩固了我的技能,尤其是在C++方面,那是20世纪90年代中期最热门的编程语言。

我认为在那里的时间是我的天堂和地狱之年。主要是因为我参与的项目。

我刚刚结婚,我被分配到一个项目,我可以最好地描述为有一个兄弟会的氛围。很好玩,但不适合家庭生活。然后我转到另一个项目,叫做梵蒂冈内部。至少可以说,这是一种完全相反的游戏。这是一张互动光盘,由彼得·乌斯季诺夫爵士叙述,并与天主教会合作制作。

这是一个美好的时间,在电脑工作。互联网正在腾飞,我们正在寻找新的方式,将真人视频和电脑图像结合到多媒体故事中。

不幸的是,茉莉多媒体被公司买断了,我只好另找工作。

17年的朝九晚五

我的职业生涯开始了。我的技能非常抢手,我为一系列知名机构工作,包括一家保险公司、几家银行和国防部。我喜欢软件工程师的工作,但我的劳动成果是公司的。我不像我朋友的父亲那样,把我置于他的庇护之下。

我不高兴,但与此同时,我的岳父一直告诉我,如果我百分之百地喜欢我的工作,我就会付钱在那里工作。他告诉我,除了经济上的回报,工作不需要提供任何东西,我的经历也证实了他的观点。

我的雇主在推销产品,让股东和董事会成员满意。这就是世界的方式。为更大的善做贡献是你在业余时间或退休后做的事。办公室里没有地方可以帮助别人,对吧?

在赛门铁克和雅虎改变了我的看法

他们说你不会有第二次获得幸福的机会,但当我开始在赛门铁克工作,然后在雅虎工作时,就发生了这种情况。这两家公司的管理者都是真正的信徒,他们把一切都投入到改善客户和用户的生活中。

大多数人不会花很多时间考虑网络安全、电子商务、电子邮件和搜索功能,但他们每天都在使用这些技术。如果我们的指尖没有这些力量,我们会在哪里呢?

我谦卑地意识到,我的工作又一次带来了改变,重新唤起了最初吸引我从事软件工程的冲动。但我想做更多。

在SysDig帮助其他使用Kubernetes集群和容器化DevOps的程序员

从TRS-80上用BASIC语言编写程序,到使用Kubernetes与基于云的容器化DevOps环境一起工作,这是一条漫长的道路,而我现在就在使用Kubernetes。

我最近在Sysdig找到了一份系统工程师的工作。我们提供监视、故障排除、可见性和安全工具来捕获、过滤和解码系统调用和其他OS事件。

在Sysdig,我正在构建帮助其他开发人员简化和保护他们的管道的工具。我感觉我终于要回馈社区的程序员了,他们张开双臂欢迎我,帮助我在过去的几十年里建立了一个利润丰厚的职业生涯。

通过Jenkins Prometheus和GitHub回馈

Sysdig利用开源工具来构建我们的商业产品。他们的基础是基于开发人员社区的众包智慧,所以我们将我们的工具重新发布到开源生态系统中。

除了在Sysdig的日常工作之外,我还在GitHub维护Jenkins Prometheus插件的开源版本。此Jenkins附加组件是一个系统监视和警报工具,用于记录和编译实时端点数据,从而提供关于Jenkins服务器的有价值的性能指标。

我没怎么多想这个插件。这是一个有趣的副业,就像我朋友的父亲在我小时候开发的坦克游戏一样。然而,Jenkins有一个庞大的用户群,成千上万的公司使用这个平台来自动化他们的CI/CD管道。他们也在使用我的Jenkins Prometheus工具来监控他们的DevOps环境。

其中一家公司雇佣我来修正他们的Jenkins部署与我的插件的工作方式。这是一件大事,因为我的宠物项目在他们的全球运营中发挥了巨大的作用,我很自豪能帮助他们解决所有问题。那是我第一次意识到我的志愿者工作的影响。

去年,我在旧金山DevOps World | Jenkins World的Jenkins/Jenkins X社区摊位工作时,一个完全陌生的人走过来,要求和我一起自拍。他在一家财富100强公司工作,这家公司使用我的Jenkins Prometheus插件从生产线上获取数据。

那家伙吓坏了,说他的老板不相信他没有带照片的证据就见过我。这是我的摇滚明星时刻。我以为我是一个匿名的程序员,这个来自世界上最著名的公司之一的家伙想和我合影。

开源可以改变世界

开源社区就是关于包容的。我们欢迎大家贡献自己的力量,并对他们的辛勤工作表示感谢。来自世界各地的开发人员、编码人员和工程师合作推进我们的行业,这种团结和归属感无人能及。

我们不只是业余爱好者。GitHub和其他开源项目创建了在线和真实世界的空间,IT专业人员可以在这里分享他们的专业知识。例如,CloudBees的工作人员为Jenkins提供了世界上最好的商业实现,他们是Jenkins开源版本的定期贡献者。

就像我在雅虎和赛门铁克的同事一样,他们是真正的信徒,希望每个人都能从Jenkins的CI/CD流水线自动化工具中受益,而不管他们的财力如何。这就是开源的美妙之处。我们把人们聚集在一起,我们正在消除技术障碍。我们改变世界是为了乐趣和利润。

指导下一代程序员

回馈的最好部分是帮助下一代程序员。几个星期前,一位年轻的同事请求我资助他成为Kubernetes社区的一员。我很自豪能帮助他加入我们的小组,并被他的热情和承诺所感动。毕竟,我们没有人会因此而得到报酬。

我还辅导了谷歌Summer of Code的一名学生,他能够将自己的实习转化为一份全职工作。为了表达他的感激之情,他现在是开源社区的一员,并帮助其他年轻的程序员建立成功的职业生涯,这在简历上看起来也很不错。

保持开源社区的发展需要大量的时间和精力。我们大多数人都是下班后工作来完成工作,我们需要帮助——很多的帮助。人们认为你必须是一个专业的程序员才能加入我们,但事实并非如此。参加的方式有很多。你可以提交错误报告、编写技术文档,甚至赞助应用程序。提供支持的方式有很多。问问你能做什么。

我绕了一圈。这个从火箭科学家那里学会了编程的男孩现在是一名高级软件工程师,他正在帮助年轻人学习编程的诀窍,以便他们能够挑战计算机科学的边界。

我朋友的父亲对我产生了积极的影响,改变了我的生活。全世界无数人都在通过为开源社区做出贡献而产生影响。今天你如何改变世界?

点击文末<<阅读原文>>进入网页了解更多。

本文分享自微信公众号 - CNCF(lf_cncf),作者:CNCF

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • TODO指南:提升开源开发影响力

    开源开发使用的方法与许多组织所习惯使用的方法不同,但是如果您有明确的计划可以执行,开源开发就会变得更容易。幸运的是,许多公司和个人已经为重要的开源项目成功的做出...

    CNCF
  • TODO指南:制定开源策略

    大多数公司使用开源并不一定理解开源带来的好处,他们的组织并没有与业务需求保持一致的开源策略。此外,根据最新的“开源调查的未来”,只有约一半的这些公司报告有实行基...

    CNCF
  • TODO指南:怎样创建开源计划办公室

    开源项目中心办公室是支持、培育、共享、解释和发展开源代码的特定场所。这样的办公室可以帮助企业明晰创建和执行开源项目的战略,成为保障领导、开发者、营销人员和其他员...

    CNCF
  • 华为Fusionstage容器云助力咪咕SDK,响应效率提高200%

    咪咕互动娱乐有限公司(下称咪咕互娱)是专业运营游戏的运营商创新型互联网企业,目前已有7500+合作伙伴,超过3W+安卓游戏,覆盖超过1.8亿手机游戏用户,明星游...

    BestSDK
  • Docker学习——数据管理、使用网络(三)

    这一章介绍如何在 Docker 内部以及容器之间管理数据,在容器中管理数据主要有两种方式:

    wuweixiang
  • 技术分享 | 大数据可视化的五大发展趋势

    在这个信息爆炸的时代,借助图形化的手段,高效和清晰的交流信息是数据可视化的目的所在,作为一种信息载体,她拥有对数据的多种表现形式,可以是美丽的且带有趣味性的,以...

    加米谷大数据
  • 从Iris数据集开始---机器学习入门

    代码多来自《Introduction to Machine Learning with Python》. 该文集主要是自己的一个阅读笔记以及一些小思考,小总结...

    用户1631856
  • 兰州拉面和水电大坝都在玩的数据大屏,到底是什么“黑科技”?

    当“数据大屏”成为一种可以标准化输出的可视化解决方案,非专业的小白也能轻易上手?7月15日数据侠实验室第15期活动中,阿里云开发专家、DataV核心开发者郑新...

    DT数据侠
  • 你必须掌握的可视化大屏开发模式

    我们都尝试去观察生活,但是有时却缺少了总结生活;有时我们太着眼细节,忽略了大局。数据和可视化似乎是两个好兄弟,就像仰望星空与脚踏实地的两种状态。

    合一大师
  • 边框阴影

    十月梦想

扫码关注云+社区

领取腾讯云代金券