← 返回博客

通过 GitHub 招聘:第一部分

在 Zed Industries,大多数招聘都遵循传统路径:开发者在我们的招聘页面上找到职位,申请,然后通过技术配对会话和文化交流与团队进行面试。

但有些开发者通过完全不同的途径加入了团队。

通过贡献获得认可

另一条路径始于我们的 GitHub 仓库。我们经常注意到社区成员持续提交高质量的 PR:修复错误、实现请求的功能以及改进编辑器。

这些贡献者成为我们内部 Slack 中的熟悉名字。

0xtimsb's issue and PR write-ups are nice
0xtimsb 的 issue 和 PR 撰写得很好
This dude (0xtimsb "tims") is doing some good work
这家伙 (0xtimsb "tims") 做了一些很好的工作

这些不是一次性的贡献。我们最终雇用的开发者通常会

  • 在开启 PR 之前,通过 GitHub 讨论或我们的 Discord 频道与团队进行互动,以确定方向
  • 在多次贡献中展示出一致的代码质量
  • 通过实时结对编程会话(我们最喜欢的!)与团队成员建立融洽关系
    • Zed 团队成员经常会在 Discord 中向有兴趣结对的贡献者分享他们的日程链接。

当我们发现这种模式时,我们会主动联系。

接下来是 Zed 团队成员通过卓越的开源贡献获得职位的经历。这是系列文章的第一篇,旨在表彰和庆祝这些早期就相信 Zed 的使命,无私贡献自己的时间和专业知识,并最终成为我们团队核心成员的开发者。

张俊奎

@JunkuiZhang

加入2024 年 12 月

居住在中国武汉并且喜欢玩 Dota 2 🎮,看动漫 📺.

2024 年初,Zed 只支持 macOS。官方的 Linux 支持还要半年才会公布,而武汉大学的学生张俊奎正在寻找一款新的编辑器。

我以前大部分编码工作都在 VS Code 和 PyCharm 中进行,但老实说,它们都感觉太慢了,而且占用了很多内存,尤其是在我的笔记本电脑上。所以我开始寻找替代品。我尝试了 Neovim,但最终,它并不是一个真正的 IDE,对我来说,它的限制太大了。

有一天,我在网上偶然看到了 Zed 的宣传,决定关注它。当时,Zed 还没有开源,只支持 macOS,所以我一直在等待 Windows 版本的消息。后来,我听说它已经开源了。

当时,我们正着眼于引入 Linux 支持。Windows 也在我们的考虑之中,但计划是在 Linux 之后再添加。作为一名 Windows 用户,俊奎回忆了他第一次尝试编译和运行 Zed 的经历

我仍然记得那天,我兴奋地打开 GitHub,拉出 Zed 的仓库,心想:“好吧,是时候给自己构建一个 Windows 版的 Zed 了!” 但我一打开仓库……就失望了。里面到处都是 unimplemented!

俊奎开始提交拉取请求以解决缺少的功能

我非常依赖字体连字和 OpenType 特性,所以我接着为 Zed 实现了完整的 OpenType 特性和字体回退支持。

几个 PR 变成了一场为期 10 个月的贡献活动,最终使俊奎成为我们根据 PR 提交数量计算的头号外部贡献者

Junkui's Zed pull requests
俊奎的 Zed 拉取请求

俊奎申请了 Zed 的实习职位。答案是显而易见的;由于俊奎的加入,Windows 上的 Zed 变得越来越可行,所以我们聘用了他!

现在,在 Zed Industries 工作了 9 个月后,俊奎谈到了他迄今为止的经历

我真的很享受探索和实现新想法的自由,以及有机会从事我真正关心的产品。团队也非常支持和协作,这使得它成为一个学习和成长的绝佳环境。

不要犹豫,伸出援手,分享你的想法!团队一直在寻找有激情的人才。


现在,每个人都可以在 Windows 上使用 Zed 编码——这要归功于俊奎、Windows 团队以及所有促成这一切的贡献者!🪟

Anthony Eid

Anthony-Eid
@Anthony-Eid

加入2025 年 2 月

居住在美国密歇根州底特律并且喜欢巴西柔术训练 🥋.

调试器问题。Zed 待办事项中获得最高投票的问题。

The debugger issue
调试器问题
  • 于 2022 年 12 月提出
  • 2100+ 👍s, 250+ ❤️s, 150+ 🚀s

很明显,用户希望在 Zed 中做更多事情,而不仅仅是 console.log()。以至于当我们正在构建其他编辑器基元和旗舰功能时,Remco Smits 自告奋勇开始着手实现。

与此同时,Anthony,他之前在国防工业从事安全关键系统构建工作,发现了 Zed,并被它所吸引

我第一次接触 Zed 是通过 Fireship 或关于它开源的 Reddit 帖子

在测试 Zed 时,Anthony 发现了一些特别之处

最大的亮点之一是 Zed 在我的笔记本电脑上使用时感觉非常流畅,以及阅读了关于 GPUI 的文章。现在有多少桌面应用程序是用原生代码而不是 Web 技术构建的呢?更不用说用自定义图形堆栈构建的代码编辑器了。

Anthony 也在寻找可以贡献的项目

我当时是一名嵌入式 C 开发者,想作为爱好为开源项目做贡献并学习 Rust,因为我觉得 Rust 将是一种很棒的语言/技能。我被 Zed 吸引,因为它是一个专注于高质量软件开发(性能、可靠性、内存安全等)并在代码编辑器领域进行创新的项目。

调试器的工作很吸引人。2024 年 3 月初,Anthony 询问是否需要帮助,Remco 接受了他的提议。

Anthony offers to help
Anthony 主动提供帮助

到六月,Anthony 和 Remco 每周结对多次,在幕后工作,构建调试器后端基础设施。

随着调试器工作的逐步完成,Zed 团队的成员开始与 Remco 和 Anthony 进行互动。

一旦调试器 PR 足够大,我们每周都会与 Mikayla 开会,我们可以提出问题并讨论实现细节。在项目快结束时,Piotr 也开始从事调试器的工作。他负责在我们调试器 PR 合并到 Zed 主分支之前推动我们最后一次重大重构。

在调试器上工作了半年多之后,Anthony 回忆了他从贡献者转变为 Zed 团队成员的过程

我被录用之前申请了几次,但 Joseph 在 Discord 上联系我,询问我是否想在 Zed 找工作,这最终让我获得了第一次面试并被录用。我唯一的面试是和 Nathan(CEO)进行的,感觉更像是一场关于调试器和 Zed 的对话,而不是传统的技​​术面试。当时我已经和 Piotr 花了很多时间进行结对编程,所以我想这也有助于营造轻松的氛围。

被 Zed 录用后,Anthony、Remco 和 Zed 团队对调试器 PR 进行了最后的冲刺,使其达到可以合并到主分支的状态,但需通过仅限员工的功能标志。

调试器 PR 的细节反映了这项社区驱动工作的巨大规模

The debugger pull reqeust
调试器拉取请求
  • 于 2024 年 6 月开启
  • 977 次提交
  • 涉及约 2.6 万行代码 / 156 个文件
  • 500+ 👍s, 200+ ❤️s, 150+ 🚀s
  • 于 2025 年 3 月合并

现在与 Zed 团队并肩工作,Anthony 回顾了他从这次经历中获得的成长

由于调试器是由 Remco 和我自主驱动的,我得以学习如何组织项目、团队协作,以及在有问题时深入研究代码库。我能够跳入一个我经验很少的问题(Zed、Rust、调试器、DAP 等),并帮助创建一个许多人期待并正在使用的功能!我掌握了我在调试器项目中一直在使用的所有技能——我现在可以更快地阅读和消化代码,在较少背景知识的情况下解决新问题,并且更容易驾驭大型代码库。

Anthony 的经历凸显了在 Zed 工作的独特之处

Zed 是一家快速发展的公司,每个人都信任能够交付代码。有很多机会可以应对有趣的技术挑战,我能够独立或与其他团队成员一起探索解决方案。此外,Zed 是我几乎每天都在使用的产品,我还可以花时间添加我想要的功能!

对于那些考虑贡献的人……

确保你享受这段旅程,并尽可能多地与团队进行结对编程。


今天,所有 Zed 用户都可以使用调试器,这要归功于 Remco 和 Anthony 投入了大量时间和精力来启动它。🔨🐛

总结

在 Zed,我们发现天赋以不同的方式展现。我们的一些工程师通过传统渠道申请,拥有令人印象深刻的简历。另一些人则首先通过他们的贡献证明了自己。这种方法是我们 DNA 的一部分——Zed 联合创始人 as-ciiAntonio Scandurra)最初被 Atom 团队聘用,就是因为他持续高质量的拉取请求引起了团队的注意!

Antonio's Atom pull requests
Antonio 的 Atom 拉取请求

这种多元化的背景使我们更加强大。我们全心全意地相信以结对为主的文化,即最好的软件是来自多个思想协同工作,以优雅地解决复杂问题——我们的数据结构就是从零开始,正是为了这种协作而构建的。

在 Zed,你是否拥有学位,或者自学编码,是否通过招聘启事而来,还是通过开源建立关系,这些都不重要。重要的是你对精湛技艺的热情,你的沟通能力,最重要的是,你能交付成果!🚢

我们正在寻找热爱构建优秀软件的人。如果你就是这样的人,我们总会找到彼此——无论通过何种方式。


正在寻找更好的编辑器吗?

您今天就可以在 macOS、Windows 或 Linux 上试用 Zed。立即下载


我们正在招聘!

如果您对我们博客中涵盖的主题充满热情,请考虑加入我们的团队,帮助我们实现软件开发的未来。