在过去的 15 年里,我一直完全依靠开源产品为生。我是如何走到这一步的?
在许多方面,我的旅程在 Linux 出现之前就开始了。在大学里,我有一些朋友是工程计算机实验室的管理员。虽然我的 CS 编程课程成绩不太好,但作为一种爱好,为了和我的朋友们在一起,我了解了新闻组、ftp 站点和 Unix 系统。作为一名数据助理实习生,我意识到我是一名优秀的翻译,可以在天文学家和 C 程序员计算机支持人员之间进行沟通。我可以阅读足够的代码来识别问题,但不足以真正解决它。
快进到成年后的入门级工作。我作为用户的经验为我赢得了在 PC 帮助中心学习系统和网络管理的机会。在那里,我了解了网络操作系统的安装、配置和互操作性。当 Linux 进入企业领域时,我抓住机会学习、支持和教授 Red Hat Linux、SuSE、Caldera 和 Turbolinux(并非所有这些都存在于今天)。
最初,几乎所有 Linux 管理课程的学生都已经是在使用 AIX、Solaris、HP-UX 和 NT 等操作系统的系统管理员。现在我的学生都是系统管理新手,直接学习 Red Hat Enterprise Linux。许多学院使用 Linux 教授分布式计算,包括一些使用我作为审阅者贡献的书籍的学院。你不再需要先学习其他系统。Coursera、Udacity、 EdX 和其他在线 MOOC 提供商都提供 Linux 和各种开源应用程序的入门级课程。
到 2000 年,我完全使用 Linux 产品工作。我以独立承包商的身份与各种发行交付合作伙伴合作,通过教学谋生。我通过寻找方法为上游项目做出贡献来扩展我的技能,并且我总是鼓励 Linux 新手也这样做。我通过 Docs Project 和作为 Ambassador 成为了 Fedora 的贡献者。我关注了基础设施团队,但始终没有找到足够的时间成为真正的贡献者。我参与了测试日、进行了一些错误修复,并帮助记录了软件包指南。我甚至完成了 MSIS 学位,包括一篇仅使用我的 Linux 笔记本电脑上的程序完成的论文。
我仍然不认为自己是一名程序员。我不是 C 程序员,也不是 Java 开发人员。我可以阅读几乎任何内容,并且我在没有学习相当多的脚本的情况下,无法在系统管理员的工作中生存下来。自由和开源软件 (FOSS) 的理想使我即使在对学习编码有心理障碍的情况下也能取得优异成绩。我理解逻辑,可以构建伪代码,但我不擅长从头开始编写到正确完成。有了 FOSS,我可以找到与我正在寻找的内容接近的脚本,并进行尝试,直到我得到我需要的。
通常,我不需要在手头没有可靠示例的情况下编写完整的代码段。配置管理产品(如 Puppet 和 Ansible)以及部署产品(如 Cobbler、Foreman 和 Pulp)也有助于自动化,而无需进行有时很复杂的结构化编程和错误处理。具有用户和管理员仪表板的平台(如 Ambari、oVirt 和 OpenShift)有助于集中和简化与使用软件定义网络和存储的大型复杂机器集群的交互。
我热爱教学。我喜欢看到当一个人弄清楚某件事应该如何工作时,顿悟的那一刻。我喜欢弄清楚新产品是如何工作的,以及它们在市场中的定位。我热爱学习,而且在教学时总是学到新的东西。这些天,我做的日常管理和支持任务较少,而更多的是架构设计。我还花费更多时间测试产品和编写说明——为自己、为书评、为课程和为会议。
随着 Docker 和 Kubernetes 等新兴技术的出现,总有更多东西要学习。我仍然是 Fedora Ambassador,但多年来,我没有时间为其他小组做出贡献,现在正在寻找新的、更小的项目来参与,最好是与安全相关的项目(尽管安全应该包含在所有类型的产品中)。我确信我可以通过测试、错误分类和文档做出贡献。一些与 Ansible 相关的项目,包括 Lightbulb 培训项目,也引起了我的兴趣,而且我总是对面向青少年教学的工具和材料的项目感兴趣。
3 条评论