什么是“吃自己的狗粮”?JetBrains如何通过内部实践打造卓越的开发者工具
在软件开发领域,“狗粮自喂”(Dogfooding)是指在开发、测试和改进产品时,亲自使用自家产品。在 JetBrains,这是我们打造 IntelliJ IDEA、YouTrack 和 Rider 等开发者工具的核心方式。
我们不依赖假设或抽象的用户画像。我们每天在真实的工作流程中使用自己的工具,这让我们能够紧密贴合开发者所面临的实际问题。
正如我们的首席执行官 Kirill Skyrgan 所言: “只有亲自使用,你才能打造出真正出色的软件。每一个功能、每一个决策都源于第一手的亲身体验。”
什么是软件开发中的“狗粮自喂”?
“狗粮自喂”(Dogfooding)——源自“吃自己的狗粮”(eating your own dog food)——意指让你的产品经历与客户相同的真实使用场景。
我们的工程师、设计师、产品经理,甚至是技术文档撰写人员,都围绕 JetBrains 的工具构建日常工作流。我们使用 IntelliJ IDEA 编写代码,并在 YouTrack 中跟踪问题和内部项目状态。
这不是为了内部合规——没有人强迫任何人使用产品,这关乎信任。我们使用自己的工具是因为它们能帮助我们更好地完成工作;如果它们做不到,我们就会改进它。
这种“构建”与“使用”之间的直接联系让我们保持务实。我们不追逐潮流,也不为假想的用户进行设计。如果某个环节拖慢了我们的速度,我们知道,这很可能也会影响到成千上万的开发者。
[LOADING...]
“狗粮自喂”的益处:更快的反馈与更好的软件
“狗粮自喂”为我们提供了每家产品公司都梦寐以求的东西:即时且未经过滤的反馈。
我们的开发者不必等待数周去查看客户报告,而是在编写代码时就能发现问题。
当一个功能感觉不直观或快捷键的操作不如预期时,修复工作通常会在当天甚至几小时内就开始。
这种紧密的反馈循环将每一位 JetBrainer(JetBrains 员工)都变成了质量的倡导者。它缩短了从发现问题到解决问题的距离,帮助我们在问题触达用户之前就将其解决。它还培养了同理心。亲自使用工具意味着我们不仅理解用户所说的话,更理解他们的体验。我们能感受到那些卡顿、摩擦点以及“为什么会这样?”的瞬间——并且我们足够在意,从而去解决它们。
“随着时间的推移,成千上万个微小的修正,正是将一款好产品打造成卓越产品的关键,” Kirill 分享道,“这些改进来自那些每天都在使用工具的人,他们希望产品变得更好,不是为了 KPI,而是因为他们真心在乎。”
JetBrains 的“狗粮自喂”案例
“狗粮自喂”塑造了每一款 JetBrains 产品,通常在发布前很久就已经开始了。
Rider:从不稳定到生产就绪
“狗粮自喂”最典型的例子之一就是我们的 .NET IDE —— Rider。早在 2016 年,当它还很不稳定、充满瑕疵时,JetBrains 的开发者们就已经在正式发布前很久将其用于日常工作了。有时,编辑器甚至会崩溃导致无法输入代码。但团队没有放弃,而是当场修复了遇到的问题。
正是这种坚持,让 Rider 从一个实验性项目转变为世界级的 IDE。自此,同样的原则塑造了无数 JetBrains 产品。
YouTrack:在自身中构建与管理
另一个案例是 YouTrack 团队,他们使用自己的问题跟踪系统来管理每一个内部项目以及产品本身的改进流程。这种持续的内部使用挖掘出了许多边缘情况,并推动了产品的持续完善。
Junie:在用户接触前已然成型
Junie 是我们较新的工具之一,在封闭测试前几个月就已经在内部投入使用了。
团队在 2024 年 12 月就开始内部使用 Junie,甚至在它进入封闭 Beta 测试之前。从一开始,内部反馈就在塑造产品演进的过程中发挥了重要作用。团队成员迅速指出了那些感觉不妥的地方,从微小的界面怪癖到 Junie 响应不如预期的情况。这些早期的洞察帮助团队在任何 JetBrains 外部人员看到它之前,就优化了产品体验。
其中一个特别重要的反馈是:Junie 对其正在执行的操作解释不够。这种缺乏清晰度的表现让一些交互显得令人困惑。正因为团队亲身体验到了这一点,他们能够及早重新思考产品的沟通方式,使其更加透明和有帮助。
另一个极大地受益于“狗粮自喂”的领域是 Junie 与公司内部各种工作环境的连接。JetBrainers 在日常工作中依赖各种各样的配置,在这些配置中使用 Junie 揭示了许多团队原本不会注意到的边缘情况。每一次发现都转化为改进——这样的改进有数百次之多。
[LOADING...]
“狗粮自喂”如何提升开发者体验与主人翁意识
“狗粮自喂”不仅改进了产品,还改变了团队的工作方式。当你使用自己构建的东西时,“开发者”与“用户”之间的界限就消失了。没有交接,没有抽象。
这种视角创造了更强的主人翁意识。决策具有直接、可见的影响。团队能实时看到他们工作的结果。
JetBrains 对 AI 工具的“狗粮自喂”
我们的团队在发布前很久就会在内部使用 AI 辅助功能,测试哪些功能有用,哪些功能会造成干扰,以及哪些功能真正提高了生产力。
这有助于我们避免为了追逐潮流而开发 AI。我们开发它是出于实际需求——并且我们不断打磨它,直到它能在真实的开发环境中发挥作用。
为什么“狗粮自喂”对于打造更好的软件至关重要
“狗粮自喂”是我们确保产品达到用户期望的高标准的保证。它让我们保持诚实、充满动力,并与我们所从事的工作紧密相连。这并不总是令人舒适的——在自己的产品中发现 Bug 很少是件开心的事——但这是我们所知的、打造真正有影响力的软件最真实的方式。
这正是 JetBrains 能在过去二十多年里蓬勃发展的原因:一种由实干家组成的文化,他们从内部出发,去构建、测试并改进产品。
正如我们的一位技术负责人所说:
“如果我要启动任何新项目,第一个里程碑绝对是‘狗粮自喂’。这是产品最重要的质量关卡之一,也是获取高质量反馈的关键来源。”
构建你所信仰的产品
“狗粮自喂”不仅仅是我们遵循的一个流程,它是我们工作方式的基础部分。它帮助我们坚守使命,不断进步,并确保当世界各地的开发者打开 JetBrains 工具时,他们能感受到这是由真正了解他们的人所打造的。
因为事实确实如此。
如果这种工作方式与你产生共鸣,如果你关心工艺,且比起追逐潮流更喜欢解决实际问题——你很可能会在这里找到归属感。查看我们的职业页面,了解空缺职位!
[LOADING...]