我最初在北方电信担任软件工程师,在那里我为运营商级电话交换机开发专有软件。虽然我在大学期间学习了 Pascal,但在北方电信,我接受了基于 C 的专有编程语言的培训。我还使用了专有操作系统和专有版本控制软件。
我很享受在专有环境中工作,并且有机会做一些有趣的工作。然后,在我的职业生涯中出现了一个转折点,让我开始思考一些事情。这件事发生在一个职业招聘会上。我受邀在一个当地中学的 STEM 职业小组上发言。我与学生们分享了我作为软件工程师的日常职责,其中一位学生问了我一个问题:“这真的是你一直想在生活中做的事情吗?你享受并热爱你正在做的事情吗?”
每当我的经理问我这个问题时,我都会安全地回答:“是的,当然,我喜欢!” 但我从未被一个对 STEM 感兴趣的纯真六年级学生问过这个问题。我对学生的回答还是一样:“当然,我喜欢!”
事实是,我确实很享受我的职业生涯,但那个学生让我开始思考……我不得不重新评估我在职业生涯中所处的位置。我想到了专有环境。我是我专业领域的专家,但这也是缺点之一:我只修改我自己的代码区域。我是否在一个封闭的系统中学习不同类型的技术?我的技能组合是否仍然有市场?我是否只是在走过场?这真的是我想要继续做的事情吗?
我思考了所有这些事情,我想知道:挑战和创造力是否仍然存在?
生活继续,我经历了重大的生活变故。我离开了北方电信,并暂停了职业生涯,专注于我的家庭。
当我准备重新进入职场时,那个六年级学生的问题仍然萦绕在我的脑海中。这真的是我一直想做的事情吗?我申请了几份看起来很匹配的工作,但我从招聘人员那里收到的反馈是,他们正在寻找具有五年或五年以上 Java 和 Python 技能的人。似乎我在北方电信 15 年的职业生涯中获得的技能和知识不再被需要或使用。
挑战
我的第一个挑战是弄清楚如何利用我在一家专有公司工作时获得的技能。我注意到 IT 行业已经从专有技术转向开源技术。我决定学习并自学 Python,因为它是最热门的语言。一旦我开始学习 Python,我就意识到我需要一个项目来获得经验并使自己更具市场竞争力。
下一个挑战是弄清楚如何利用我对 Python 的新知识获得项目经验。以前的同事和我的丈夫将我引向开源软件。当我在 Google 上搜索“开源项目”时,我发现有数百个开源项目,从小型的(一位贡献者)到少于 50 人的社区,再到世界各地有数百位贡献者的大型项目。
我在 GitHub 中搜索了符合我的技能组合的技术术语,并找到了几个匹配的项目。我决定利用我的兴趣和网络背景,为 OpenStack 做出我的第一次贡献。我还发现了 Outreachy 计划,该计划为技术领域代表性不足的人群提供为期三个月的带薪实习。
经验教训
我学到的第一件事之一是,我可以以多种不同的方式做出贡献。我可以为文档和用户设计做出贡献。我也可以通过编写测试用例来做出贡献。这些都是我在职业生涯中培养的技能,我不需要五年的经验就可以做出贡献。我所需要的只是做出贡献的决心和动力。
在我的第一个对 OpenStack 的贡献被合并到发布版本之后,我被 Outreachy 计划录取了。Outreachy 最好的事情之一是,我被分配了一位导师来帮助我浏览开源世界。
以下是我学到的另外三个宝贵经验,可能对其他有兴趣进入开源世界的人有所帮助
坚持不懈。 坚持不懈地寻找合适的开源项目。寻找与您的核心技能组合相匹配的项目。此外,还要寻找那些有行为准则并且欢迎新人的项目,尤其是那些有新人入门指南的项目。坚持不懈地参与社区。
保持耐心。 适应开源需要时间。参与社区需要时间。给出周到且有意义的反馈需要时间,阅读和考虑您收到的反馈也需要时间。
参与社区。 您不必获得许可才能从事某项技术或某个领域。您可以决定您想从事什么工作并投入其中。
Petra Sargent 将在 7 月 16 日至 19 日在俄勒冈州波特兰举行的第 20 届年度 OSCON 活动上展示 您可以教老狗新把戏:从专有技术转向开源技术。
2 条评论