Somtochi Onyekwere 是一位开源维护者及高级软件工程师,拥有超过五年构建可靠、可扩展系统的经验,协助开发者在全球科技公司部署应用程序。在 Fly.io,她负责 Corrosion——支撑网络层的开源分布式系统。加入 Fly 之前,她曾担任开发者体验工程师,并担任 FluxCD 的维护者。FluxCD 是一个用于 Kubernetes GitOps 的开源项目,为微软和 ControlPlane 等公司的企业级开发者平台提供支持。
除工程工作外,Somtochi 热衷于建设社区,这一脉络可追溯至她在奥韦里联邦理工大学就读期间,担任 GitHub 校园专家及 Ingressive 校园大使的经历。如今,她联合主办尼日利亚 Kubernetes 社区日,去年举办的第三届活动吸引了来自非洲各地逾 500 名参与者。

我负责打造让其他人运行网站和应用程序的工具,也就是你每天在手机上使用的那些。这有点像帮人盖房子。通常,如果你想要一栋房子,你得自己买地、备料、再把一切组装起来。而我合作的公司会替你把这些全部搞定。你只需要带着自己的东西直接入住就好。
我热爱这份工作,在于我能解决的问题类型,以及和我一起解决问题的人。Fly.io 拥有一些我有幸共事过的最出色的工程师。在问题层面,我喜欢研究分布式系统,思考如何在保持可靠性的同时对其进行扩展。
当你把一个程序从在单台计算机上运行,扩展到跨多台计算机运行时,就会开始遇到各种有趣的问题。这打破了程序员习以为常的许多假设。我也很欣赏我们对开发者体验的重视,让用户能够轻松部署和扩展他们的应用程序。
让我既感到沮丧又感到兴奋的,是墨菲定律:凡是可能出错的,终将出错。我们所维护的系统可能会发生故障,但仍需足够可靠,以满足用户需求。
我还记得经历第一次事故时,看着所有人紧张地行动,修复故障,确保一切恢复正常。如今,在经历了多次事故之后,我在压力下的调试能力有所提升,也学会了从一开始就考虑各种故障模式。
当我的前公司 Weaveworks 倒闭时,我决定认真思考下一家要加入的公司类型。我列出了一份在基础设施领域做着有趣事情的公司名单——那些我平时出于兴趣就会阅读其工程博客的公司——然后开始投递申请。
Fly.io 排在那份名单的首位,面试过程相当艰难。但通过面试并不是挑战的终点。我希望将同样的专注与用心带入在 Fly.io 的工作中。在接手 Corrosion 之前,我曾参与过另外两个项目,但 Corrosion 迄今是最具挑战性的。更难的是,它是用一门我完全不懂的语言写的。
于是我快速学习,在几个月内便开始对代码库做出有意义的贡献。最终,我成为了这个项目的主要开发者。从"我从未写过这门语言"到"我是这个系统的负责人",这段历程让我由衷感到自豪——一方面是因为技术上的跨越,另一方面也让我想起:成为一名优秀的工程师,意味着能够面对未知或模糊的问题,将其分解,并找到解决方案。
对我来说,社区与工程从来就不是分开的,它们始终相辅相成。开源是我刚入行时磨练技能、了解现实世界工程运作方式的地方:人们分享所知、公开探讨想法,并参与塑造项目走向的对话。
这一信念影响了我的行事方式。作为学生,我以 GitHub 校园专家和 Ingressive 校园大使的身份组织科技聚会,帮助约五十名学生掌握进入行业所需的技能。后来,我倡导在 Kubernetes Slack 社区为非洲人建立一个专属空间,该群组现已发展至逾 450 名成员。
如今,我联合主办尼日利亚 Kubernetes 社区日,最近一届活动汇聚了来自非洲各地逾 500 名参与者和演讲者,共同学习、分享与成长。
我从社区中获益良多:导师、合作伙伴、朋友,以及各种机会。这正是我持续为下一代工程师投入的原因。无论是引导一名学生完成他们的第一个拉取请求(PR),还是帮助某人准备第一次会议演讲,目标始终如一:让这个社区比我加入时更强大。
16 岁的我有很多兴趣:数学、物理、工程、写作和教学。那时候,很多方向看起来都令人兴奋且可行。我刚刚完成中学学业,靠看电影打发时间。我总是被那些有黑客坐在电脑前、飞速敲击键盘、解决不可能任务、帮助团队完成使命的电影所吸引。
所以,那颗种子早已种下。我想至少试一试。但 16 岁的我完全没想到这条路能走多远,我想她看到我现在的样子,一定会非常兴奋。
我可能会尝试成为一名小说作家。这些年我写得不多了,但我依然热爱精彩的故事,以及将文字作为一种艺术形式和表达媒介。
