
从开源到继续:我成为 CEO 的旅程
我很高兴地宣布,我已加入 Continue 并担任 CEO!在与团队进行了数月深入的接触——起初是作为用户,后来作为顾问——一切都开始变得顺理成章。坦白说,这感觉就像是我职业生涯中完美的下一个篇章。
一切的起点
我是在 2023 年 8 月的一次 Ollama 聚会上结识 Continue 团队的。他们在演示中的口号是“任务,而非标签补全”(Task, not Tab Complete),这句话深深吸引了我。在那个充斥着为了博眼球而进行浮夸 AI 演示的领域里,他们正在做一些与众不同的事情:真正解决开发人员面临的实际问题,而不是仅仅增加一些渐进式的功能。
聚会结束后,我开始尽我所能提供帮助。我将他们介绍给了我认为可能会投资的 Heavybit 的朋友们。随后,我开始在定价、战略和合作伙伴关系方面提供咨询。起初偶尔的建议逐渐变成了半职工作,直到有一天,我发现自己在谈论 Continue 时会自然而然地使用“我们”。当 Ty 和 Nate 邀请我担任 CEO 时,我对他们的信任感到受宠若惊。对于团队来说,这是一次重大的变革,对所有相关人员来说也是一个重大的决定,但考虑到我们的合作关系是如何演变的,这感觉也是正确的选择。
我进入软件行业的曲折道路
有一件事你可能不知道:大学时,我主修的是分子生物学,原本计划成为一名免疫学家。如果我沿着那条路走下去,我很可能会投身于新冠病毒的研究中。我从高中起就一直走在那条路上,做湿实验研究,全身心投入。
然后有一天,我决定那不再是我想要的生活了。我还没想好接下来要做什么,一位朋友把我介绍给了他的老板 Keith,Keith 给了我一个机会,让我担任初级软件工程师。那份工作改变了一切,至少一点,我可以养活自己了!
正是这位老板支持公司资助我攻读硕士学位,这让我有机会从事 TinyOS 的开发,这是一个用于无线传感器网络的开源操作系统。我被交叉编译工具链所“吸引”(nerd sniped),致力于使其快速上手并易于使用。在 Linux Live CD 流行的年代,我定制了一版 Xubuntu,集成了开发 TinyOS 所需的一切,这是我的第一个真正的开发者工具项目。它帮助其他人克服了原本复杂的工具链,顺利起步。

最终,我离开了那家公司,决定在没有任何工作的情况下搬到加州。通过我在 TinyOS 建立的联系,我开始在伯克利的 David Culler 实验室出入。学生们不知怎么地为我办了一张入场证并给了我一个邮箱地址。有一天,David Culler 邀请我共进午餐,并向我提出了三个选择:加入他的实验室攻读博士、成为专职研究员,或者加入他的初创公司 Archrock。
我选择了那家初创公司,这开启了我在硅谷的职业生涯。从那时起,我之后的每一个角色之间都有着清晰的脉络。在 Archrock,我结识了 Wei Hong,他认识在研究生院时期研究 Postgres 的 Mike Olson,这就是我最终进入 Cloudera 的原因。
厨房团队与开发者体验
在 Cloudera,我领导了一个我们称为“厨房”(Kitchen)的团队,这有点像今天所谓的平台工程与开发者体验的结合。我们负责构建使开发和部署成为可能的底层基础设施。这个名字源于对 Google Hal Varian 的一次采访,他将 Google 的成功归功于开发产品的“厨房”。
“我还认为我们有一个更好的厨房。我们在 Google 投入了大量精力构建极其强大的基础设施,Google 的开发环境非常好。”

那时我就清楚地意识到,开发环境对于高绩效公司至关重要。这一洞察力可能解释了为什么我后来在咨询生涯中走访了许多开发者环境初创公司。
在 Cloudera 和在 WibiData 短暂但精彩的任职之后,我感到在基础设施领域有些倦怠,于是联系了 Puppet 的朋友。他们建议我尝试销售工程师(Sales Engineer)的工作,我本以为这只是暂时的,但最终我爱上了这份工作。
刚开始在 Puppet 工作时,我从未担任过销售工程师。虽然之前陪销售代表跑过客户,但这还是我第一次亲手担任这个角色。我和我的销售代表去了一家公司进行现场拜访。他们带了一位系统管理员参加会议,但他对参加这次会议并不感叹,他觉得比起在这里为一款他们可能无法成功使用的产品浪费时间,他还有更多重要的事要做。他的团队几乎所有工作都是手动完成的。
我记得我曾经身处那种境地,理解他的感受。所以我问了他一个我自己也希望被问到的问题:“对你来说,最糟糕的事情是什么?”
时间仿佛静止了一刻,我的销售代表对我竟然这样提问感到震惊。那个人也很惊讶。但他回答了:管理 SSH 和 SSH 密钥。每次有新开发人员入职或更换密钥时,他都必须手动在正确的位置完成所有配置。
我问他是否想现在就用 Puppet 自动化解决这个问题。他觉得这不可能做到。我们坐在一起,在 15 分钟内完成了大部分工作。这改变了他的生活,字面意义上,他工作中最为痛恨的事情被解决了。我们也因此完成了这笔销售。
那一刻我意识到,我喜欢与人们讨论工具如何能改善他们的生活。这不仅仅是关于技术本身,而是关于解决真正的人类问题。
Docker 与开发民主化
接着是 Docker。有一天,我输入了 docker run redis,心想:“好吧,这太酷了。”只需要一个简单的命令,我立刻就运行起了一个数据库,无需阅读文档,没有配置烦恼,也没有依赖地狱。我在早期加入了 Docker 的销售团队,后来在公司分拆后负责部分战略工作,与亚马逊、微软、GitHub 和 Google 建立了合作伙伴关系。
我在 Docker 时期,甚至可能是我整个职业生涯中最难忘的时刻,发生在多米尼加共和国北部的一个小海滨小镇。那时硅谷的舆论认为“Docker 已死”。我们去度假充电。我在酒店的一个小沙滩酒吧里穿着 Docker 的 T 恤,调酒师问我是否知道 Docker。当我告诉他我在那里工作时,他眼睛亮了起来。他告诉我他正在上夜校想成为一名开发人员,这样就不必一辈子当调酒师,而 Docker 让他看到了实现的可能。
那一刻深深地震撼了我。我觉得我是在回馈 Keith、David、Wei、Mike、Scott 以及所有曾经给我机会的人。通过我的工作,我也在帮助其他人获得他们的机会。每当有人因为我参与构建的产品而获得工作机会时,我都感觉是在传承那种最初的善意。这就是我的动力所在。
我在 Docker 时期的另一个亮点是曾有机会与 Scott Hanselman 一起玩 Minecraft。这绝对是我从未想到会成为工作内容的一部分。这是为了展示 Docker Compose 与 Microsoft Azure ACI 结合演示的一部分。我们构建它是为了展示容器如何简化复杂应用的部署,即使是像 Minecraft 服务器这样的东西。这是一个有趣的提醒:当开发工具做得对的时候,它们既能带来实用性,也能带来乐趣。
继续这段旅程
离开 Docker 后,我在疫情期间休息了一段时间,并开始为初创公司提供咨询,主要是开源开发工具公司。我与 Gitpod 和 Daytona 等多家开发环境公司合作,因为我相信开发民主化。我认为现在的开发者入门太难了,我们要求人们在开始写代码之前必须掌握 19,000 件东西。
我一直倾向于那些让事情变得更简单的工具。Docker 做到了这一点,docker run redis 的简洁性具有革命性。我所咨询的那些开发环境公司也正试图做同样的事情:点击一个按钮,就能获得编写代码所需的一切,而无需担心底层的所有复杂性。
Continue 感觉像是这段旅程中完美的下一步。我信仰开源,我相信让开发变得更普及,我也相信应该构建能够增强开发人员能力而不是试图取代他们的工具。
我很高兴能以这个新角色与 Ty 和 Nate 并肩作战。关于我们的愿景和方法还有很多要分享的,但我会留到下次再写。现在,你们对我有了更多的了解。
让我们一起继续这段旅程吧。我是说真的,在开启这个新篇章的过程中,我很乐意听到你们的想法和建议。