Block 如何成为全球最 AI 原生的企业 | Dhanji R. Prasanna
Block 如何成为全球最 AI 原生的企业 | Dhanji R. Prasanna
Block 如何成为全球最 AI 原生的企业 | Dhanji R. Prasanna
AI 带来的生产力提升
**Lenny Rachitsky:**关于 AI 带来的生产力提升,大家讨论得很多。有一派人觉得都是过度炒作,什么都没真正起效,没有人在大规模地落地这些东西。
**Dhanji R. Prasanna:**我们看到了显著的收益。我们发现那些非常非常积极拥抱 AI 的工程团队,每周能节省大约八到十个小时的工作时间。每当我听到这样的数据,我觉得很重要的一点是——这已经是它最差的时候了,这就是现在的基准线。事实是,这个价值每天都在变化,所以你需要乘上那波浪潮一起前进。
**Lenny Rachitsky:**我听你在另一个播客上分享过一个故事,说有个工程师让 Goose 在旁监听。
**Dhanji R. Prasanna:**你会在 Slack 或电子邮件里跟同事讨论某个他们认为值得实现的功能。几个小时后,他会发现 Goose 已经尝试把那个功能做了出来,并且在 Git 上开了一个 PR。
**Lenny Rachitsky:**哪个级别的工程师从这些工具中受益最大?
**Dhanji R. Prasanna:**令人惊讶、也非常棒的是,那些非技术人员正在使用大语言模型(LLM)的代理(agent)和编程工具来构建东西。那些能够拥抱这些工具、为自己的工作日和特定任务集进行优化的人,才是真正从这些工具中展现出最大影响力的。
**Lenny Rachitsky:**你觉得几年后工程师的工作方式和今天相比会有什么不同?
**Dhanji R. Prasanna:**所有这些 LLM 在夜间和周末都在闲置,而人类不在。这没有必要。它们应该一直在工作。它们应该预判我们想要什么,并提前去构建。
**Lenny Rachitsky:**关于打造产品或建设团队,你学到的最反直觉的教训是什么?
**Dhanji R. Prasanna:**很多工程师认为代码质量对于打造成功的产品至关重要。这两者之间毫无关系。
嘉宾介绍
**Lenny Rachitsky:**今天的嘉宾是 Dhanji Prasanna。Dhanji 是 Block 的首席技术官,管理着一个超过 3500 人的团队。在他的领导下,Block 已经成为全球最 AI 原生的大型公司之一,基本上实现了许多工程和产品负责人在各自公司里想要达成的目标。
在我们的对话中,我们聊到了他们内部名为 Goose 的开源代理——按照他们的衡量,平均每周为员工节省八到十个小时的工作时间,而且这个数字还在上升。我们还聊到了 AI 具体如何让团队更高效,以及哪些团队受益最大——有趣的是,并不是工程团队。我们还聊到了将企业文化转变为高度 AI 导向需要付出什么,以及他们内部做的一个非常无聊的改变,却比任何 AI 工具都更能提升生产力。此外,还有从构建 Google Wave、Google Plus 和 Cash App 等产品中积累的经验教训。这期节目适合所有好奇一家高度 AI 前沿、技术驱动的大型公司是什么样子、能如何运作的人。如果你喜欢这档播客,别忘了在你最喜欢的播客应用或 YouTube 上订阅关注,这对我帮助非常大。
[广告部分已跳过]
**Lenny Rachitsky:**Dhanji,非常感谢你的到来,欢迎来到播客。
**Dhanji R. Prasanna:**谢谢你,Lenny。很高兴来到这里。
致 Jack Dorsey 的 AI 宣言
**Lenny Rachitsky:**我想从一封信说起——听说你给 Jack Dorsey 写了一封信,想说服他以及 Block 需要更加重视 AI。我记得你把它叫做你的 AI 宣言,看起来效果非常好。我们后面会聊到由此带来的一系列变化。那么请问,你在那封信里说了什么,信发出之后紧接着发生了什么?
**Dhanji R. Prasanna:**大约两年半以前,Jack 确实觉得需要做出改变。我认为他预感到行业正在朝一个不同的方向发展。于是他把公司大约四十位高管召集到一起,每周定期开会,把正在发生的所有事情都讨论一遍,他把我加入了这个小组。到了某个时候,我注意到我们在讨论很多深入的话题、很多相关的事情,但没有人真正关注 AI。于是我就写了那封信。说实话,这封信后来似乎有了自己的生命,但信本身并没有太多内容,无非就是——我认为我们应该做这件事,应该集中力量来做,走在前面、成为一家 AI 原生公司对我们来说很重要,因为这就是行业的发展方向。
**Lenny Rachitsky:**我想补充一点,值得一提的是你当时还不是 CTO。你当时只是一名高级工程师之类的?
**Dhanji R. Prasanna:**对,事实上我当时还是兼职状态,因为我刚有了一个孩子,正在陆续回归,帮一个工程团队做些事情。后来 Jack 专门飞到悉尼来找我,跟我待了两天。我们俩都喜欢长距离步行,所以就围着悉尼到处走,上上下下把事情聊了个透。然后他就把这个职位给了我,我觉得这是一个千载难逢的好机会,于是就接了。
**Lenny Rachitsky:**这有点像”小心你擅长什么”那种情况。好吧。那在 Jack 和 Block 的高管们都认可”这完全正确,我们需要更大力度地投入,更深入地思考 AI 如何改变我们的构建方式以及我们应该如何构建”之后,你做出的一些更大的改变有哪些?从其他正在收听、试图思考自己该怎么做的公司角度来看,可以借鉴些什么?
回归技术公司本源
**Dhanji R. Prasanna:**最开始,我的主要重点是让 Block 回归到以技术公司的思维方式来运作。很长一段时间以来,我们多少出现了一种——我想称之为身份漂移(identity drift)吧。我们把自己说成是一家金融服务公司,有人叫我们 FinTech,诸如此类。但当初我加入那时还叫 Square 的公司时,我们一直把自己看作一家技术公司,就像 Google、Facebook 或者其他任何一家一样。
所以我想要让我们回到那个状态。于是做的第一件事就是推行一系列聚焦于此的计划——从把公司最顶尖的个人贡献者(IC)召集到一起互相交流,到启动一大批特殊项目。每个项目大约两到五名工程师,总共大概八九个,另外我们还恢复了全公司范围的 Hack Week。
所有这些做法产生了一点火花——“嘿,我们又在造技术了,又在努力推进前沿了。“事情就这样开始了。之后还有一系列步骤,其中我们从 GM 结构转变为职能型组织结构(functional org structure),我认为这是让我们成功转型为一家更 AI 原生公司的关键。
从 GM 结构到职能型组织
**Lenny Rachitsky:**好,多聊聊这个。这是什么意思?具体长什么样?为什么这么重要?
**Dhanji R. Prasanna:**当然。在我们成熟的阶段,也就是 Square 运转得非常好的时候,它已经是一个非常大的业务了,然后我们又做了 Cash App,后者也发展得很顺利。我们当时几乎把它们拆分为我们所说的 GM 结构来运营——也就是说,它们实际上被当作一个独立公司的组合来管理,每个都有自己的 CEO,都直接向 Jack 汇报。虽然是同一个高管团队,但他们有各自独立的工程实践、各自独立的设计团队。
除了法律部门和一些平台等基础性共享资源之外,它们在几乎所有方面都是相互独立的。我认为那种结构在我们公司当时所处的发展阶段确实非常有用,但当你真正想在技术上深入下去,当你想要对接那些正在改变行业格局的事件时,你需要一个统一的聚焦点,所以我们重组了整个组织。
现在所有工程师都向同一个团队汇报,所有设计师也都向同一个团队汇报,有单一的工程负责人、单一的设计负责人等等。这就是我们做出的重大转型,这意味着我们可以真正地大力推进 AI,推进平台建设,以及整体上提升技术深度。
**Lenny Rachitsky:**对于那些在这个问题上挣扎或者正在摸索怎么做的公司,我从你这里听到的有两点:一是开始把自己看作一家技术公司——这不一定适用于每家公司,但看起来是一个重要元素,就是我们是在造技术,不是金融公司,不是房地产公司,我们是技术公司。二是组织团队的方式——比如让工程师向工程负责人汇报,而不是向一个可能不太懂工程或者对工程不够重视的 GM 汇报。
**Dhanji R. Prasanna:**对,我觉得基本上就是我们做的这些。不是要过度依赖这个类比,但乔布斯回到 Apple 时也是这么做的——他把 Apple 重组为职能型结构。我们并不是在照搬什么剧本。我们是在探索”到底需要什么才能让这些团队更加聚焦技术、让我们的 DNA 回归本源”的过程中发现了这一点——而我们的本源就是把工程和设计放在首位,这也是”技术优先”对我的意义。所以我会对其他公司说,找到你的 DNA,然后用非常简单清晰的方式去为它优化。
康威定律与组织阵痛
**Lenny Rachitsky:**好,那你做了很多改变,写了那份宣言,所有人都认同了,做了很多改变——技术优先、职能型组织。对比一下你们的工程团队今天的工作方式和两三年前相比,最大的不同是什么?
**Dhanji R. Prasanna:**并不是所有人都认同的,我告诉你。这是一个相当痛苦的转型。我认为在整个过程中我学到最多的一点就是,康威定律(Conway’s Law)的力量可以非常非常强大。这条定律基本上说的是——你交付的就是你的组织结构。也就是说,你的团队组织方式、协作模式和运营模型,在很大程度上决定了你构建出来的东西。
所以我觉得本质上最大的变化就在于——之前我们每个业务条线都有很强的惯性,不管是 Cash App、Afterpay、Square,还是 TIDAL——我们的音乐流媒体服务。各个团队之间没有真正在交流,没有在技术战略上达成对齐,甚至没有讨论过作为一个整体我们五年后想成为什么。现在这些都不一样了。我不是说一切都很完美,前面还有很长的路要走,但我们至少说着同一种语言了。
大家都使用相同的工具,遵循相同的制度。比如”高级工程师”这个级别在整个公司范围内意味着同样的标准。人们可以从一个团队调动到另一个有需求的团队。所有这些事情都和以前完全不同。但总结一下的话,我会说我们现在聚焦于技术,以推动技术卓越为目标。而在两三年前,这一点并不真正成立。那时候我们在优化的目标是别的。
日常工程工作的变化
**Lenny Rachitsky:**也许再往下一层,聊聊人们每天实际的工作方式。如果你去看一个工程团队——比如说一个普通工程团队,以及一个最顶尖的最优工程团队——他们今天的工作方式和几年前相比有什么不同?
**Dhanji R. Prasanna:**在微观层面上,某些非常 AI 原生或者到处都在以 AI 优先方式构建的团队,工作方式与之前截然不同,因为他们使用 vibe code 工具,基本上不需要逐行手写代码就能构建产品,而三年前这完全不存在。我认为当时全世界都不存在这种情况。所以对于那些仍在处理非常重的遗留代码库的团队来说,变化是非常戏剧性的。
这种情况在遗留代码库团队中没有那么明显,但他们也正在接触各种后台 AI 进程。我们有这些全天候运行或在 CI 流水线中运行的工具,它们在分析漏洞,甚至在查看工单上报的 bug 并尝试构建补丁——而工程师们还在睡觉。所以他们第二天上班就能看到结果。我想说,团队的工作方式在很多方面都发生了变化,但不同团队根据他们与工具的亲近程度,适应方式也各不相同。
AI 生产力:两极分化的观点
**Lenny Rachitsky:**好,那让我深入聊聊 AI 这个话题,我觉得这是你们相比很多其他公司最领先的领域。你们构建了自己的代理(agent),我想你是这样描述 Goose 的。现在有很多关于 AI 带来生产力提升的讨论。有一个阵营的人说,你不了解 AI 能带来多大的生产力提升,它就是未来,一切都会朝这个方向发展。我们都在 10 倍加速。也有另一个阵营的人说,这全是过度炒作,什么都没用。人们只是嘴上说说,那些试点全都失败了,没有人真正在大规模采用。我觉得你可能属于第一个阵营。你在团队中从 AI 工具上实际看到了什么样的收益?
**Dhanji R. Prasanna:**我们的头等要务是通过自动化 Block,意思是把 AI 和 AI 形式的自动化推广到整个公司。我们觉得这还只是所有这些大语言模型(LLM)实用性的起点,而且我认为我们会持续看到它的进步。但即便是现在,我们发现那些非常积极拥抱 AI、每天都在使用 Goose 的工程团队,报告每周节省了大约 8 到 10 个小时——这是自我报告的数据。然后我们还有一系列校验指标来验证这一点。
所以我们查看 PR,查看功能吞吐量,查看一大堆东西,然后让数据科学家设计一个复杂公式,试图把这些提炼成有意义的东西。我们感觉在整个公司范围内,大约节省了 20% 到 25% 的人工工时。我认为这只是这一切的开端。我确实觉得那些更加 AI 原生的公司在实现这一点上做得更好。
所以那些一开始就以 AI 起步的创业公司大多如此,但这种说法也有一定道理——AI 不是万能药,而且它的能力也在不断增长。所以你需要随这股浪潮一起前行。我认为很多公司没有意识到这一点,他们会说:“价值到底在哪里?“而事实是,价值每天都在变。所以你需要保持适应性,看看今天的价值是什么,规划明天的价值会是什么,然后逐步扩展到那些最有效的领域。
非技术团队的自助工具构建
我给你举个例子。我们发现 AI 真正擅长的领域之一,就是让非技术团队能够为自己构建小型软件工具。这已经成为 Goose 在 Block 内部最令人惊喜和振奋的用途之一——我们的企业风险管理团队构建了一整套企业风险自助服务系统,把数周的工作压缩到了几个小时。按照以前的做法,他们要等内部应用团队之类的去构建,然后把它排进第二季度的路线图,所有人只能干等,直到一切到位。但现在你可以直接动手做。
所以在这类用例中,我们看到了巨大的生产力提升。另一个让我非常兴奋的领域是我们还有一个叫做 Gosling 的工具,它实际上就是移动端的 Goose。它通过无障碍 API 在原生层面操控 Android 操作系统,我们用它来自动化 UI 测试。
以前你必须雇一支承包商或 QA 大军,让他们逐屏点击测试,但现在我们可以把这些都做成自动化测试,最后给你一份报告。所以我们在这些类型的领域看到了很多优势。但在那些深度很深、有很多非常强的人汇聚的地方,我认为 AI 仍然不及人类。这一点可能随时间推移而改善,但这也是我们作为人类应该发挥优势的地方。
所以当你有一些非常资深的工程师,他们在思考架构、设计、竞态条件、编排这类问题时,AI 在这些领域还没有到位。因此我认为那些没有感受到 AI 成功的公司,只是把这些工具扔到他们庞大的代码库上,然后期望好事发生——但实际情况并非如此。最终我确实认为它会到达那个阶段,但现在我们仍处于早期实用阶段。
如何衡量 AI 的影响
**Lenny Rachitsky:**天哪,你刚才分享的内容信息量太大了,有五件事我想追问。好,其中一个是你说到的那个指标——你如何衡量 AI 在团队中的影响。就是人工节省工时,你是这么描述的吗?
**Dhanji R. Prasanna:**没错,是的。
**Lenny Rachitsky:**所以目前大约是一个工程师四分之一的时间被 AI 工具节省了。
**Dhanji R. Prasanna:**那个指标是跨所有团队的。包括我们的支持团队、法务团队、风险团队,所有这些加在一起。
**Lenny Rachitsky:**哇。
**Dhanji R. Prasanna:**然后在工程方面,差异非常大,因为像我之前说的,这取决于代码库的规模和复杂程度。如果你在构建一个全新的 Greenfields 代码库,或者为一个新的平台构建应用,那我们看到的效果非常显著,但在已有的非常复杂的代码库中,这些收益还没有完全到位。
**Lenny Rachitsky:**太厉害了。每当我听到这样的数据,我觉得人们需要思考的一个重要因素是:这是它未来最差的表现。这是最低点,这是现在的基线。所以它现在听起来可能还不够疯狂,但它会变得疯狂的。好,你提到的另一件事是 Goose——你还没解释 Goose 是什么。这是一个很重要的事。请解释一下 Goose 是什么,以及它对你们有多重要。
Goose 是什么
**Dhanji R. Prasanna:**Goose 是一个通用 AI 代理(agent)。你可以把它想象成一个桌面工具或程序,你可以下载安装到电脑上,它有一个界面。你可以像跟聊天机器人一样跟它对话,什么都能说——从”嘿 Goose,按类别整理我的照片”,它能够查看你的照片,如果有很多树,就归类为自然照片;如果有很多人物,就归类为人像照片——诸如此类,一直到为你编写软件。
它可以完成所有这些任务,而我们能做到这一点的方式是通过一种叫做模型上下文协议(Model Context Protocol)的东西,也就是 MCP,你的很多听众可能听说过。这是 Anthropic 提出的,我们是其非常早期的贡献者。模型上下文协议(MCP)简单来说就是一组对现有工具或现有能力的形式化封装。所以如果你在企业中使用各种工具,不管是 Salesforce、Snowflake 还是 SQL,任何这些,你都可以用 MCP 封装它们,然后它就会把这些能力暴露给你的大语言模型(LLM),让它能够去操作。
**Dhanji R. Prasanna:**所以在那之前,大语言模型(LLM)除了聊天之外其实做不了太多事情,但 Goose 给了这些大脑胳膊和腿,让它们能够走出去,在我们的数字世界中行动。这也是它产生最大影响的地方,而且它建立在一个相当开放的协议之上,任何人都可以实现。MCP 的数量已经出现了爆发式增长。顺便说一下,Goose 完全是开源的,所以你们任何人都可以下载它、扩展它、编写自己的 MCP,这也是我们通过 Goose 取得的核心成功。
**Lenny Rachitsky:**好的。所以本质上就像是带界面的 Claude Code,一个桌面应用之类的,底层用的是 Claude 和 OpenAI ChatGPT 以及一堆开源模型。对吗?
**Dhanji R. Prasanna:**对,它可以使用任何模型。我们有一个可插拔的 provider 系统,你可以自带 API 密钥,使用 Claude 系列模型或 OpenAI 系列模型,也可以使用开源模型,直接下载使用,或者通过 Ollama 等工具——有好几种工具可以帮助你做到这一点。但本质上,它是把这些模型生成文本和解读文本的能力,应用到真实的场景中。
举一个我特别喜欢的例子——你可以让 Goose 去帮你做营销报告,它有连接 Snowflake、Tableau 和 Looker 的 MCP。所以它会写 SQL 从这些数据源中提取数据,做一些分析生成 CSV,它可以在你的桌面上写 Python 代码来完成这些。它还会用某个它知道的 JavaScript 图表库来生成图表。最后,它会把这些东西整合成一个 PDF 或 Google Doc 之类的文档,甚至可以帮你发邮件或上传到某个地方。而且这一切都是它自己完成的,没有人坐在那里一步步指导它,你只需要说,“嘿,我想要这份报告,发到这个邮箱,我要这些好看的图表”,然后它就在所有这些系统之间进行编排协调。
Block 内部的工具选择
**Lenny Rachitsky:**所以本质上在 Block,你们不是直接使用 Claude 或 ChatGPT,甚至也不是用 Cursor 和那些应用,而是用 Goose?
**Dhanji R. Prasanna:**是的,我们允许工程师和全体员工使用他们想用的任何工具。Goose 是与我们所有系统整合得最好的,因为它是建立在 MCP 之上的,而为现有系统创建一个 MCP 又如此简单。举个例子,如果你在使用某个问题追踪工具,想要给它加一些 AI 自动化能力,在 Goose 之前,我们的团队只能等待供应商来构建那个 AI 功能,或者也许 OpenAI、Anthropic 或 Google 会提供某种通用能力让我们可以接入。但有了 Goose,这就不再需要了——几行代码的 MCP 就能让所有这些系统在一夜之间变成可以被 AI 编排操作的。而且 Goose 可以自己编写 MCP,所以它的自我启动能力也很强。
开源理念
**Lenny Rachitsky:**而且这是开源的,基本上你们花了这么多时间构建这个东西,其他任何公司现在都可以采用它,在你们所有工作的基础上继续构建?
**Dhanji R. Prasanna:**是的,有很多公司在相当活跃地使用 Goose。我不想点太多名字,但从我们的竞争对手到我们的紧密合作伙伴,他们很多团队都在相当频繁地使用 Goose。我知道 Databricks 经常谈到它,你能想到的这个中大型科技公司层级里的每一家,都在以某种形式使用 Goose。
**Lenny Rachitsky:**太疯狂了。这感觉本来可以成为一个巨大的独立业务——世界上增长最快的一些公司,基本上这就是它们的产品,而你们把它做出来然后免费送出去了。
**Dhanji R. Prasanna:**是的,我们相信开源的力量,我们的核心使命之一就是增加开放性,这意味着贡献开放协议和开源项目。作为一家科技公司,我们建立在大量开源软件之上。我认为几乎每家科技公司都是如此,不管你说的是 Linux、Java、MySQL 还是这些基础组件。所以我们觉得自己有强烈的使命去回馈。我们想构建的不仅是对我们和我们的客户有益的东西,而且是能够超越 Block、比 Block 更长寿的东西——这当然是我们核心价值观的一部分,从最开始就是如此,远在这整个 AI 浪潮之前。所以 Goose 延续了这一光荣传统,我们非常高兴它取得了今天的成功。
Goose 名字的由来
**Lenny Rachitsky:**顺便问一下,Goose 这个名字有什么故事?忍不住想问。
**Dhanji R. Prasanna:**Goose 是《壮志凌云》(Top Gun)里的梗。我们有一个工程师想出了这个名字。他长得也跟 Goose 一模一样,所以如果你把他们并排放在一起看,真的很像,他肯定会因为我分享这个而非常尴尬,但他们叫它 Goose 就是这个原因,之后我们就顺势走上了整个鸟类主题路线。
Goose 的极限实验
**Lenny Rachitsky:**太不可思议了。我听过你在另一个播客上分享过一个故事——有个工程师把这件事做到了极致,让 Goose 监视他的一举一动。讲讲那个故事吧。
**Dhanji R. Prasanna:**好的。他非常非常专注于 AI,试图从 Goose 身上榨取各种疯狂的想法。Goose 能做我之前描述的通过特定工具交互来完成的所有事情,但它也可以只是看着你的屏幕——它理解如何处理图像,通过截图来理解它看到的内容。所以他构建了这样一个系统:它基本上就是一直看着他做的一切。他可能在 Slack 或邮件上跟同事讨论某个功能,觉得值得实现。然后几个小时后他会发现 Goose 已经尝试构建那个功能了,并且在 Git 上开了一个 PR,还有各种类似这种疯狂的事情。它还会试图把他从某个工作流中拉出来——如果他一个会议拖得太长,导致下一件事迟到了,它就会想出一些他并没有编程或写提示词的创意方式来提醒他,是它自己觉得这些会帮助他提高效率或改善工作日。所以确实很疯狂。你要有足够强的心理承受力才能接受与自己的工作工具绑定到这种程度,但它展示了这类工具的可能性。
**Lenny Rachitsky:**很明显这是未来的方向。一旦这东西足够成熟——我很喜欢这个家伙在亲身尝试——它基本上就是在看着他工作,预判他应该做什么,然后替他完成初稿,这样他就会觉得,“哦,这个 PR 已经做好了,我们刚才还在会议上讨论这个。“太不可思议了。
**Dhanji R. Prasanna:**没错。
自动化的成熟度
**Lenny Rachitsky:**它现在到底有多好?处于什么水平?如果从零到一百来打分的话——“好的,接下来你只需要思考和说话,它就能替你完成工作”?
**Dhanji R. Prasanna:**是的,语音是另一个重要部分。它有语音处理能力,所以也一直在听他说什么,并试图理解。我想说这主要还是一个实验,因为他是我们 Goose 核心团队的成员,他为 Goose 做贡献,这是他的本职工作,而他开发的这个算是业余项目。所以一旦这演化成 Goose 本身或我们在企业中使用的其他工具的更原生功能,我认为它会有很大发展空间,但它现在已经相当不错了。它可能已经帮他砍掉了大量的繁琐工作。比如说,他会说,“哦,我有个会议冲突,那个时间去不了”,或者”我得去接孩子。”
Goose 会自动重新安排那个会议,而不需要他坐在日历前点来点去十几次。是的,所以这些事情,我们以前一直在等日历供应商把这些做进日历的功能里,但我们不再需要等了,因为 AI 能够替我们编排这一切。
未来工程师的工作方式
**Lenny Rachitsky:**这不是那个同时在四家不同初创公司干四份工作、把所有活儿都搞瘫痪了还雇了人的那位吧?
**Dhanji R. Prasanna:**不,不是他。他是和我共事很久的人,在 Block 也待了很长时间。他就是喜欢做实验,他身上体现了那种实验文化,就像我们 Goose 的创造者一样,做了同样的事情。
**Lenny Rachitsky:**那我来顺着这条线再追问一下。你算是看到了未来走向的一瞥,Block 在很多方面都非常领先。你觉得几年后工程师的工作方式、产品团队的工作方式会和今天有什么不同?
**Dhanji R. Prasanna:**我认为这在很大程度上取决于大语言模型(LLM)性能的提升,但我可以告诉你我正在如何尝试改变自己的工作方式,以及如何改变我们直属团队的工作方式。我认为 vibe code 是一件有趣且令人兴奋的事——你基本上就是跟一个聊天机器人说话,然后它就去替你构建软件,但我觉得这种方式有很大的局限性。
它非常像打乒乓球。你做一步,等三四分钟,它回来一个半成品,你得去推它、引导它、打磨它,才能把它带到你需要的地方。我认为我们会看到更多的自主性。所以我们正在用 Goose 做几个实验,用下一个版本的 Goose,我们真正想把它推向的不仅是每次工作两三分钟或五分钟——我们目前的中位会话长度是五分钟,平均七分钟——但我们想把它推到小时级别。
我们在说,“嘿,所有这些大语言模型(LLM)在晚上和周末人类不在的时候就闲置了,没这个必要。“它们应该一直在工作。它们应该试着预先构建我们可能想要的东西——如果我们回到对话前面讨论的内容的话。但我也认为,它们应该能够以以前不可能的方式来构建。
以前作为人类,我们的资源有限、带宽有限,还有大量的协调开销。所以我们必须选择最佳的路径去尝试一个实验,我觉得我们不再需要这样了。我们现在需要做的是能够以非常详尽的细节描述多个不同的实验。然后也许我们去睡觉,到了早上,所有那些实验都已经构建好了,我们可以直接扔掉其中五六个。
所以我经常做的一件事——我每天都在写代码——但我经常做的一件事就是大量地扔掉代码,这对我来说其实有点难,因为我以前从来没这么干过。我的意思是,工程师当然喜欢删代码,但这是不一样的。你构建了一整套全新的系统或一个全新的功能,然后说,“嗯,感觉不太对。我干脆删了重来。”
所以我认为你会看到更多这样的工作方式。而且我认为你会看到,我们不再是——比如说——对一个应用做重构来换个 UI 或者让它演进到新版本,而是直接从零开始重写整个应用。我一直在推动我们团队思考的一件事是:如果每一次发版都是 rm -rf 删掉整个应用然后从零重建,我们的世界会是什么样子?我们现在还不能真正做到这一点,但我认为这展示了这些工具正在带我们去的方向和可能性。
**Lenny Rachitsky:**这里面很有意思的一点是,软件工程和产品领域有一条常见的规则——永远不要重写。不要试图重写你的东西。你会忘记多年来人们做的那些小改进、微调和 bug 修复,你以为重写会是一件简单直接的事,结果往往要花一年甚至更长时间才能恢复到原来的水平。所以有意思的是,AI 现在让重写成为可能,而你的意思是这也许才是应该采用的工作方式。
**Dhanji R. Prasanna:**我觉得是这样的。而且我认为关键在于让 AI 尊重所有那些渐进式的改进,是的,把它们作为规格说明的一部分融入进去。
**Lenny Rachitsky:**另外你刚才提到的那个观点,关于代理——你给它一堆想法,它 overnight 就构建出来了,然后你可以看——我想象它甚至可以进一步往上走,自己提出想法然后开始构建,然后你一看,“哦,这是个好主意,我现在立刻就能看到效果。”
**Dhanji R. Prasanna:**对,没错。我上周确实就在试你说的事情。我手上有一个我们正在开发的新版 Goose,我让它自己提出改进自身的想法,然后 overnight 去实现。有时候——
**Lenny Rachitsky:**跑偏的问题。
Dhanji R. Prasanna:——有时候它确实会完全跑偏,你得把它拉回来一些。所以我觉得我们还没有完全进入那种完全自主、完全自我改进的时代,但我确实认为我们正处于一个过渡阶段——我们可以给它一个推动,说,“嘿,这是我的愿望清单,十件我希望你能做的事。你去想办法用最好的方式去实现它们。“如果说功能描述得足够好,它大概能在其中百分之六十的事情上取得成功,剩下的百分之四十则表现挣扎,需要你介入去打磨它。
**Lenny Rachitsky:**天哪,我在想象这样一个功能——你给它设定一个目标叫”驱动收入和增长”,然后它就来一句,“好的,所有人都解雇了。这是你们的工资支票。剩下的交给我。“
人的品味作为锚点
**Dhanji R. Prasanna:**我觉得我们不会走到那一步。我确实认为我们会需要大量的人类品味来锚定这些 AI,让它们不至于跑偏。这正是我们的设计负责人和设计团队在推动我们思考的方向,而且我认为这是一个差异化优势,会让我们超越现在大家都在说的那种 AI 粗制滥造的时代。所以是的,核心就是把它锚定到对人真正重要的事情上,锚定到有品味的、有用的、有价值的东西上。
**Lenny Rachitsky:**说得再具体一点,有没有这样一个例子——也许是 AI 在尝试做什么,或者某个团队在推销什么——你觉得这就是人类必须介入、把事情拉回正轨的时候?
**Dhanji R. Prasanna:**我觉得更多是围绕流程自动化这类事情。很多时候我会收到这样的请求——一个团队说,“我们需要从这家供应商买这个新工具,因为我们目前的工具存在某某某某问题。“另一个团队说,“不不不,我们直接用 Goose 构建一个应用就行,能做同样的事,时间只要一半甚至更少。“然后作为一个人,你坐在那里想,“这些有任何一个是必要的吗?如果我们只是改一下流程,还需要考虑构建工具这件事吗?“这正是 AI 不擅长的事——它无法拥有这种组合判断力,或者说在全局层面上判断什么重要、什么有意义的判断力。
质疑基本假设
**Dhanji R. Prasanna:**所以很多时候,我会告诉团队去质疑基本假设,尤其是我们的信息安全团队,因为他们有时候会绞尽脑汁去加固某个东西,然后你就会说,“我们直接让构建它的团队换一种方式做,或者如果这东西不重要就别做了,这样你就不需要扩大安全防护的攻击面。“所以我觉得这些领域更适合由人类来做判断,而 AI 在这方面做得还不够好。
**Lenny Rachitsky:**你刚才提到了自己构建软件和工具而不是购买的观点。这其实是 AI 时代的一个大问题——AI 是否会取代所有这些 SaaS 应用,取代 Salesforce 之类的。你有没有一种感觉,要么是你们自己构建东西省了多少钱,要么是对现有的、大家都在用且花很多钱购买的 SaaS 软件产生了新的敬意?
**Dhanji R. Prasanna:**我觉得这里有一个陷阱,就是偏离公司核心目标。我们的核心目标是经济赋能。所以让客户、商户或艺术家能够完成一笔交易、付得起房租、或者把最新的作品上传到 TIDAL。我认为任何服务于这个目标的事情,我们都应该鼓励和投入,但如果我们纯粹以金钱对金钱来衡量,那就会偏离这个目标。
用内部自建工具替代供应商工具可能带来的成本节约,很可能不值得你在心智带宽上的损失以及团队技术专注力被分散的代价。所以是的,我会说始终回到对你作为一家公司来说最重要的事情上,其余的自然会水到渠成。
自建与购买的维护代价
**Lenny Rachitsky:**对,我觉得人们常常忘记维护自己构建的东西需要付出多少。就像,“好,很酷,我们一个周末就构建完了,但接下来是年复一年无尽的维护、需求和用户支持。“而且正如你所说,这又回到了那个永恒的箴言——专注于你的核心竞争力,其余的就去买。
**Dhanji R. Prasanna:**是的,这就是经典的 80/20 问题,我们在为客户构建的应用中已经充分体验过这一点。我们会做出一些非常有共鸣的优秀实验功能,然后却要花大量时间去打磨那一长串的边缘问题。以 Cash Card 为例,我们基本上在一个周末,或者最多一周的集成和开发时间里,就构建了 Cash Card 的全部功能。
然后却花了非常长的时间去处理各种边缘情况——比如有人给的小费是账单金额的两倍,然后后端就完全崩了;或者人们在加油站使用它,而加油站有不同的刷卡计费方式。所以是的,完全是这样。而且正如你所说,我总是会回到这个问题:我们做这件事的原因是什么?它对我们和我们的客户为什么重要?如果不能清楚地回答这个问题,我就直接把它推掉,认为它不值得投入。
AI 时代的招聘与团队能力
**Lenny Rachitsky:**关于 AI 的讨论中很大一部分是招聘、就业之类的话题。所以我有一个两部分的问题。一个是,所有这些 AI 工具的兴起、生产力的提升,是否影响了你们规划人员编制和招聘的方式?另一个是,既然 AI 已经成为你们工作方式中如此重要的一部分,你在招聘时看重的东西有什么不同?
**Dhanji R. Prasanna:**我觉得事情还没有发展到足以根本性地改变你需要多少人才能构建一个像 Cash App 这样规模的应用的程度。对我们来说真正改变的,和 AI 完全无关,而是我们之前讨论过的——从 GM 结构转向职能型结构。在 GM 结构下,我们的激励机制总是把工程师人手当作一种商品来对待。
所以我们想要构建更多功能,就直接加更多工程师,经典的”人月神话”陷阱。而我觉得转向职能型结构彻底改变了这一点——你开始想,“我们可以利用通用平台、通用模块,可以从全公司引入专家来指导我们如何做得更好。”
所以这些改变我觉得对我们的招聘方式产生了很大影响,我们不再把工程师当作一种商品,不是随便加一百个人就能去构建 Cash App 的下一个产品。但在 AI 方面,我们非常看重那些积极拥抱这些工具、渴望尝试和学习的人。我们并不是要求候选人一上来就是出色的 AI 实践者。
我们确实有那样的人,如果他们想和我们合作我们也欢迎。但我更看重的是那种刚刚毕业的大学生,真心渴望学习这些工具、对它们保持开放态度;或者是那些资深工程师,已经拥抱了这些工具并摸索出了门道。这就是我们在招聘时优化的方向——不是某套特定的技能,而是这种特质。
**Lenny Rachitsky:**所以本质上最大的变化就是寻找那些正在拥抱 AI 的人,而不是那种说,“不,我不需要这些东西。我是一个出色的工程师,不需要用 Cursor 或 Goose 或所有这些工具”的人。
**Dhanji R. Prasanna:**是的,我会把它概括为学习型心态。这是我们的 CEO Jack 经常谈到的一点——他希望我们成为一家学习优先的公司。所以我们做的每一件事、交付的每一个实验,我们能从中学到什么?我们是否觉得已经尽了最大努力?我认为对他来说,这甚至比每次都给出正确的商业答案更重要。
面试中的 AI 工具使用
**Lenny Rachitsky:**那面试的时候呢?你会鼓励工程师在做练习时使用 AI 工具吗?过去一两年这方面有什么变化?
**Dhanji R. Prasanna:**是的,我们现在开始这样做了。传统上我们会用 CoderPad 之类的工具,在白板上写一道题,或者甚至用伪代码或接近伪代码的方式来编程。但现在我们在考察你能否用 vibe code 构建出东西?你对这些工具的熟练程度如何?以及你在思考如何与这些工具一起演进?
不过我想说现在还处于早期阶段。在我看来,一个人是否会使用 Goose 或 Cursor 或其他任何工具,与其是否是一名优秀的工程师之间未必有多大关系。我仍然认为,我们过去面试时所考察的那些素质——批判性思维、对问题技术本质的深入理解——依然远比你是不是一个完全 AI 原生的程序员重要得多。
哪级工程师受益最大
**Lenny Rachitsky:**另一个我一直在思考、很多人也想知道的问题是,哪个级别的工程师从这些工具中受益最大?你可以说现在初级工程师受益最大,因为他们可以完成所有这些工作了。你也可以说是高级工程师,因为他们对系统运作方式了解得更多,现在可以指挥成千上万的代理替他们做事。你观察到哪个级别受益最大?
**Dhanji R. Prasanna:**有两个层面的回答。第一,你说得对,越资深和越初级的人,越愿意、也越积极地采用这些 AI 工具。原因有很多,包括你提到的一些。我认为资深的人对一切如何运作有非常深入的理解,所以他们几乎如释重负——终于有了一个工具可以去完成那些他们做过无数遍、实在不想再亲手做的事。而初级的人呢,就像我侄女侄子在手机上一样,他们飞速地操作——早年是黑莓手机,现在是 iPhone——他们飞速地发短信,而我还在键盘上一个个字母地找,可见我有多老了。
非技术人员也在用 AI 编程
所以我觉得有这些因素,但我认为真正令人惊喜和惊叹的,是非技术人员使用 AI 代理和编程工具来构建东西。我认为这预示着这些角色在未来将如何演变。你是在法务部门、风控部门,还是在工程和设计部门,界限将变得越来越模糊。因此,我认为那些能够拥抱这些工具、将其优化用于自己日常工作日和特定任务集的人,才是展现这些工具最大影响力的人。
**Lenny Rachitsky:**很有意思。没有人谈论过工程生产力中的这个维度——即公司其他部门要求工程师构建各种临时性东西的需求减少了。这感觉像是工程师生产力的巨大提升。
更宽的路引来更多的车
**Dhanji R. Prasanna:**确实影响巨大,不过我觉得这有点像那个比喻——如果你修一条更宽的高速公路,路上只会出现更多的车。所以我认为,所有人都在构建软件这个事实,意味着有更多的软件需要构建、更多的协调工作要做,所有人都更急切地想更快地发布功能、取得更好的成果。所以我们看到的是整体速度的提升和对更多功能的需求在同步增长,如果这说得通的话。是的。
**Lenny Rachitsky:**完全同意。这也呼应了你说的你们没有放缓招聘这一点。我听到的是,对更多工程师、更多产品人员的编制和招聘需求完全没有放缓。基本上就像 AI 根本不存在一样。
招聘与组织架构
**Dhanji R. Prasanna:**我们对此更加深思熟虑了。就像我之前说的,在 GM 时代我们把它当作一种商品来看待,而现在转为职能型架构后,我们需要多少工程师这个问题已经不再与 Square 或 Cash App 有多少功能直接挂钩了。在职能型组织架构中,我们更多地思考:优化的领域在哪里?在哪里可以构建深度?什么才能真正通过模块化、复用和深入平台建设来加速我们的优先事项?
**Lenny Rachitsky:**我很喜欢这个犀利观点——如果你想提高效率,别管 AI 了,先重组为职能型架构吧。
结构比工具效率更重要
**Dhanji R. Prasanna:**在某些方面确实没错。这里有一个很有意思的例子。我们一直在尝试改善构建时间,也在使用 Goose 和许多其他工具来帮助这件事,它们发挥了很大的作用。比如我们有一个非常酷的工具,可以分析我们的测试套件,并根据所做的变更选择正确的测试来运行。通过这种方式,我们基本上减少了 50% 的测试运行量,这相当不错,我们也不再用那些浪费在不必要测试上的 CPU 周期来给地球升温了。但另一方面,像把测试卸载到云端,或者干脆删掉那些不再有意义的测试,大概能省下两到三倍的时间。
所以你仍然需要采取一种组合策略,找不到更好的词来形容的话。就像我之前给你举的那个例子——我们应该买一个供应商的工具吗?还是应该内部自建?但根本问题是:「我们到底需不需要做这件事?」所以在某些方面,结构比你所拥有工具的效率更重要。
**Lenny Rachitsky:**至理名言,让我想起了 Elon 优化事物的一套流程,其中一步就是——在我们开始优化和自动化之前,先想想我们到底需不需要这个东西。在我把视角拉大、问你整个职业生涯中学到的一般性经验之前,你觉得还有什么对那些想要进一步拥抱 AI 或帮助团队更具前瞻性思维的人特别有价值或有用的东西吗?
亲身体验才是最好的推广
**Dhanji R. Prasanna:**我想说,一定要亲自使用这些工具。我认为我们推动工具采用最成功的方式就是——Jack 使用 Goose,我使用 Goose,我们的整个高管团队都用过 Goose,而且经常使用,同时也使用其他 AI 编程工具和助手,我们每天都在用。因此我们对自己的工作流程可以如何改变有了很多了解,这比你读一堆 LinkedIn 或《哈佛商业评论》上的文章然后试图让团队照做,能告诉你更多关于如何改变组织工作流程的信息。所以我认为我们做所有事情都是这样的——亲身感受,自己使用产品,感受它,理解它的优势和劣势以及它的使用体验,然后想清楚如何将其应用到你的团队中。
**Lenny Rachitsky:**我发现在这一点上有一个很有用的方法——我完全同意你的观点,就是别再读关于它的文章了,别再听我们谈论它了,自己动手构建一些东西。我发现一个很有用的做法是:给自己设定一个具体要解决的任务或问题,因为那会真正激励你,让事情变得非常真实。举个例子,就在前几天,我试图从 Google 文档中提取图片。Google 文档就像 Hotel California 一样——你把图片放进去了,但没办法拿出来,除非你做一些疯狂的操作。所以我直接去了 Lovable,让它帮我建一个应用——我给它一个 Google 文档链接,它就能让我轻松下载图片。搞定。
**Dhanji R. Prasanna:**好例子。几个月前我也做过类似的事情。我儿子需要接受很多治疗,他有特殊需求,所以我一直在收集所有这些治疗的收据,分享给我妻子,她会向保险公司申请理赔。但我一直很费劲,因为这些收据的形式五花八门。
Goose 解决实际问题的惊喜
有些是截图,有些是 PDF 或其他什么格式。所以我让 Goose 来处理这件事,这些文件都在我的笔记本电脑上,Goose 想到了一个办法——它可以把所有这些收据放进我的 Apple Notes 应用里,整合到一条笔记中。它还把内容转换成了 HTML,这样就能无缝同步到我的手机上,然后我可以从手机上直接发邮件或分享给我妻子。
这真的是我完全想不到的方案。而且它是用 Apple Script 实现的,也就是说它在后台直接控制了我的电脑。是的,所以这些工具以令人惊喜的方式帮助我们,而且正如你所说,你越是用它们解决真实的问题,就越能了解它们的优势所在以及可以在哪些场景部署它们。
**Lenny Rachitsky:**我喜欢这个例子。所以你是直接打开 Goose 然后说,“这是我遇到的问题,你会怎么解决?“这样吗?
**Dhanji R. Prasanna:**对,差不多是这样。我说,“我有所有这些收据在 Google Drive 里,所以我们的起始问题类似,我需要把它们统一成一种格式,还需要汇总金额、做各种计算。“它先尝试了几种方法。它试着下载文件,试着用 PDF 阅读器来读取,试了各种方式。我觉得 Goose 有一个特点——其他很多 AI 代理也在向我们学习这一点——就是如果它尝试了几种方法都失败了,它会退回来,换一条路径重新尝试,就这样不断推进,直到取得一些进展。
它确实就是这么做的。然后它选择了用 Apple Script 来完成,因为它有 MCP 扩展可以控制我的电脑,这跟我们那位工程师用的一样——就是我们前几天聊到的那个用它来看自己屏幕的工程师——但这次是一个非常聚焦的问题,它成功地解决了。所以是的,这些工具能做到的事情常常出人意料,而允许它们有灵活性去尝试,正是学会使用它们的一个关键部分。
**Lenny Rachitsky:**真酷。顺便问一下,普通人能运行 Goose 吗?能不能直接下载 Goose,用它来替代 Claude?
**Dhanji R. Prasanna:**当然可以。你可以直接从我们的网址下载。我们可以在节目简介里附上链接,你可以安装它。它有 Mac、Windows 和 Linux 版本。它是一个 Electron 应用,所以在所有平台上都能运行。它也有命令行界面,所以对于更喜欢用命令行的人,我们也提供了那种交互方式。
**Lenny Rachitsky:**哇,你们真的是在和那些大型基础模型公司竞争啊。怎么最简单地比较 Goose 和其他工具?比如说跟 Claude Code 比,这样最简单的类比,还是说有别的参照?
Goose 的定位
**Dhanji R. Prasanna:**我觉得它和 Claude Code 还是有区别的,因为 Goose 的核心是一个实现了 MCP 的平台。MCP 赋予了它这种动态可扩展的特性,所以它可以为你做所有这些事情——无论是像我们刚才谈到的自动化 Google 文档、Notes 之类的操作,还是利用其他 MCP 来完成正经的编程任务。
它可以对代码建索引,然后用那种方式来工作。所以它更像是一个可扩展的平台。我会说它介于经典的 AI 助手——就是那种你问它”今天天气怎么样?帮我算算从某个日期到现在过了多少个月?“之类的——和那些更专注的工具比如 Cursor、Claude Code 之间。
**Lenny Rachitsky:**基本上就是集所有功能于一体,而且是免费的。你只需要为大语言模型的 token 付费,但工具本身——
**Dhanji R. Prasanna:**对,没有那种——还有开源模型可以用——
**Lenny Rachitsky:**天哪,这也太疯狂了。在 Block 做 Goose 的团队一定很有意思。肯定玩得很开心吧。天哪。好了,让我把视角拉远一些。你现在担任 CTO 大概快两年了。有什么是你进入这个角色之前希望自己就已经知道的?如果你能回到几年前,在自己耳边悄悄说几条建议或教训,你会说什么?
回望 CTO 角色
**Dhanji R. Prasanna:**我觉得可能有两件事。一个是康威定律(Conway’s Law)的力量,就是我们之前聊过的。就是如果不改变组织中人与人之间关系的结构,要改变结果是多么困难。我想我在某个层面上一直都知道这一点,但真正在直觉层面深刻体会到它,这是另一回事。另一件我算是吃了苦头才学到的是——你只有在出问题的时候才会听到消息。
所以当一切顺利的时候,你反而会感到一种诡异的寂静,你会想,“我做的事情到底对不对?我聚焦的问题到底正不正确?“所以要有一些判断力,要留出时间退后一步、从全局视角来看事情,这些是你真正需要专门腾出时间、定期去做的事情,我希望我在接任这个角色时就知道这些。
**Lenny Rachitsky:**回顾你在 Block 的时间——我一直差点说成 Square,因为我太习惯那个名字了——但我知道 Block 是整个公司的名称,Square 只是其中一个。顺便让大家了解一下,Square 是 Block 旗下的一个业务单元、一个产品。
**Dhanji R. Prasanna:**对,我们有 Square、Afterpay、Cash App 和 TIDAL 四大品牌,然后我们还有 Bitkey 和 Proto,这两个专注于比特币的品牌,我们在这两个品牌中自研硬件芯片。
**Lenny Rachitsky:**好的,我想有些人可能一头雾水,不知道我们在说什么。好的。那么回顾你在 Block 的这段经历,关于打造产品或建设团队,你学到的最反直觉的教训是什么?那种与大多数人所相信的、或者说常见的创业智慧相悖的东西。
代码质量与产品成功
**Dhanji R. Prasanna:**我觉得代码质量是一个。作为一个工程师,我很早就学到了这一点,而且它一次又一次地被验证。很多工程师认为代码质量对于打造成功的产品很重要。这两者其实毫无关系。我最喜欢举的例子是 YouTube。YouTube 被 Google 收购的时候我正好在 Google 工作,我记得当时大家一片焦虑,都在讨论 YouTube 的代码库有多么糟糕、架构有多么糟糕,他们把视频作为二进制大对象存储在 MySQL 里什么的。
但你完全可以说 YouTube 是 Google 最成功的产品,而且远远超出,也许比 Google 许多其他产品加起来还要成功。所以它真的和架构设计得好不好没太大关系,因为反过来看,Google Video——不知道大家还记不记得这个产品,它存在于 YouTube 之前。它支持更多格式,支持更高分辨率。
你可以上传一小时长的视频,而 YouTube 这些统统没有。它只有那一两分钟的短视频功能,但它远远地、彻底地击败了所有竞争对手。所以我觉得始终要把这一点放在心上——我们为什么要打造这些工具、这些应用、这些产品?它们是为了让人们解决特定的问题。在我们的场景下,就是让 Square 的商户完成一笔交易,卖给你一杯咖啡,或者卖出他们亲手做的东西。这才是真正重要的事情。
我们的 Android 平台性能好不好,这件事本身并不重要,除非它是在服务于那个需求。所以我觉得这是我职业生涯中非常难接受的一课。而且我不断遇到工程师说”我们需要重构,我们需要用更好的方式来做这件事”。然后我就说,“不,这些代码明天都有可能被扔掉。专注于我们要构建什么、为谁构建,这才是关键。”
Lenny Rachitsky: 这真是一个令人难以置信的洞见和教训。YouTube 的故事太有趣了,也是一个绝佳的例子。你是说他们把视频内容以 blob 数据的形式存储在 MySQL 的行和列里?
Dhanji R. Prasanna: 是的,这个嘛,我其实没有看过代码,所以没法验证,但这是当时大家普遍的说法。而且他们整个技术栈都是 Python 的,相比我们当时在 Google 精心优化过的最先进的 C++ 和 Java 服务器,速度慢得令人难以置信。
Lenny Rachitsky: 这太搞笑了。这让我也想到,当你深入一家公司内部去看,如果你在一家公司工作,你会觉得”这简直就是纯粹的混乱。没人知道发生了什么。随时都要崩盘了。“而这基本上就是每一家成功的超高速增长公司的真实写照。
Dhanji R. Prasanna: 确实有道理。是的。
Lenny Rachitsky: 所以我觉得,再次说明,对一个商业的成功来说,有太多太多比架构更重要的东西。正如你所说——你在为人们解决真正的问题吗?你能把产品送到他们手上吗?你能持续为他们解决真正的问题吗?关键不在于代码的质量,也不在于内部运营得多好。
从 Cash App 到受控的混乱
Dhanji R. Prasanna: 完全同意。我觉得在 Cash App 上我们也有类似的经历。在 Cash App 早期,我担任工程负责人,从大约 10 名工程师一直发展到 200 多人,用户量增长到大约一千万到两千万左右。那里也有非常相似的情况。从外部看,一切看起来都非常混乱。就好像人们随意构建各种实验然后直接上线,完全看不出我们在遵循什么严格的软件生命周期之类的规范,而某种程度上确实如此。
我的理念一直是,我们有这么多优秀的工程师,如果我把他们硬塞进非常严格的、眼界狭窄的框框里,反而会造成更大的损害。如果他们想花点时间造个轮子,搞一些完全浪费时间的东西——但同时另一方面他们也在交付令人惊艳的成果——那我基本可以接受。我对此是 OK 的。
这是一种微妙的平衡,因为如果你放任不管,工程师确实会钻进兔子洞里出不来。但话说回来,一定程度的混乱能够催生创造力,你必须知道如何在某种程度上构建受控的混乱。所以你必须打造一个不会轻易崩裂的基础。不能有重大的责任风险之类的问题,在我们的情况下就是不能亏钱。只要这些底线稳固了,然后让工程师们拥有自由去实验、迭代、做那些让他们充满热情的事情,那就是最理想的状态。
Lenny Rachitsky: 说到受控的混乱,你在 Block 期间有一个头衔——应该是在 Square 的时候——叫”疯狂科学家”(Mad Scientist),干了四年半。
Dhanji R. Prasanna: 对,那是我做兼职的一段时期,主要是因为我的孩子还很小,有很多额外的需求需要照顾。我当时以顾问身份参与各种不同的项目,试图帮助一些天马行空的想法落地。是的,我非常感激 Block 给了我这样的自由,让我在职业生涯中能够拥有这样一个角色。
核心领导力原则
Lenny Rachitsky: 在我们进入”翻车角落”(Fail Corner)之前——这个环节我待会解释——也许还有最后一个问题。你已经分享了在职业生涯中学到的几条教训。还有没有其他你认为对你取得成功非常重要的核心领导力原则?
Dhanji R. Prasanna: 我觉得做任何事情都要从小处着手。如果你想煮一杯茶却去煮沸整个海洋——不知道这话是谁说的,但这确实是我经常回味的一句话——你永远也到不了终点。所以如果你要泡一杯茶,就只泡那杯茶就好,不需要把世界上所有的水都烧开。
Lenny Rachitsky: 那泡出来的茶肯定很难喝。海水泡的茶。
Dhanji R. Prasanna: 哈哈,我想还有一句话,好像是 Carl Sagan 说的:“如果你想从零开始做一个苹果派,你得先发明整个宇宙。“所以要把范围缩小到你面前那件可达成的事情上。我觉得这一点非常重要,这也是我们的核心原则之一,甚至在我们还只是 Square 的早期阶段就是这样——从小处开始。
Lenny Rachitsky: 有没有哪个例子,可能做得特别好,或者特别不好?
从小处做起的成功与失败
Dhanji R. Prasanna: 有的,Goose 就是从很小的东西开始的。当时只是一个工程师利用自己的时间,试图构建一个有用的东西,来验证他们的一个设想。Goose 的创造者 Brad 很早就相信——远在我们听到这个流行词之前——代理(agent)将是解锁大语言模型(LLM)价值的方式。他做了一个概念验证,分享给了很多人,分享给了 Databricks 和 Anthropic,让他们也兴奋起来,并从中学到了很多。
然后就逐渐积累了势头。在内部其实也差不多。Cash App 本身也是这样——Cash App 最初基本上是一个黑客周(hack week)的想法,然后越滚越大。所以我们的很多项目都是从这些小实验开始的,然后在此基础上不断构建。我们是第一家推出比特币产品的上市公司。那同样是一个黑客周的想法,是 Jack、我和另一个工程师一起做的。
Lenny Rachitsky: 那个黑客马拉松团队就是你、Jack Dorsey 和一个工程师?
Dhanji R. Prasanna: 对,就是我们三个人。
Lenny Rachitsky: 太不可思议了。
Dhanji R. Prasanna: 是的,很棒的经历。我们去买了一杯蓝瓶咖啡,是用比特币通过 Cash Card 支付的。我告诉你,回想起来,那大概是史上最贵的一杯咖啡了。
Lenny Rachitsky: 当时比特币多少钱?两万?
Dhanji R. Prasanna: 好像是六千或者七千吧,我记得。
Lenny Rachitsky: 现在大概十二万了。不错。
Dhanji R. Prasanna: 但这正是一个例子,说明了当你专注于先做一件小事时,如何能够为人们打造出一个可用的、有价值的产品。
Lenny Rachitsky: 我想再强调一下这个反面教训。就是”好吧,我们有了一个宏大的想法,我们要投入大量资源,一开始就大干一场”。
Dhanji R. Prasanna: 对,完全正确。我也参与过那样的团队。在我的职业生涯中,我在 Google 参与过一个叫 Google Wave 的产品,它试图成为所有人的万能工具,我们有七八十个工程师在还没有任何外部用户的情况下就在构建这个东西。所以我觉得那就是一个反面教材——一开始就搞大的,试图从第一天就大张旗鼓,却缺少了那种脚踏实地接触现实、然后相应调整的能力。
Lenny Rachitsky: 我记得 Google Wave。绝对记得。它做得很漂亮,当时也有很多炒作。我不太记得它具体是干嘛的了,但看起来确实很漂亮。
Dhanji R. Prasanna: 是的,那个项目对我来说有很多经验教训。是的。
Lenny Rachitsky: 还有什么?还有其他大的教训吗?
质疑基本假设
Dhanji R. Prasanna: 这两条是最大的教训,但我还想说一点:质疑一切基本假设。有时候我们会陷入这样的陷阱——作为专业人士,我们极度专注于当天、那周、那个月正在构建的东西,却没有停下来想一想:我们到底该不该建这个东西?构建它的目的是什么?我们能不能构建一个完全不同的东西,一个更能触及我们核心使命的东西?所以我想说,是的,质疑那些基本假设。这话听起来有点老生常谈,但你真的需要一遍又一遍地提醒自己去践行它。
Lenny Rachitsky: 之前我请过你的一位同事 IO 上过播客,他和你一起在 Cash App 工作过。
Dhanji R. Prasanna: 对。
Lenny Rachitsky: 他是我的朋友,非常厉害。他说过一句话,大意就是——我记不清原话了——就是”直抵你手头工作的底层金属面”,去触摸你正在构建的东西,回到最基础的层面去真正理解发生了什么。我猜这在构建 Cash App 和 Cash Card 的时候非常重要。
Dhanji R. Prasanna: 是的,IO 是我合作过的最优秀的产品人之一,实际上也是我最亲密的朋友之一。所以在这一点上我完全同意他和你的看法。
失败角
Lenny Rachitsky: 好。接下来进入播客的一个固定环节,我称之为”失败角”。你已经分享过一个你参与过但失败的产品案例。我很好奇还有没有其他的,问题很简单:你做过但没有成功的那个产品是什么?因为听众听到播客上这些了不起的成功人士分享一个又一个成功的故事、无尽的辉煌,但他们听不到那些不成功的案例。所以这个问题就是:“你做过但没有成功的产品是什么?它教会了你什么?”
Dhanji R. Prasanna: 这个问题非常有价值。我的职业生涯基本上就是一个失败产品摞着另一个失败产品的历程。没错,Google Wave 就是一个例子。我还在 Google+ 工作过,那又是一个史诗级的失败。
Lenny Rachitsky: 好例子。
Dhanji R. Prasanna: 我还在一家叫 Secret 的社交网络创业公司工作过,它短暂地火爆了一阵,然后就炸了。之后还有一个电子邮件创业项目,同样前景一片光明,然后就无声无息了。Canva 的联合创始人和我一起做了那个项目。所以一路走来都是失败,但在每一个节点上,我觉得自己都学到了东西,学到了这类失败和错误我永远不能再犯。
所以 Cash App 对我来说大概算是最大的成功——一个我从非常早期就参与的产品,最终成长为这个巨大的业务,成为一个人们喜爱的产品。是的,我的职业生涯本质上就是把所有这些失败中学到的东西汇集起来,在这个过程中也获得了一些谦逊,开始带着愿意倾听他人观点、批评性观点的态度去做事,而不是觉得自己什么答案都有。
Lenny Rachitsky: 我敢打赌所有这些失败的产品都有非常漂亮的代码,做出了很多优秀的架构决策。有些在各方面都很糟糕,失败的原因太多了。太不可思议了。Dhanji,在我们进入非常精彩的快问快答环节之前,还有什么想补充或者强调的吗?
回归本质
Dhanji R. Prasanna: 我想说的是,我认为我们正处于一个充满变革的时代,人们感到恐惧、犹豫或对未来不确定。但我认为,去看看那些对你来说真正重要的事情。对我们来说,那就是开源、开放协议、为所有人改善可及性。我职业生涯中非常幸运的一点是,我只做过免费或几乎免费的产品,或者有免费层级、然后为某些高级服务收费的产品,而且是人人都能使用的。任何人都可以成为一个 Square 商家。
我记得甚至早期的时候,人们用它来互相转账,作为一种点对点汇款系统,这正是我们构建 Cash App 的原因,而它也在这个基础上取得了巨大成功。所以我觉得,真的要去看那些对你重要的事情,并为之优化。技术朝哪个方向发展其实没那么重要,因为技术是来服务我们的,如果我们有重要的使命和目的,那我们就能让技术服务于我们。这比深钻技术或站在每个潮流前沿重要得多。
Lenny Rachitsky: 非常好的建议,尤其是在有太多东西需要关注、有太多事情在发生的当下。很容易感到焦虑——觉得自己就是不够了解所有的事,不如社交媒体上看到的人厉害,AI 到底怎么样了,我就是太落后了。我从你这里听到的就是:到底什么对你来说是真正重要的?就去做那个。不需要觉得必须在所有正在发生的事情上都做到最好、跟上所有最新的 AI 消息。
Dhanji R. Prasanna: 没错,完全同意。而且如果一件事既没有意义又不有趣,那你可能就不应该做它。
快问快答
Lenny Rachitsky: 那么接下来,Dhanji,我们到了非常精彩的快问快答环节。我准备了五个问题。准备好了吗?
Dhanji R. Prasanna: 好,问吧。
Lenny Rachitsky: 我看到你身后有好多书。所以我很喜欢这第一个问题,很期待你的选择。你有哪两三本书是你最常推荐给别人的?
Dhanji R. Prasanna: 我非常认同一个观点:你不应该读那些关于你日常工作或职业的书。我读小说,读经典文学,读诗歌、哲学、历史。这些是我真正喜欢的书。我认为它们能拓展你的思维,给你带来创意,帮助你质疑关于人类处境的种种问题。这比什么自助书或者”如何做好工程经理”之类的书有价值得多。话虽如此,Mikhail Bulgakov 的《大师与玛格丽特》是我非常喜爱的一本,是俄罗斯文学的杰作。另外我一直被丁尼生的诗歌所吸引,我发现在我最迷茫或最悲伤的时候,丁尼生的诗歌总能引起我的共鸣,帮我找到内心的锚点。
Lenny Rachitsky: 哇,从来没听过这些推荐。真的很想去看看。作为一家大型科技公司的 CTO,这些推荐非常特别。你最近最喜欢的电影或电视剧是什么?
Dhanji R. Prasanna: 我觉得《异形:地球》挺棒的。它是 Noah Hawley 做的,就是拍《冰血暴》电视剧的那位。所以这是一个拥有高超艺术电影制作技艺的人在做一部通俗科幻剧,画面令人叹为观止,观感令人叹为观止,它捕捉到了那种异形系列本质上的通俗魅力,让它如此有趣和好看。我非常喜欢这部。另外我还在看《流人》,我觉得这是电视上最好的剧集之一。
Lenny Rachitsky: 我超爱《流人》。新的一季已经出了,我们录制这天好像刚播了第五集。我很喜欢那部剧。《异形:地球》我也刚看完,真的好诡异,就是那些黏糊糊、软塌塌的小生物到处爬。
Dhanji R. Prasanna: 是的,我太喜欢它的美学了,他们捕捉到了原版《异形》中某种本质的东西。《异形:地球》里的每一场戏,感觉都像在看一幅画,或者有人在给你读一本小说。它非常从容地展开。
最喜欢的产品
Lenny Rachitsky: 我这辈子从没看过任何异形相关的作品,但《异形:地球》我真的很喜欢。不过结尾部分,我确实觉得节奏有点慢了下来,心想”好吧,我大概猜到后面要往哪儿走了”。但整体看下来确实很过瘾。好,下一个问题。你有没有最近发现的、特别喜欢的产品?可以是应用,可以是小 gadget,也可以是什么厨房用品。
Dhanji R. Prasanna: 嗯,我是个游戏玩家,很喜欢打游戏。所以对我来说是 Steam Deck,准确说是 Steam Deck OLED,那是他们的最新款。这是一台非常漂亮的硬件设备,能让你玩到市面上最好的游戏,同时又完全可扩展、可定制。在我们所处的这个时代,大科技公司不断告诉我们,必须把一切锁死——必须锁定用户体验和可定制性,才能让产品为大众所用。而我觉得 Valve 证明了这完全没必要,也完全不对。你完全可以打造出 Steam Deck 这样的产品——你可以在上面安装竞争对手的应用商店,可以在上面装 Windows,可以把它当作一台电脑来用,在上面写程序(我就这么干过)。所以,我觉得它是一件不可思议的东西,外观漂亮,运行出色。大爱。
人生信条
Lenny Rachitsky: 你有没有什么特别喜欢的人生座右铭,在工作和生活中经常回想起来的?
Dhanji R. Prasanna: 如果你每天早上醒来,对自己当天要做的事情不再感到充满干劲,那就改变些什么——如果到了必须辞职的地步就辞职,或者换一种新的方式去做你正在做的事。不要接受别人给你安排好的东西。这是我做事的方式,有时管用,有时不管用,但经常问问自己总是好的。
Lenny Rachitsky: 我非常喜欢这个建议。但对很多人来说,做到这一点真的很难。有没有什么方法帮你克服那种恐惧感——就是”天哪,我要放弃这个了,不知道下一步该去哪儿”的感觉?
Dhanji R. Prasanna: 最主要的一点是告诉自己:一年之后回头看,你现在觉得是巨大的问题、改变人生的大事,到时候你会说”哦,那点事不算什么”。很多时候我们会陷入思维陷阱,过度思虑某件事,或者对做出改变感到紧张不安,但事后回顾起来,那些事其实并没有那么大不了。而此后流逝的时光和发生的种种事件都在告诉你:这个世界比你想象的更广阔,做有意义的事永远不会太晚,为自己做点什么、提升自己,也永远不会太晚。所以,我觉得时刻记住这一点很重要——事情在当下看起来也许很大、很暗淡、很关键,但其实未必如此。
疯狂科学家
Lenny Rachitsky: 最后一个问题。你在 Square 做了很多年的”疯狂科学家”。那么在流行文化或现实生活中,你有没有最喜欢的疯狂科学家形象?
Dhanji R. Prasanna: 这个问题很有意思。我脑海中浮现的始终是《回到未来》里的 Doc Brown。我觉得对我们这一代人来说,他就是疯狂科学家的标准范本——当然电子游戏里也有不少,但他是最经典的那一个。他就是那种”我就是要把这件疯狂的事做出来”的人,几乎是一种无法抑制的渴望和冲动——不管想不想,我必须造出这台时间机器。然后整个电影里他都在想办法修复那台机器所制造出来的各种麻烦。但他对我来说一直是一个特别有趣的角色。
Lenny Rachitsky: 你知道吗,我想到的是《Pinky and the Brain》里的 Pinky。
Dhanji R. Prasanna: 哦对,那个也好。
结语
Lenny Rachitsky: 天哪。Dhanji,这次对话太棒了,你太出色了。非常感谢你的到来。在真正结束之前还有最后两个问题。如果有人想联系你、了解更多关于 Goose 或 Block 的其他动态,在网上哪里可以找到你?另外,听众能怎么帮到你?
Dhanji R. Prasanna: 去看看我们在 GitHub 上 Goose 的页面,以及 Block 的其他所有开源项目。那里有很多有用的东西。我们在 Android 开源方面也做了很多,也去看看吧。你随时可以在 LinkedIn 上找到我,欢迎加我好友,我很乐意被联系到。至于大家能怎么帮忙,我想说——回到我们当下所处的这个充满变革与不确定性的时代——我觉得那些对自己的公司、雇主、团队提出更高要求的人,要求做得更好的人,是很有价值的。在 Block,我们总是问自己:“我们能不能默认把它做成开源的?我们能不能不仅为我们自己或我们的客户构建,而是让所有人都能受益?“我觉得在当前的 AI 时代这一点尤其重要——大家都在把自己关在围墙花园里,试图抢占正在涌现的平台中的各个角落。所以,去对人们提出更高的要求吧。互联网被创造出来时的承诺是:开放共享信息,造福所有人。我觉得 AI 应该帮我们实现这个承诺。所以,去向人们提出这个要求吧。
Lenny Rachitsky: 一个非常美好的结尾。Dhanji,非常感谢你来。
Dhanji R. Prasanna: 谢谢你,Lenny。我真的非常感激。谢谢。
Lenny Rachitsky: 感谢你。
Dhanji R. Prasanna: 再见。
Lenny Rachitsky: 大家再见。
术语表
| 原文 | 中文 |
|---|---|
| Afterpay | Afterpay(Block 旗下的先买后付服务平台) |
| agent | 代理(agent) |
| AI-native | AI 原生 |
| Alien Earth | 《异形:地球》(科幻剧集) |
| Anthropic | Anthropic(AI 公司,不做翻译) |
| Back to the Future | 《回到未来》(经典科幻电影) |
| Block | Block(公司名,前身为 Square) |
| blue bottle | 蓝瓶咖啡(Blue Bottle Coffee) |
| Brad | Brad(Goose 的创造者,人名保留原文) |
| Canva | Canva(在线设计平台,保留原文) |
| Carl Sagan | 卡尔·萨根(美国天文学家、科普作家) |
| Cash App | Cash App(Block 旗下的移动支付应用) |
| Cash Card | Cash Card(Block 旗下的借记卡产品) |
| CoderPad | CoderPad(在线编程面试平台) |
| Conway’s Law | 康威定律(Conway’s Law) |
| Cursor | Cursor(AI 代码编辑器) |
| Databricks | Databricks(数据与 AI 平台公司) |
| Doc Brown | 布朗博士(《回到未来》系列电影中的经典角色) |
| Fargo | 《冰血暴》(Noah Hawley 执导的电视剧) |
| GM | GM(General Manager,总经理) |
| Google Wave | Google Wave(Google 推出的一款实时协作通信平台) |
| Goose | Goose(Block 开发的通用 AI 代理工具) |
| Gosling | Gosling(Block 开发的移动端自动化测试工具) |
| Greenfields | Greenfields(全新、无遗留代码的项目) |
| hack week | 黑客周(hack week,公司内部的创新马拉松活动) |
| Hotel California | Hotel California(《加州旅馆》,老鹰乐队经典歌曲,此处比喻”容易进入但难以离开”) |
| IC | 个人贡献者(IC) |
| IO | IO(人名,保留原文) |
| Jack | Jack(指 Jack Dorsey,Block 联合创始人兼 CEO) |
| LLM | 大语言模型(LLM) |
| Looker | Looker(商业智能与数据分析平台) |
| Lovable | Lovable(AI 应用构建平台) |
| Mikhail Bulgakov | Mikhail Bulgakov(俄罗斯作家,保留原文) |
| Model Context Protocol / MCP | 模型上下文协议(MCP) |
| Noah Hawley | Noah Hawley(美国编剧、制片人,保留原文) |
| Ollama | Ollama(本地运行大语言模型的开源工具) |
| Pinky and the Brain | 《Pinky and the Brain》(美国动画剧集,保留原文) |
| PR | PR(Pull Request,代码/命令不翻译) |
| QA | QA(质量保证,Quality Assurance) |
| Salesforce | Salesforce(企业 CRM 平台,不做翻译) |
| Secret | Secret(社交网络创业公司,保留原文) |
| Slow Horses | 《流人》(Apple TV+ 间谍剧) |
| Snowflake | Snowflake(云数据平台,不做翻译) |
| Steam Deck | Steam Deck(Valve 推出的便携式游戏掌机) |
| Tableau | Tableau(数据可视化平台) |
| Tennyson | 丁尼生(英国桂冠诗人 Alfred, Lord Tennyson) |
| TIDAL | TIDAL(Block 旗下的音乐流媒体服务) |
| Top Gun | 《壮志凌云》(1986 年美国电影) |
| Valve | Valve(游戏公司及 Steam 平台的母公司,保留原文) |
| vibe code | vibe code(一种通过自然语言提示让 AI 生成代码的编程方式) |
| 《大师与玛格丽特》 | Mikhail Bulgakov 的长篇小说 The Master and Margarita 的中文译名 |
此文档由 AI 分片翻译(translate_long_document)
How Block is becoming the most AI-native enterprise in the world | Dhanji R. Prasanna
AI-Driven Productivity Gains
Lenny Rachitsky: There’s a lot of talk about productivity gains through AI. There’s this camp of people that are so overhyped, nothing’s working, nobody’s actually adopting this at scale.
Dhanji R. Prasanna: We see a significant amount of games. We find engineering teams that are very, very AI forward are reporting about eight to 10 hours save per week. Whenever I hear a stat like this, I think an important element is this is the worst it will ever be. This is now the baseline. The truth is the value is changing every day, so you need to ride that wave along with it.
Introducing the Guest
Lenny Rachitsky: There’s a story I heard you share on a different podcast where there’s an engineer who has Goose watching.
Dhanji R. Prasanna: You’ll be talking to a colleague on Slack or an email, and they’ll be discussing some feature that they think is useful to implement. Now a few hours later, he’ll find that Goose has already tried to build that feature and opened a PR for it on Git.
AI Manifesto for Jack Dorsey
Lenny Rachitsky: What level of engineer is most benefiting from these tools?
Returning to Tech Company Roots
Dhanji R. Prasanna: What’s been surprising and really amazing, the non-technical people using AI agents and programming tools to build things, the people that are able to embrace it to optimize for their particular workday and their particular set of tasks are really showing the most impact from these tools.
From GM to Functional Orgs
Lenny Rachitsky: How do you think things will look in a couple of years in terms of how engineers work that’s different from today?
Dhanji R. Prasanna: All these LLMs are sitting idle overnight and on weekends, while humans aren’t there. There’s no need for that. They should be working all the time. They should be trying to build in anticipation of what we want.
Conway’s Law and Growing Pains
Lenny Rachitsky: What’s maybe the most counterintuitive lesson you’ve learned about building products or building teams?
Dhanji R. Prasanna: A lot of engineers think that code quality is important to building a successful product. The two have nothing to do with each other.
Changes in Daily Engineering Work
Lenny Rachitsky: Today my guest is Dhanji Prasanna. Dhanji is Chief Technology Officer at Block, where he oversees a team of over 3,500 people. With Dhanji’s leadership, Block has become one of the most AI-native large companies in the world and has basically achieved what many eng and product leaders are trying to achieve within their companies.
In our conversation, we chat about their internal open source agent called Goose, that by their measure is saving employees on average eight to 10 hours a week of work time, and that number is going up, how AI specifically making their teams more productive and the teams that are benefiting most. Interestingly, it’s not the engineering team, what it took to shift the culture to be very AI-oriented, the very boring change they made internally that boosted productivity even more than any AI tool.
Also, lessons from building Google Wave and Google Plus and Cash app and so much more. This episode is for anyone curious to see what a highly AI-forward technology-driven large company looks like and can act like. If you enjoy this podcast, don’t forget to subscribe and follow it in your favorite podcasting app or YouTube. It helps tremendously.
Also, if you become an annual subscriber of my newsletter, you get a year free of 16 incredible products including Devin, Replit, Lovable, Bolt, n8n, Linear, Superhuman, Descript, Wispr Flow, Gamma, Perplexity, Warp, Granola, Magic Patterns, Raycast, ChatPRD and Mobbin. Head on over to Lennysnewsletter.com and click Product Pass. With that, I bring you Dhanji Prasanna after a short word from our sponsors.
And there’s something big happening in messaging that product teams need to know about. Rich Communication Services or RCS. Think of RCS as SMS 2.0. Instead of getting texts from a random number, your users will see your verified company name and logo without needing to download anything new. It’s a more secure and branded experience, plus you get features like interactive carousels and suggested replies, and here’s why this matters. US carriers are starting to adopt RCS.
Suddenly, I could involve my whole team in the design process, give feedback on design concepts really quickly, and it just made the whole product development process so much more fun. But Figma never felt like it was for me. It was great for giving feedback and designs, but as a builder, I wanted to make stuff. That’s why Figma built Figma Make. With just a few prompts, you can make any idea or design into a fully functional prototype or app that anyone can iterate on and validate with customers.
Figma Make is a different kind of vibe coding tool, because it’s all in Figma. You can use your team’s existing design building blocks, making it easy to create outputs that look good and feel real and are connected to how your team builds. Stop spending so much time telling people about your product vision and instead show it to them. Make code back prototypes and apps fast with Figma Make. Check it out at figma.com/lenny. Dhanji, thank you so much for being here and welcome to the podcast.
Dhanji R. Prasanna: Thank you Lenny. It’s a great pleasure to be here.
AI Productivity: Diverging Viewpoints
Lenny Rachitsky: I want to start with a letter that I hear you wrote to Jack Dorsey to convince him that he and that Block needed to take AI a lot more seriously. I think you called it your AI manifesto and it seems like it really worked. We’re going to talk a lot about the changes that came as a result of that. So let me just ask, what did you say in this letter and what happened right after you sent that letter to him?
Self-Service Tools for Non-Tech Teams
Dhanji R. Prasanna: So about two and a half years ago or so, Jack really felt like things needed to change. I think he had a sense that the industry was going in a different direction. So he got about 40 of the company’s top executives into a room on a weekly basis, and they all used to sort of talk everything through that was going on and he added me to that group.
So at some point, I observed that we were talking about lots of deep things, lots of relevant things, but no one was really paying attention to AI, and so that’s when I wrote that letter. And to be honest, it’s I think taken on a life of its own, but there wasn’t much to the letter other than I think we should do this. I think we should do it centrally and it’s important for us to be ahead of the game and be an AI native company because that’s where the industry is heading.
How to Measure AI Impact
Lenny Rachitsky: Let me just say it’s important to note you were not CTO at this point. You were just a senior engineer kind of person?
What is Goose?
Dhanji R. Prasanna: No, yeah, in fact, I was part-time at the time because I had just had a kid and I was coming back in and I was helping out one of the engineering teams and then Jack came over to Sydney and spent two days with me and both of us like long walks. So we walked all around Sydney and talked it through up and down, and then yeah, he offered me the job and I thought it was a great opportunity once in a lifetime, so I took it.
Tool Selection Inside Block
Lenny Rachitsky: It’s like be careful what you’re good at sort of situation. Okay. So what were some of the bigger changes that you made after Jack is on board and Block execs are on board of are, “Cool, this is completely right. We need to go much bigger and think much more deeply about how AI is changing, how we build and how we should build.” Or some of the bigger changes that you made from a perspective of other companies listening to this, trying to think about what they should be doing?
Dhanji R. Prasanna: At the start, my main focus was to get block to think like a technology company. And for a long time we had had a little bit of, I’m going to call it identity drift, maybe. We were talking about ourselves as a financial services company. Some people called us FinTech, all of this stuff. But when I started working at what was then known as Square, we were always thought of as a technology company just like Google or Facebook or any of the others.
And so I wanted to get us back to that. And so the first thing I did was to try and institute a number of programs that focused on that. So everything from getting the top ICs in the company together to talk to each other, to starting a whole bunch of special projects. So we got about two to five engineers per project. There were about eight or nine different projects and we had reinstituted, the company-wide hack week.
And so all of this just kind of created a little bit of a spark of, “Hey, we’re building technology again, we’re trying to push the frontier again.” And that’s how it started, and then there were a whole number of steps after that where we went from a GM structure to a functional org structure, which was I think the key to making our transformation into being more of an AI-native company.
Open Source Philosophy
Lenny Rachitsky: Okay, talk more about that. What does that mean? What does that look like? Why is that so important?
Dhanji R. Prasanna: Absolutely. So when we were in our mature phase, so when Square was working quite well, it was a very large business, and then we had started Cash App and that also followed suit. We had spun them out almost as what we call a GM structure. So they were effectively run as a portfolio of independent companies and they had their own CEOs who all reported to Jack and it was still one single executive team, but they had separate engineering practices, they had separate design teams.
They were kind of separate in almost every way except for some shared resources like our foundational resources like legal and some platforms and things like that. So I think that that was very useful for us for the stage of company that we were in, but when you really want to go deep in technology, when you really want to connect with these things that are industry changing events that are happening, you need a singular focus, and we changed the organization.
So all engineers report into one single team now, all designers report into one single team and there’s single head of engineering, single head of design, et cetera. And so that was the big transformation that we made, and that meant we could really drive forward AI, we could drive forward platform and just technical depth generally.
Origin of the Name Goose
Lenny Rachitsky: For companies that are struggling with this potentially or trying to figure out how to do this, two things I’m hearing here is start to see yourself as a technology company. It doesn’t necessarily apply to every company, but seems like an important element is like we’re building technology, we’re not a financial company, we’re not a real estate company, we’re not a technology company. And then two is organize the team such that say engineers report up to an engineering leader versus a GM who maybe doesn’t understand engineering as well or doesn’t take it as seriously as they should.
Dhanji R. Prasanna: Yeah, I think that’s pretty much what we did. And not to lean too heavily on this, but this is what jobs did when he came back to Apple as well. He reorganized Apple to be functional, and it wasn’t like we were following a playbook. We discovered this as we were investigating what it’s going to take to make these teams more tech-focused and to bring our DNA back to our roots, which really was putting engineering and design first, which is what technology first means to me. So yeah, I would say to companies, find your DNA and really try to optimize for what that is in a very simple and clear way.
Pushing Goose to the Limits
Lenny Rachitsky: Okay, so you made a bunch of changes, you had this manifesto, everyone’s on board, you made a bunch of changes. Functional technology first, comparing the way that your say engineering team works today versus two or three years ago, what is most different?
Dhanji R. Prasanna: Not everyone was on board, I’ll tell you that. It was quite a painful transformation. I think that one of the things that I learned the most throughout this process is that Conway’s Law can be really, really powerful. So it’s the law that basically says you ship your org structure. So what you’re organized as in terms of teams, in terms of collaborating groups and your operating model matters a lot to what you build.
And so I think that that was essentially the biggest change is we had a lot of momentum in each of these silos, be it Cash App, be it Afterpay, be it Square or even TIDAL or music streaming service. And no one was really talking to each other, no one was really aligned on technical strategy on what we even wanted to be five years from now as a collective team. And so all those things are different now. I’m not saying it’s perfect, there’s still a long road ahead of us, but we at least speak the same language.
We’re all have access to the same tools, we share the same policies. So a certain level of senior engineer means the same thing across the whole company. People can move from one team to another’s into an area of need. All of these things are very different. But to sum it up, I would say we’re technically focused and we’re focused on advancing technical excellence as a goal. And that just really wasn’t that true two to three years ago. There were other things we were optimizing for then.
Maturity of Automation
Lenny Rachitsky: Maybe going one level deeper in terms of how people actually work at a day. So if you’re looking at an engineering team, say the average engineering team and maybe also the top most optimal engineering team, how is the way they work today different from a couple of years ago?
Dhanji R. Prasanna: In the small, certain teams that are very, very AI natives or teams that are building AI first everywhere are working much differently than before because they’re using vibe code tools and they’re essentially building without writing lines of code by hand, and that just wasn’t true through the three years ago. I don’t think it was true anywhere in the world. So that’s dramatically different in teams that are still working with very heavy legacy code bases.
It’s less true, but they’re also encountering these background AI processes. So we have these tools that run 24/7 or run in the CI pipeline and they’re analyzing vulnerabilities. They’re looking at even bugs filed on tickets and trying to build patches while engineers are asleep. So they come in the next day and look at it. So I would say there are a number of ways in which they’re different, but different teams have adapted in different ways depending on how close they are to the tools.
Future Workflows for Engineers
Lenny Rachitsky: Okay, so let me lean into that AI piece, which is I think where you guys are most ahead of a lot of other companies. You guys built your own agent I think is how you describe Goose. So there’s a lot of talk about productivity gains through AI. There’s this camp of people are like, you don’t understand how much productivity there is to gain from AI. It’s the future, this is the way it’s all going to work.
We’re all accelerating 10X. There’s also this camp where people are like, I’m so overhyped, nothing’s working. People talk about it. All these pilots are failing. Nobody’s actually adopting this at scale. I feel like you’re probably in that first camp. What sort of gains have you seen practically from AI tools on your teams?
Human Taste as the Anchor
Dhanji R. Prasanna: Our number one priority is through automate Block, which means getting AI and getting AI forms of automation through our entire company. And we feel that that’s just at the beginning of where the utility is with all these large language models, and I think we’re going to continue to see that improve. But even now, we find engineering teams that are very, very AI forward that are using Goose every day are reporting about eight to 10 hours saved per week, and this is self-reported. And then we also have a number of check metrics to try and validate that.
So we look at PRs, we look at throughput of features, we look at a whole bunch of things and we have our data scientists come up with a complicated formula that tries to distill it all into something meaningful. And we feel across the whole company, we’re probably trending towards 20 to 25% of manual hours saved. And I think that’s just the start of all of this. I do feel that the more AI-native companies are doing a better job of realizing this.
So companies that started just with AI startups mostly, but there is some truth to this notion that AI isn’t a panacea and it’s growing as well in capability. So you need to ride that wave along with it. And I think a lot of the companies aren’t realizing this. They’re like, “Well, where’s the value?” And the truth is the value is changing every day. And so you need to be adaptable and look at what the value is today and plan for what the value will be tomorrow and then slowly expand to the areas where it’s most efficacious.
I’ll give you an example. One area in which we find that it’s really good is for non-technical teams to be able to build little software tools for themselves. So this has been one of the most surprising and energizing uses of Goose within Block is we’ll have our enterprise risk management team build a whole system for self-servicing enterprise risk, and this is compressing weeks of work into hours, or ordinarily, they would be waiting for an internal apps team or something to go and build that and they would put that on their Q2 roadmap and everyone would be twiddling their thumbs until it all clicked into place, but now you can just go and do it.
And so a lot of these kinds of use cases we’re seeing an enormous amount of productivity gain in the other area, which I’m really excited about is we have this other tool called Gosling, which is a goose for mobile effectively. So it operates your Android OS at a native level using the accessibility API. And we use that for automating UI tests.
So before, you would have to hire an army of contractors or QAs who would go and click through every screen, but now we can just bake those into automated tests and then give you a report at the end. So we’re seeing a lot of advantages in those types of areas, but where you have a lot of depth and a lot of really strong people come together is where AI, I think still underperforms humans. And that’s something that’s probably going to get better over time, but it’s also something where we should lean into as humans.
So when you have some very senior engineers and they’re thinking about things like architecture and design and race conditions, orchestration, things like this, that’s still an area where AI isn’t quite there. And so I think the companies that aren’t feeling the success in AI are trying to just throw these tools at their giant code bases and hoping good things will happen, and that’s not how it’s playing out. Eventually, I do think it’ll get there, but right now we’re still in the early utility phase.
Lenny Rachitsky: Holy moly, there’s so much there in what you just shared. There’s like five things I want to follow up on. Okay, so one is this metric you kind of alluded to, which is how you measure the impact of AI in your team. So it was human manual hours saved, is that how you describe it?
Questioning Basic Assumptions
Dhanji R. Prasanna: That’s correct. Yeah.
Maintenance Costs: Build vs. Buy
Lenny Rachitsky: So it’s roughly a fourth of an engineer’s time currently is being saved by AI tooling.
Dhanji R. Prasanna: That metric is across all teams. So that would be our support teams, our legal teams, our risk teams, all of them together.
Hiring and Team Skills in AI
Lenny Rachitsky: Wow.
Dhanji R. Prasanna: And then on the engineering side, it’s very variable because like I said before, it matters how big and how complex the code base is. And so if you’re building a totally new Greenfields code base or you’re building an app for a new platform, then we’re seeing those pretty aggressive gains, but in very complex code bases that already exist, those gains are not quite there yet.
Using AI Tools in Interviews
Lenny Rachitsky: That’s amazing. And whenever I hear a stat like this, I think an important element that people need to think about is this is the worst it will ever be. This is the lowest, this is now the baseline. And so it may not sound that crazy yet, but it’s going to get crazy. Okay, the other thing that you talked about is Goose, you haven’t explained what Goose is. This is a huge deal. Explain what Goose is and how important this has become to you guys.
Dhanji R. Prasanna: So Goose is a general purpose AI agent. So you can think of it as a desktop tool or a program that you can download and install on your computer and then it has a UI. You can talk to it just like a chatbot and you can say anything from, “Hey Goose, organize my photos by category, and it has the ability to look within your photos and if there are a lot of trees, it’ll organize them as nature photos. And there are a lot of people, it’ll organize them as portraiture.” All of this sort of stuff to writing software for you.
So it can do all of these tasks, and the way we’ve been able to do this is through something called a model context protocol or the MCP, which a lot of your listeners might’ve heard. And this is something that Anthropic came up with that we were a very early contributor to. And the model context protocol is very simply just a set of formalized wrappers around existing tools or existing capabilities. So if you have tools that you use in the enterprise, be it Salesforce or be it Snowflake or SQL, any of these things, you can wrap them in the MCP and then it exposes them to your LLM to be able to manipulate.
So until that point, the LLMs were not really able to do much other than chat, but Goose gives these brains arms and legs to go out and act in our digital world, and that’s where we find it’s had most impact and it’s built on this fairly open protocol that anyone can implement. There have been an explosion of MCPs. Goose is entirely open source, by the way, so any of you can download it and extend it, write your own MCPs, and that’s been our core successes through Goose.
Which Engineer Level Benefits Most?
Lenny Rachitsky: Okay. So essentially like Claude code with a UI, desktop app sort of thing built on top of Claude and OpenAI ChatGPT and a bunch of open source models. Is that right?
Dhanji R. Prasanna: Yeah, it can use any model. So we have a pluggable provider system and you can either bring your own API keys and use the Claude family models or OpenAI’s family models, or you can use open source models and you can download them and use them directly or via Ollama and other, there are several tools that help you do that, but essentially it’s taking the capability of these models to generate text and to interpret text and applying them to real world situations.
So one example that I really like is you can ask Goose to go and build your marketing report and it has MCPs to connect to Snowflake and Tableau and Looker. So it’ll write SQL to pull out data from there, it’ll do some analysis and a CSV so it can write Python code on your desktop to do all that. It will generate some graphs using some JavaScript charting library that it knows about.
And then finally, it’ll put this all into a PDF or Google Doc or whatever and it can even email it for you or upload it somewhere. And it’s doing all of this on its own, by the way. No one’s sitting here telling it that, you’re just saying, “Hey, I want this report, I want this emailed here, I want these pretty charts.” And it’s orchestrating across all these systems.
Non-Tech Staff Coding with AI
Lenny Rachitsky: So essentially at Block, instead of using Claude or ChatGPT directly or even Cursor and all these apps, they use Goose?
Wider Roads Attract More Traffic
Dhanji R. Prasanna: Yeah, we allow our engineers and our general employee population to use any tools that they want. Goose is the one that’s most well-integrated into all of our systems because it’s built on the MCP and it’s so easy to create an MCP for an existing system. So for example, if you’re using a issue tracking tool and you want some AI automation added to it, before Goose, our teams would have to wait for the vendor to build that AI capability in there, or maybe there’s some way in which OpenAI or Anthropic or Google would provide a general purpose capability where we could plug those in. But with Goose, that’s no longer necessary with a few lines of code that an MCP represents. All these systems are orchestratable with AI basically overnight, and Goose can write its own MCPs. So it’s pretty bootstrappable as well.
Lenny Rachitsky: And this is open source and basically you’ve spent all this time building this thing, any other company can now implement it and build on all the work you’ve done?
Hiring and Organizational Structure
Dhanji R. Prasanna: Yeah, and we have a lot of companies using Goose pretty actively. I don’t want to name too many names, but from our competitors to our close partners, a lot of them are using Goose pretty regularly on their teams. I know Databricks talks about it a lot, but everyone you can think of in this mid-tech tier is using Goose in some form.
Lenny Rachitsky: That’s insane. This feels like it could’ve been a massive business of its own, some of the fastest growing companies in the world, basically this is their product and you’ve built it and given away.
Structure Over Tool Efficiency
Dhanji R. Prasanna: Yeah, we believe in the power of open source and one of our core missions is to increase openness, and that means contributing to open protocols and contributing to open source. And as a tech company, we’re built on a lot of open source software. I think pretty much every tech company is whether you’re talking about Linux or Java or MySQL or any of these essential components, and so we feel like we have a strong imperative to give back.
We want to build things that not only are good for us and our customers, but that outlast Block and outgrow Block, that’s certainly a core value for us and has been from the beginning even long before this whole AI phase. So yeah, Goose follows in that proud tradition and yeah, we’re very excited that its had the success it’s had.
Lenny Rachitsky: What’s the story with the name Goose, by the way? Can’t help but ask.
First-Hand Experience is Best Marketing
Dhanji R. Prasanna: Goose is a Top Gun reference. So our engineer that came up with it. He also looks exactly like Goose, so it’s kind of crazy if you put them side to side, he’s going to be really embarrassed with my sharing this, but that’s the reason why they call it Goose, and then we lent into the whole bird theme after that.
Goose Surprisingly Solves Real Problems
Lenny Rachitsky: That’s incredible. There’s a story I heard you share on a different podcast where there’s an engineer who takes this to the extreme and has Goose watch him. Talk about that, share that story.
Positioning of Goose
Dhanji R. Prasanna: Yeah, absolutely. So he is very, very AI-focused and he’s trying to extract all these crazy ideas from Goose and Goose can do all of the things that I described through specific interactions with tools, but it can also just watch your screen so it understands how to process images and process the things that it’s looking at through screenshots. And so he built this system where it’s essentially just watching everything he does all the time and he’ll be talking to a colleague on Slack or an email and they’ll be discussing some feature that they think is useful to implement.
And then a few hours later he’ll find that Goose has already tried to build that feature and opened a PR for it on Git and all sorts of other wacky things like that. So it’ll try to nudge him out of a workflow. If he’s running over on a meeting and he’s late for something else, it comes up with these creative things that he didn’t program or he didn’t write prompts for, but that it thinks will help him improve his productivity or improve his work day. So yeah, it’s pretty crazy. You have to have the stomach for it to be that level of tied into your working tools, but it kind of shows you what’s possible with tools like this.
Lenny Rachitsky: Clearly this is where things are going. Once this gets good enough, I love this guy is just trying it. So it’s basically watching him work and anticipating what he should be doing and does the work for him as a first draft so that he’s like, “Oh, the PR is already done on this thing. We were just talking about it at this meeting.” That’s incredible.
Reflecting on the CTO Role
Dhanji R. Prasanna: Exactly.
Lenny Rachitsky: How good is it? Where’s it at? If you had to go zero to a hundred of like, “Okay, going to, all you have to do is now think and talk and that’ll just do your job.”
Code Quality and Product Success
Dhanji R. Prasanna: Yeah, so voice is the other big part of it. It has voice processing capability, so it’s always listening to what he’s saying as well and trying to interpret that. I would say that this is mostly an experiment, given that he’s on our core Goose team and he contributes to Goose, so he has a day job. This is a kind of thing on the side that he was developing.
So once this evolves into more of a native feature of Goose itself or other tools that we use in the enterprise, I think it can have a lot of legs, but it’s already pretty good. It’s probably cutting down enormous amounts of busy work that he has to do. So for example, one thing he’ll do is he’ll say, “Oh, I have a meeting conflict. I can’t make it that time, or I have to go pick up my kid.”
And Goose will automatically reschedule that meeting without him ever sitting in front of his calendar and clicking through 10 times. Yeah, so these are things that I think we were waiting for the calendar vendor to build as features into calendar, but we don’t need to do that anymore because AI is able to orchestrate this for us.
Lenny Rachitsky: This isn’t that guy that had four jobs at four different startups that he was able to paralyze all his work and hire people.
From Cash App to Controlled Chaos
Dhanji R. Prasanna: No, it’s not. He’s someone that I’ve worked with for a long time and he’s been at Block for a long time. He just loves experimenting and he embodies that culture of experimentation just like our creator of Goose who did the same thing.
Core Leadership Principles
Lenny Rachitsky: So let me pull on that thread a little bit. You’re kind of seeing a glimpse of where things are going. You’re very ahead of the curve in a lot of ways at Block. How do you think things will look in a couple of years in terms of how engineers work, how product teams work that’s different from today?
Starting Small: Successes and Failures
Dhanji R. Prasanna: I think a lot of it is dependent on the improvement of LLM performance, but I can tell you the way I’m trying to change how I work and how I’m trying to change our immediate team’s way of working. So I think vibe coding has been an interesting, exciting thing, which is you talk to a chatbot essentially and it goes and builds software for you, but I think this is highly limiting.
It’s very ping pong. You do something, you wait for three or four minutes and it comes back with something sort of half-baked and you have to nudge it and guide it and massage it to get where it needs to be. I think that we’re going to see much more autonomy. So where we’re working on a couple of experiments with Goose, with the next version of Goose where we’re really trying to push it to work not just for two or three or five minutes at a time, our median session length is five minutes and on average, seven, but we’re trying to push it to hours.
We’re trying to say, “Hey, all these LLMs are sitting idle overnight and on weekends while humans aren’t there, there’s no need for that.” They should be working all the time. They should be trying to build in anticipation of what we want if we go back to the earlier part of the conversation. But also I think that they should be able to build in ways that were never possible before.
Before as humans, we had limited resources, limited bandwidth, and a lot of coordination overhead. So we would have to choose the best path to try in an experiment, and I don’t think we need that anymore. We need instead to be able to describe multiple different experiments in a great amount of detail. And then maybe we go to sleep and then in the morning, all those experiments are built and we can sort of throw away five or six of them.
So one of the things that I do regularly, so I write code every day, but one of the things that I do regularly is just throw away huge, huge amounts of code, and it’s kind of hard for me because I’ve never done that before. I mean obviously engineers love deleting code, but this is different. You build a whole new system or a whole new feature and you’re like, “Ah, it doesn’t feel exactly right. I’m just going to delete and start over.”
So I think you’re going to see a lot more of that way of working. And I think that you’re going to see instead of us, for example, refactoring an app to have a different UI or to evolve into its new version, we’re just going to rewrite that app from scratch. And one of the things I’m really pushing our teams to think about is what would our world look like if every single release, RM minus RF deleted the entire app and rebuilt it from scratch? And so we can’t really do that today, but I think this shows you some of the direction of what’s possible and where these tools are taking us.
Lenny Rachitsky: What’s interesting about that is that there’s this common rule in software engineering and just product, don’t ever just rewrite. Don’t try to rewrite your thing. You’re going to forget all of the small improvements and tweaks and bug fixes people have made over the years, and you think it’s going to be the simple straightforward thing. It ends up being now it’s like a year or more of just getting it back to where it was. And so interesting that AI now can make that possible, and what you’re saying is that’s actually maybe the way you should be working.
Questioning Basic Assumptions
Dhanji R. Prasanna: I think so. And I think that the trick is getting the AI to respect all of those incremental improvements, yeah, and sort of bake those in as a part of the specification, if you will. Yeah.
The Failure Corner
Lenny Rachitsky: Also, the point you made about this agent, just you give it a bunch of ideas that builds them overnight and then you could see, I imagine it goes even further up the stack and comes up with the ideas and then starts building them and then you’re like, “Okay, oh, that was a great idea. Now I can see it immediately in the same workflow.”
Returning to the Essentials
Dhanji R. Prasanna: Yeah, that’s true. I was actually literally trying what you’re saying just last week. And so I have this new version of Goose that we’re working on and I was asking it to come up with ideas to improve itself and implement it overnight. And sometimes-
Quick-Fire Questions
Lenny Rachitsky: Slip problem.
Dhanji R. Prasanna: … Sometimes it kind of goes off the script entirely and you have to sort of pull it back a bit. So I think we’re not quite at that era where it’s completely self-improving and completely autonomous, but I do think we’re in a transition phase where we can give it that nudge and say, “Hey, here’s my wishlist of 10 things that I wish you could do. Go and figure out the best way to do them.” And it’s successful I would say on 60% of those things, if the features are well enough described and it struggles on the remaining 40 where you have to kind of intervene and massage it. Yeah.
My Favorite Product
Lenny Rachitsky: Oh man, I’m just imagining this feature where you give it the goal of drive revenue and growth and then it’s just like, “Okay, everyone’s fired. Here’s your paychecks. I’ll take it from here.”
Dhanji R. Prasanna: I don’t think we’re going to be there. I do think we’re going to need a lot of human taste to anchor these AIs so they don’t go off script to be honest. And that’s really where our design lead and our design teams are pushing us to think, and that’s a differentiator that I think will push us beyond this era of AI slop that everyone’s talking about. So yeah, it’s very much anchoring it into a thing that matters to people and the thing that’s tasteful and useful and has value.
Personal Life Mantra
Lenny Rachitsky: To make that even more concrete, is there an example of something maybe AI was trying to, or a team was trying to pitch where you had to just know this is where humans are going to step in and keep things on track?
Dhanji R. Prasanna: I’d say it was more around things like process automation or a lot of times I’ll get this sort of request where a team will say, “We need to buy this new tool from this vendor because our current tool is entering X, Y and Z.” Another team will say, “No, no, no, we can just use Goose to build an app that will do the same thing for us in half the time or less.” And then as a human, you’re sitting there thinking, “Is any of this necessary? If we just change the process, do we even need to think about building tools?” And this is the thing that AI isn’t good at, it’s not able to have this portfolio judgment or judgment across a global sense of what’s important and what matters.
So a lot of times, I tell teams just question the base assumption, particularly our InfoSec teams because they’ll twist themselves into knot sometimes trying to secure something and you’ll be like, “We’ll just ask the team that’s building it to do it differently or to not build that at all if it doesn’t matter, and then you won’t have to increase your surface area of securing it.” So I think those are the areas where it’s better for a human to use judgment and AI has not done a great job.
The Mad Scientist
Lenny Rachitsky: You make this point about building your own software, your own tools instead of buying stuff. This is a big question with AI, is it’s going to replace all these SaaS apps to Salesforce over. Is there a sense of just either how much money you guys have maybe saved building your own stuff, or have you built a new-found respect for the existing SaaS software that everyone’s using and pays lots of money for?
Dhanji R. Prasanna: I think there’s a trap in getting away from your core purpose as a company. And our core purpose is economic empowerment. So getting customers or merchants or artists the ability to make a sale or pay their rent or upload their latest creation to TIDAL. And I think that anything that serves that purpose, we should encourage and we should invest in, but if we’re just purely looking at dollars versus dollars, then that’s pulling us off that purpose.
The savings and costs that there might be in replacing a vendor tool by something you build in-house is probably not worth it in the mental bandwidth that you’ve lost and the amount of the team’s technical focus that’s being taken away. So yeah, I would say it just keep coming to the thing that matters to you as a company and then the rest will follow from that.
Final Closing Remarks
Lenny Rachitsky: Yeah, I think people forget just how much maintenance it takes to keep something you’ve built. Like, “Okay, cool, we built it in a weekend and now it’s years of endless maintenance and requests and support.” And also to your point, it feels like it comes back to the always motto of just focus on your core competencies and then buy everything else.
Dhanji R. Prasanna: Yeah, it’s the classic 80/20 problem, and we have that enough with the apps that we build for our customers. We’ll build some great experiments that really resonate, and then we have to spend a lot of time ironing out the long tail of problems. So in Cash Card, for example, we built the entire functionality of Cash Card, I would say pretty much in a weekend or maybe a week of integration and work.
And then it took a really long time to iron out all these edge cases where someone would tip twice the value of the bill and then it would completely break something in the back end, or people would use it as a gas station and they have a different way of billing your card. So yeah, it’s very much that. And to your point, I would always come back to what is the reason we’re doing this? Why does it matter to us and to our customers? And if it doesn’t clearly satisfy that, I would just push it off as a not interesting thing.
Lenny Rachitsky:
Persona helps combat these threats with automated user business and employee verification. Whether you’re looking to catch candidate fraud, meet age restrictions or keep your platform safe, Persona helps you verify users in a way that’s tailored to your specific needs. Best of all, Persona makes it easy to know who you’re dealing with without adding friction for good users. This is why leading platforms like Etsy, LinkedIn, Square and Lyft trust Persona to secure their platform persona is also offering my listeners 500 free services per month for one full year, just head to withpersona.com/lenny to get started, that’s withpersona.com/lenny.
Thanks again to Persona for sponsoring this episode. One of the biggest parts of the conversation around AI is hiring jobs, things like that. So I have two kind of this two-part question. One is just how has the rise of all these AI tools, this increased productivity impacted the way you plan head counts and hire? And then what do you look for that’s different in people you’re hiring now that AI is such a big part of the way you guys work?
Dhanji R. Prasanna: I don’t think that things have progressed far enough that it’s really impacted in a fundamental way how many people you would need to build an app of the scale of Cash App, for example. I think what’s changed for us is much different and it has nothing to do with AI, it’s what we talked about earlier is moving from our GM structure to a functional structure. And in our GM structure, our incentives were always to think of engineering headcount as a commodity.
And so we would just add more engineers if we wanted to build more features and the classic mythical man person month trap or whatever it’s called. And I think that moving to a functional structure completely changes that and you’re like, “Well, we can leverage common platforms, common modules, we can bring in experts from across the company to advise us on how better to do this.”
And so those kinds of things I think have made it much different and how we hire and we no longer see engineers as a commodity to just add 100 people to go and build the next product in Cash App. But on the AI side, we’re very much looking for people that are embracing these tools and that are eager to try and learn from it. We’re not looking for people who are amazing AI practitioners on the get-go.
I think we have those people and we’re interested in those people if they ever want to work with us. But I’m much more keen on looking for that college grad who just really is eager to learn about these tools and open to it, or even the veteran who has embraced these tools and figured it out. And that’s kind of where we’re optimizing for who we look for rather than a specific set of skills.
Lenny Rachitsky: So essentially the biggest change is just looking for people that are embracing AI, not being like, “No, I don’t need this stuff. I’m an amazing engineer. I don’t need to use Cursor or Goose or all these things.”
Dhanji R. Prasanna: Yeah, a learning mindset is how I would put it. This is something that Jack our CEO talks about a lot is he wants us to be a learning first company. So everything we do, every experiment that we ship, what can we learn from it and did we feel that we gave it our best shot? And I think that that’s more important to him than even sort of coming up with the right business answer every time.
Lenny Rachitsky: What about when you’re interviewing? Are you encouraging engineers to use AI tools as they’re doing exercises? How did that change over the past year or two?
Dhanji R. Prasanna: Yeah, we’re starting to do that now. So traditionally we would just use CoderPad or something like that to wipe boards or a problem or even program it in Pseudocode or near Pseudocode. But now we’re looking at can you use Vibe code to build something? How comfortable are you with these tools or how are you thinking about evolving with them as well?
But it’s early days yet I would say that it’s not clear to me that necessarily how someone knows how to use, be it Goose or Cursor or any of these other tools matters that much to whether they’re a good engineer. I still think that things that we interviewed for in the past, a critical mindset, the ability to really understand deeply the technical nature of a problem is still much more important than whether you’re a fully AI native programmer or not.
Lenny Rachitsky: Another question that I’ve always been thinking about a lot of people wonder is what level of engineer is most benefiting from these tools? You could argue it’s the junior engineers now, they could just get all this work done. You could argue it’s senior engineers because they know so much more about how things work and now they could just orchestrate thousands of agents doing their bidding. What have you seen in terms of which level is benefiting most?
Dhanji R. Prasanna: Yeah, so two answers to that. One is you’re definitely right that the more senior and the more junior they are, the more comfortable or the more eager they are to adopt these AI tools. And I think that’s for a variety of reasons, including some of them that you named. I think the senior people really understand in great depth how everything works.
And so they’re almost relieved that this tool exists that can go and do all these things that they’ve done a million times before and couldn’t be bothered. And then the junior people are like my niece and nephew on a BlackBerry or something, they’re just blitzing through things, not BlackBerry in the early days and iPhones now, they’re blitzing through a text message when I’m still seek and destroying through my keyboard, shows you how old I am.
So I think there’s that, but I think the non-technical people using AI agents and programming tools to build things is really what’s been surprising and really amazing. And I think that speaks to how these roles are going to evolve in the future. The lines are going to be blurred between whether you’re in legal or in risk or in engineering and design even. And so I think that the people that are able to embrace it to optimize for their particular work day and their particular set of tasks are really who are showing the most impact from these tools.
Lenny Rachitsky: It’s interesting. No one talks about that element of engineering productivity, which is the reduction of asks from all the other parts of the company to build random one-off things. That feels like a huge productivity gain for engineers.
Dhanji R. Prasanna: It is massive, although I think that it’s a little bit like the analogy of if you build a bigger highway, you’ll just get more cars on the road. So I think the fact that everyone’s building software means that there’s more software to be built, more coordination to happen, and everyone’s more eager to ship things faster and with greater results. And so we’re just seeing an overall uptake in velocity and the ask for more features, if that makes sense. Yeah.
Lenny Rachitsky: Absolutely. And it connects to your point about you’re not slowing hiring. What I’m hearing is just headcount, hiring desires for more engineers, more product people is not slowing at all. You’re basically, it’s as if AI wasn’t really there.
Dhanji R. Prasanna: We’re being more thoughtful about it. So like I said, we were looking at as a commodity in the GM era, and now that we’re functional, it’s much less about how many engineers we need as a function of the number of features we have in Square or Cash App and in the functional org structure, we think of it much more as what are the areas of optimization? Where can we build depth and what really accelerates our priorities through things like modularization reuse and going deep into platforms.
Lenny Rachitsky: I love this hot take of if you’re trying to be more productive, forget AI, just re-org into a functional structure.
Dhanji R. Prasanna: It’s not wrong in some ways. So here’s another really interesting example where we are trying to improve our build times and you were using Goose and a lot of other tools to help us with this too, and they’ve done remarkable things. So we have this really cool tool that analyzes our test suites and selects the right test to run for changes that were made.
So we cut down basically 50% of test runs this way, which is pretty great, and we’re not warming the planet as much with all these unnecessary CPU cycles being wasted on tests. But then things like offloading tests to the cloud or simply just deleting tests that don’t make sense anymore, probably save you two to three times that.
So there is still a portfolio approach that you need to take for lack of a better term. It’s like that example I told you earlier about should we buy a vendor tool? Should we build this in-house? It’s like, “Well, do we even need to do this process at all?” So in some ways, structure matters more than the efficacy of the tools you have.
Lenny Rachitsky: Wise words makes me think about Elon has this whole process for optimize stuff and one of the steps is like, “Do we even need this thing before we start out optimizing and automating it?” Before I zoom out and ask about just general lessons that you’ve learned over the course of your career, is there anything else that you think might be really valuable or useful to folks that are trying to lean in further into AI or just help their teams think a little bit more forward thinking?
Dhanji R. Prasanna: I would say really try and use these tools yourself. So the way in which I think we’ve been able to drive most of the adoption is Jack uses Goose, I use Goose, our executive team all have used Goose and use it regularly and use other AI programming tools and assistance as well, and we do it every single day.
And so we learn a lot about how our own workflow can change, and that’s going to tell you so much more about how are you going to change your organization’s workflow than if you’re reading a bunch of think pieces on LinkedIn or Harvard Business Review or whatever it is, and then trying to get your teams to follow suit. So I think we do this with everything. It’s feel it, use the product yourself, feel it, understand its strengths and weaknesses and its ergonomics, and then figure out how to apply it to your teams.
Lenny Rachitsky: Something I’ve found helpful in doing that, which I completely agree with, which is stop reading about it, stop listening to us talking about it, just build some stuff. The thing that I found really helpful there is have a specific task or problem you want to solve for yourself because that really motivates you and makes it very real.
For example, just the other day, I was trying to pull images out of a Google Doc. Google Doc, it’s like I think of it as Hotel California. You put images in there, but there’s no way to get them back out unless you do some crazy stuff. So I just went to Lovable and like Bill an app, or I can give you a Google Doc URL and let me download the images real easily and bam. Perfect.
Dhanji R. Prasanna: Yeah, great example. I did something like this a couple months ago as well, where my son has a whole bunch of therapies, he has additional needs, and so I was trying to gather the receipts for all these therapies and share them with my wife and she will claim it from our insurer, and I was really struggling to do this because they’re in various forms.
There are screenshots in some cases or PDFs or whatever. So I asked Goose to do this and it was all sitting on my laptop and Goose figured out that it could put all of these receipts into my Apple Notes app into a single note. It converted it to HTML so it would sync seamlessly to my phone and then I could email it or share it with her from there.
And that’s just something I just never would’ve thought of. And it did this using Apple Script, so it just controlled my computer for me in the background. Yeah, so these are surprising ways in which these tools help us, and the more you use them to solve real problems to your point, the more you understand what their strengths are and where you can deploy them.
Lenny Rachitsky: I love this example. So did you just go to Goose and be like, “Here’s the problem I have, how would you solve it?”
Dhanji R. Prasanna: Yeah, pretty much. I said, “I have all these receipts there in Google Drive, so we have similar origin problem there and I need to get them into a single form and I need to collate the totals and do all this.” So it tried a few approaches first. It tried to download them and it tried to read them using a PDF reader and this and that. And then the thing about Goose that I think a lot of the other AI agents learn from us as well is if it tries a few things and fails, it’ll back up and it’ll try a different route and it’ll just keep going until it makes some progress.
And that’s what it did. Then it picked Apple Script as a way to do it because it had the MCP extension to control my computer, and this is the same thing that our engineer, we were talking about the other day uses to watch his screen and things like that, but this was a very focused problem and it managed to do that. So yeah, it’s surprising what these tools can do and allowing them the flexibility to do that is a big part of learning how to use them.
Lenny Rachitsky: That’s cool. I love the, by the way, can you run Goose as a regular person? Can you just download Goose and use that instead of Claude?
Dhanji R. Prasanna: Yeah, absolutely. Yeah. You can just download it from our URL. We can share it in the show notes for you and yeah, you can install it. It comes for Mac and Windows and Linux I believe. It’s an electron app, so it’ll work on all of them. It also has a command line, so for people who are more comfortable using that, we have that UI as well.
Lenny Rachitsky: Wow, you really are competing with these massive foundational model companies building. What’s the simplest way to compare Goose to something else? Is it like this Claude code, this simplest comparison or something else?
Dhanji R. Prasanna: I think it’s a bit different than Claude Code because at its core, Goose is a platform that implements MCPs. So MCPs give it this dynamically extensible nature so it can do all of these things for you, whether it’s automating things like we were talking about with Google Docs and notes and things like that, or it can do straight up programming tasks for you using other MCPs.
It can index code and do it that way. So it’s really more of an extensible platform. So I would say it sits somewhere between your classic AI assistant where you just ask it, “What’s the weather today? Can you calculate how many months it’s been since this date?” Or whatever it is, to the more focused cursors and Claude codes of the world.
Lenny Rachitsky: Basically, it’s everything combined wholly and free. You pay for the LM tokens, but yeah.
Dhanji R. Prasanna: Yeah, there’s not like an open source models which-
Lenny Rachitsky: Oh my God, this is crazy. What a cool team to be on building Goose at Block. Must having must be having so much fun. Oh man. Okay. Let me zoom out a little bit. So you’ve been CTO in LinkedIn right now for just about two years. What’s something that you wish you knew before you stepped in this role? If you could go back a couple years and just whisper a few tips and tricks or lessons into your ear, what would they be?
Dhanji R. Prasanna: I think maybe two different things. One is just the power of Conway’s Law, like we talked about before. It’s like how difficult it is to change outcomes without changing the structure of relationships between people in an organization. And I think I always kind of knew that at some level, but really appreciating it in a visceral way is big. The other thing that I really learned the hard way maybe is you only hear about it when things are going wrong.
So when things are going well, you kind of have this eerie silence and you’re like, “Well, am I doing the right things here? Am I focusing on the right problems?” So having a bit of judgment, having a bit of time to step back and look at things holistically, those are things that you really need to make time for and do on a regular basis, which I wish I had known when I took up the role.
Lenny Rachitsky: Looking back at your time at Block, I keep trying to, I almost say Square because I’m so used to that over the air, but I know Block is the name of the broader company and Square is just one. Just so people understand, Square is one business unit, one product within Block.
Dhanji R. Prasanna: Correct, yeah, we have Square, Afterpay, Cash App and TIDAL are four major brands, and then we also have Bitkey and Proto that are focused on Bitcoin for us and we chip hardware in those two brands.
Lenny Rachitsky: Okay, great. I think that some people are like, what are you guys talking about? Okay, cool. So reflecting back on your time at Block, what’s maybe the most counterintuitive lesson you’ve learned about building products or building teams that goes against what most people believe, say common startup wisdom?
Dhanji R. Prasanna: I think code quality is one. Being an engineer. I learned this very early on and it keeps coming true over and over and over again. A lot of engineers think that code quality is important to building a successful product. The two have nothing to do with each other, but my favorite example is YouTube. I was working at Google around the time YouTube was acquired and I just remember there was this whole wash of angst about how horrible the YouTube code base is and how terrible their architecture is, and they’re storing videos as blobs in MySQL and whatnot.
And you could argue that YouTube is the most successful product at Google by a long way, maybe more successful than many of their others combined. And so it really has very little to do with how well it was architected because the flip side of that Google video, which is product that I don’t know if people remember, it existed before YouTube. It supported more formats, it supported higher resolution.
You could upload hour long videos, YouTube had none of this. It just had the one or two minute quick video thing and it’s far and away, blown away its competition. And so I think just keeping that front and center is why are we building these tools or these apps or these products? They’re for people to solve a specific problem. So in our case, it’s for a square merchant to make a sale, to sell coffee to you or to sell something they’ve made. And that’s really what’s important.
It’s not really important how well our Android platform performs unless it’s serving that need. And so I think that’s been a really hard one for me over my career. And I continually encounter engineers who think we need to refactor, we need to do this in a better way. And then I’m like, “No, all this code could be thrown away tomorrow. So just focus on what we’re trying to build and whom we’re trying to build for.”
Lenny Rachitsky: That is an incredible insight and lesson. This YouTube story is so fun and such a good example. You’re saying they were storing the video content in a MySQL set like row and column as a blob data.
Dhanji R. Prasanna: Yeah, this is what, I didn’t actually look the code so I couldn’t verify it, but this was the common wisdom. And then they had an entirely Python stack that was incredibly slow compared to the state-of-the-art C++ and Java servers that we had hyper-optimized at Google back in those days.
Lenny Rachitsky: That is hilarious. It makes me think about also companies when you look inside a company, if you work at a company, you’re just like, “This is just pure chaos. No one knows what’s going on. This is just about to all fall apart.” And that’s basically what it’s like at every successful hyper-growth company.
Dhanji R. Prasanna: Yeah, there’s some truth to that for sure. Yeah.
Lenny Rachitsky: And so I think again, it’s just there’s so much more that is more important to the success of a business. And it’s what you said is are you solving a real problem for people? Can you get in their hands? Can you continue solving real problems for them? It’s not about the quality of the code, it’s not how well you operate internally.
Dhanji R. Prasanna: Absolutely. I think on Cash App we had that as well. So in the early days of Cash App, I was head of engineering from when we were about 10 engineers to 200 plus and took us to about 10 plus or 20 million users thereabouts. And there was a very similar thing there. From the outside it looked like everything was really chaotic. It’s like people would build random experiments and ship them and it just didn’t look like we were following strict policies on things like software life cycle and stuff like that, and it was kind of true.
And my philosophy was always, we have all these brilliant engineers and I’m going to do more harm than good by trying to harness them into very strict blinkered areas. If they want to spin their wheels building something that is a complete waste of time for a little bit. But at the same time, if they’re delivering these amazing things on the flip side, then I’ll almost allow that. I’ll be okay with that.
And it’s a fine balance because engineers can really go off and into rabbit holes if you let them. But yeah, there’s a certain amount of creativity that chaos breeds and you have to know how to build controlled chaos in some ways. So you have to create a foundation that isn’t liable to rupture. You have major liability problems or something like that, or you’re going to lose money in our case. And so as long as those things are bedded down and you allow your engineers to have the freedom to experiment and iterate and do the things that energizes them, that’s the ideal.
Lenny Rachitsky: Speaking of controlled chaos, one of your titles during your time at Block, I guess this was while you were actually at Square, was Mad Scientist for four and a half years.
Dhanji R. Prasanna: Yeah, that was a time when I was working part-time, mostly because I had very young kids with lots of additional needs and I was a consultant on various different projects and I was trying to help some wacky things get off the ground. And yeah, I’m really grateful to Block that they afforded me the freedom to have that role in my career as well.
Lenny Rachitsky: Maybe one more question before I take us to Fail Corner, which I’ll explain. So you’ve shared a few lessons of things you’ve learned over the course of your career. Are there any other, just let’s say core leadership lessons that you’ve learned that you think have been important to you being successful at the work that you’ve done?
Dhanji R. Prasanna: I think start small with everything. If you try to boil the ocean to make a cup of tea, I don’t know who said that, but it’s a really a useful phrase that I keep coming back to. You’ll never get there. So if you’re making a cup of tea, just make the cup of tea. You don’t need to boil all the water that there is.
Lenny Rachitsky: That sounds like really not delicious tea. Ocean water.
Dhanji R. Prasanna: Yeah, I think there’s another one of, I think Carl Sagan said, “If you want to make an apple pie from scratch, you have to first invent the universe.” So it’s like narrow your scope to the thing that’s in front of you and that’s achievable. And so that I think is really important and that’s one of our core tenets and always has been even when we were just Square in the early days, start small.
Lenny Rachitsky: Is there an example that maybe worked really well or maybe didn’t work?
Dhanji R. Prasanna: Yeah, Goose started small. It was just an engineer working on their own time trying to build something that was useful and that satisfied a thesis that they had. So Brad, our creator of Goose, believed very early on, I think long before we heard the buzzword going around that agents would be how we unlock value from LLMs. And he built a proof concept and he shared it with a bunch of people. He shared it with Databricks and Anthropic, got them excited and learned a lot from them.
And so it just sort of built momentum from there. And even internally, it was quite a similar thing. Cash App itself was like that and Cash App started more or less as a hack week sort of idea and grew into a bigger and bigger and bigger thing. So a lot of our projects start with these small experiments that we try to then build on top of. We became the very first company that was a public company to launch a Bitcoin product. And that was again a hack week idea that actually Jack and me and another engineer worked on.
Lenny Rachitsky: That was the hackathon team? You and Jack Dorsey and an engineer?
Dhanji R. Prasanna: Yeah, it was the three of us.
Lenny Rachitsky: Unreal.
Dhanji R. Prasanna: Yeah, and it was great. We went and bought a cup of coffee, a blue bottle, and it was bought using Bitcoin over cash card. And I’ll tell you those in hindsight, probably the most expensive cup of coffee.
Lenny Rachitsky: What was Bitcoin at? 20,000?
Dhanji R. Prasanna: I think it was 6,000 or 7,000 back then. I don’t know.
Lenny Rachitsky: It’s like 120,000 now. Great.
Dhanji R. Prasanna: But yeah, it’s an example of how you get to a working useful product to people if you focus on a small thing first in a build.
Lenny Rachitsky: And just to double down on this counter too. “Okay, we have a big idea, we’re just going to put a bunch of resources on it and go big immediately.”
Dhanji R. Prasanna: Yeah, absolutely. And I’ve been part of teams like that too. So in my career, I worked at Google on this product called Google Wave, which was trying to be everything to everyone and we were 70, 80 engineers building this thing before it even really had any users outside Google. And so I think that’s an example of something that started big, tried to go big on day one and probably lacked some of that meeting the earth where reality lies and adapting accordingly.
Lenny Rachitsky: I remember Google Wave. Absolutely. It was beautiful. A lot of hype. I don’t remember what it was for specifically, but it looked really nice.
Dhanji R. Prasanna: Yeah, a lot of learnings from that one for me. Yeah.
Lenny Rachitsky: What else? Any other big lessons?
Dhanji R. Prasanna: Those two are the big ones, but I would also say question base assumptions on everything. Sometimes we get into traps where we are as professionals, hyper focused on what we’re building that day, that week, that month. And we don’t stop to think should we even build this at all? Or what’s the purpose of building this?
Could we build something completely different that would matter more to our core reason for being? So I would say, yeah, question the sort of base assumptions. It’s somewhat of a cliche, but you really need to remind yourself to apply it over and over and over again.
Lenny Rachitsky: I had a colleague of yours on the podcast back in the day, IO, who worked with you on Cash App.
Dhanji R. Prasanna: Yeah.
Lenny Rachitsky: He’s a friend of mine, he’s amazing. He had a quote along those lines of just like, I forget exactly what it was, but it was just get to the bare metal of the thing that you’re working on, just touch the thing that you’re building and go to the base of it to really understand what’s going on. And I imagine that was really important with Building Cash App and Cash Card.
Dhanji R. Prasanna: Yeah, IO is one of the best product people I’ve ever worked with and one of my closest friends actually. So absolutely with him, and you on that one, yeah.
Lenny Rachitsky: Okay. I’m going to take us to a recurring segment on the podcast I call Fail Corner. You already shared one example of a product that failed that you worked on. I’m curious if there’s another, and the question is just what’s the product you worked on that did not work out? Because people listening to this hear all these amazing successful people come on the podcast, share all these stories of success, endless success, but they don’t hear the stories when things don’t work out. And so this question is just, “What’s a product you worked on that didn’t work out and what did that teach you?”
Dhanji R. Prasanna: It’s a very valuable point. My career has basically been a string of failed product on top of failed product. And I think that, “Yeah, the Google wave example’s there.” I worked for Hot Minute on Google+, which was another epic failure.
Lenny Rachitsky: Good one.
Dhanji R. Prasanna: I worked at this social networking startup called Secret, which burned hot for a bright minute and then blew up. And then there was an email startup that we did, and that was, again, very promising, and then that fizzled. So the co-founder of Canva and I worked on that one. So there’s been a whole string of failures, but at each point, I think I learned something and I learned that I need to never make that class of failures or errors again.
And so Cash App was probably the big success for me that a product that I worked on that was very early on and grew to be this giant business and product that people love. So yeah, been my career is essentially taking the learnings from all these failures, getting some humility out of it in the process too, coming into things, willing to listen to other people’s points of view, critical points of view, and not just thinking that I have all the answers, yeah.
Lenny Rachitsky: And I bet all these products that failed had really beautiful code. A lot of really good architecture decisions were made. Some of them, some of them were awful in every way. So many reasons for it to fail. Incredible. Dhanji, is there anything else that you wanted to share or I don’t know, double down on before we get to our very exciting lightning round?
Dhanji R. Prasanna: I would say I think that we’re in this era of a lot of change and people are scared or reticent or uncertain about where things are going. And I think that look at the things that matter to you. For us, it’s open source, open protocols, improving access for everyone. I’ve been very lucky in my career to only work on products that are either free or almost free to anyone or they have a free tier and then you pay for some premium services and that are usable by everyone. So anyone can become a Square seller.
I remember even in the early days, people used it to pay each other as a peer-to-peer money transfer system and that’s why we built Cash App and that was really successful on the back of that. So I think it’s really look at the things that are important to you and optimize for them. It’s not really that important that the technology trends are growing in a certain way because technology is here to serve us, and if we have an important reason for being and an important purpose, then we can make that technology serve us. And that’s much more important than being deep with the technology or being at the forefront of every trend.
Lenny Rachitsky: Such great advice when there’s so much to pay attention to and so much happening. So stressful to feel like I’m just not aware of all the things. I’m not as good as all these people I’m seeing on social media, but what’s happening with AI, I’m just so behind. What I’m hearing from you is just like what is actually important to you? And just do that. Don’t feel like you need to be the best at everything that’s happening on top of all the latest AI news.
Dhanji R. Prasanna: Yeah, exactly. And if it’s not meaningful and fun, then you shouldn’t be doing it probably.
Lenny Rachitsky: With that Dhanji, we’ve reached our very exciting lightning round. I’ve got five questions for you. Are you ready?
Dhanji R. Prasanna: Okay. Shoot.
Lenny Rachitsky: I see so many books behind you. So I love this first question. I’m excited to see what you pick. What are two or three books that you find yourself recommending most to other people?
Dhanji R. Prasanna: Yeah, so I very much of the opinion that you shouldn’t read books that are about your daily work or your professional life. I read fiction, I read the classics, I read poetry, philosophy, history. These are the books I really enjoy. And I think it expands your mind and gives you creative ideas and helps you question things about the human condition.
And that’s much more valuable than some self-help book or some get good at being an engineering manager book. So yeah, having said that, the Master in Margarita by Mikhail Bulgakov is one that I really love. It’s a masterpiece of Russian literature. And then I’ve always been drawn to Tennyson’s poetry and I find that in the times when I’m most uncertain or grieving, Tennyson’s poetry has always resonated with me and helped me find a center.
Lenny Rachitsky: Wow. Never heard these recommendations before. I’m really excited to check these out. Very cool for a CTO of a big tech company. What is a favorite recent movie or TV show you’ve really enjoyed?
Dhanji R. Prasanna: Alien Earth I think is pretty awesome. It’s by Noah Hawley who did the Fargo TV series. And so it’s someone with all of these incredible skills in high art filmmaking who’s doing a pulp sci-fi show, and it just looks stunning and it feels stunning and it captures all of that essential alien pulpiness that makes it so interesting and fun. So I really like that, and I’m also watching Slow Horses, which I think is one of the better shows on TV.
Lenny Rachitsky: Love Slow Horses. The new season’s Out, think the fifth episode just dropped the day we’re recording this. So I love that show. Alien Earth also just watched it, so creepy and just like all these slimy, gooey little creatures just crawling around.
Dhanji R. Prasanna: Yeah, I just love the aesthetic and they captured something essential about the original Alien and yeah, they do it, but every scene in Alien Earth feels like you’re watching a painting or something or someone’s reading a novel to you. It’s really unfolds very thoughtfully.
Lenny Rachitsky: I’ve never watched any alien content in my life and I really enjoyed Alien Earth. I will say the ending, I was just like, it felt like it kind of slowed down a bit. I’m just like, “All right, I guess I see where it’s going now.” But it was really fun to watch. Okay, next question. Do you have a favorite product you really enjoyed? Sorry, a favorite product you’ve recently discovered that you really enjoy? It could be an app, could be an gadget, could be some kitchen thing.
Dhanji R. Prasanna: Well, I’m a gamer. I love playing games. So for me it’s the Steam Deck, the Steam Deck OLED, which is their latest version. It’s like this gorgeous piece of hardware that lets you play the best games out there, but it’s totally extensible and customizable. And in this era where we’re constantly told by big tech companies that we need to lock everything down, we need to lock down the user experience and customizability in order to have things work for people.
I think Valve showed that’s totally unnecessary and totally wrong, and you can build the Steam Deck. You can install competing app stores, you can install Windows on it. You can treat it like a computer, write programs, which I have done to run on it. So yeah, I think it’s an incredible thing and it looks beautiful and it works great. So yeah, big fan.
Lenny Rachitsky: Do you have a favorite life motto that you find yourself coming back to often in work or in life?
Dhanji R. Prasanna: If you’re not waking up in the morning feeling energized about what you’re going to do that day in your professional life, then change something, quit if that’s what it comes down to, or find a new way of doing what you’re doing. Just don’t accept what’s meted out to you. So that’s how I’ve tried to do things, and sometimes it works, sometimes not, but yeah, it’s a good thing to ask yourself.
Lenny Rachitsky: I really love this advice. It’s really hard to do that for a lot of people. Is there anything that has helped you get over that fear of just like, “Oh man, I’m going to quit this thing. I don’t know where I’m going to go next.”
Dhanji R. Prasanna: The main thing is telling yourself that a year from now, you’re going to look back on what looks like a monumental problem, a life-changing thing, and you’re going to be like, “Oh, that was so trivial.” A lot of times we get into these traps where we’re overthinking something or really nervous about making a change, but in hindsight, those don’t seem that big.
And all the time that’s passed since and all the events that have happened teach you that there’s more to the world and it’s never too late to do something useful or never too late to do something that’s for yourself and improving yourself. So yeah, I think just kind of remembering that things are not as big or bleak or decisive as they seem in the moment is always important.
Lenny Rachitsky: Final question. So you were a mad scientist at Square for many years. Do you have another favorite mad scientist from pop culture or real life?
Dhanji R. Prasanna: That’s an interesting one. I think the image that always comes to my mind is Doc Brown from Back to the Future. I feel like he’s the canonical mad scientist of my generation anyway, but there’ve been a lot in video games and stuff too, but he was the one that was like, “I’m just going to do this crazy thing because I almost have this burning desire, need to do it, and whether I want to or not, I must build this time machine.” And he spends the entire movie trying to fix the problems that it creates. But yeah, he has always been a really fun character for me.
Lenny Rachitsky: You know what? I think about Pinky from Pinky in the Brain.
Dhanji R. Prasanna: Oh yeah, that’s a good one too. Yeah.
Lenny Rachitsky: Oh man. Dhanji, this was awesome. You were wonderful. Thank you so much for being here. Two final questions before we actually wrap up. Where can folks find you online if they want to reach out, learn more about say Goose or anything else going on at Block? And how can listeners be useful to you?
Dhanji R. Prasanna: Check out our GitHub pages for Goose and all of the other open source projects we have at Block. So there’s a lot that’s useful there. We do a lot on Android open source as well, so check that stuff out. You can always find me on LinkedIn, so feel free to connect. I’m very happy to be contacted.
And I would say the way people can be useful is, again, going back to this era we’re in of a lot of change and uncertainty, I think people that demand more of their companies, of their employers, of their teams, demand something better. At Block, we always ask, “Can we default to making this open source? Can we build this for people that are not just us or our customers? Can everyone benefit?”
And I think that’s particularly important in this era of AI where everyone’s locking themselves in walled gardens and trying to capture parts of the platform that are emerging. So yeah, just demand more of people. The internet was created as a promise for open sharing of information to the benefit of all, and I think that AI should realize that for us. And so yeah, just demand that of people.
Lenny Rachitsky: A really beautiful way to end it. Dhanji, thank you so much for being here.
Dhanji R. Prasanna: Thank you, Lenny. I really appreciated it. Thank you.
Lenny Rachitsky: I appreciate you.
Dhanji R. Prasanna: Cheers.
Lenny Rachitsky: Bye everyone. Thank you so much for listening. If you found this valuable, you can subscribe to the show on Apple Podcasts, Spotify, or your favorite podcast app. Also, please consider giving us a rating or leaving a review as that really helps other listeners find the podcast. You can find all past episodes or learn more about the show at lennyspodcast.com. See you in the next episode.
Glossary
| English | 中文 |
|---|---|
| Afterpay | Afterpay(Block 旗下的先买后付服务平台) |
| agent | 代理(agent) |
| AI-native | AI 原生 |
| Alien Earth | 《异形:地球》(科幻剧集) |
| Anthropic | Anthropic(AI 公司,不做翻译) |
| Back to the Future | 《回到未来》(经典科幻电影) |
| Block | Block(公司名,前身为 Square) |
| blue bottle | 蓝瓶咖啡(Blue Bottle Coffee) |
| Brad | Brad(Goose 的创造者,人名保留原文) |
| Canva | Canva(在线设计平台,保留原文) |
| Carl Sagan | 卡尔·萨根(美国天文学家、科普作家) |
| Cash App | Cash App(Block 旗下的移动支付应用) |
| Cash Card | Cash Card(Block 旗下的借记卡产品) |
| CoderPad | CoderPad(在线编程面试平台) |
| Conway’s Law | 康威定律(Conway’s Law) |
| Cursor | Cursor(AI 代码编辑器) |
| Databricks | Databricks(数据与 AI 平台公司) |
| Doc Brown | 布朗博士(《回到未来》系列电影中的经典角色) |
| Fargo | 《冰血暴》(Noah Hawley 执导的电视剧) |
| GM | GM(General Manager,总经理) |
| Google Wave | Google Wave(Google 推出的一款实时协作通信平台) |
| Goose | Goose(Block 开发的通用 AI 代理工具) |
| Gosling | Gosling(Block 开发的移动端自动化测试工具) |
| Greenfields | Greenfields(全新、无遗留代码的项目) |
| hack week | 黑客周(hack week,公司内部的创新马拉松活动) |
| Hotel California | Hotel California(《加州旅馆》,老鹰乐队经典歌曲,此处比喻”容易进入但难以离开”) |
| IC | 个人贡献者(IC) |
| IO | IO(人名,保留原文) |
| Jack | Jack(指 Jack Dorsey,Block 联合创始人兼 CEO) |
| LLM | 大语言模型(LLM) |
| Looker | Looker(商业智能与数据分析平台) |
| Lovable | Lovable(AI 应用构建平台) |
| Mikhail Bulgakov | Mikhail Bulgakov(俄罗斯作家,保留原文) |
| Model Context Protocol / MCP | 模型上下文协议(MCP) |
| Noah Hawley | Noah Hawley(美国编剧、制片人,保留原文) |
| Ollama | Ollama(本地运行大语言模型的开源工具) |
| Pinky and the Brain | 《Pinky and the Brain》(美国动画剧集,保留原文) |
| PR | PR(Pull Request,代码/命令不翻译) |
| QA | QA(质量保证,Quality Assurance) |
| Salesforce | Salesforce(企业 CRM 平台,不做翻译) |
| Secret | Secret(社交网络创业公司,保留原文) |
| Slow Horses | 《流人》(Apple TV+ 间谍剧) |
| Snowflake | Snowflake(云数据平台,不做翻译) |
| Steam Deck | Steam Deck(Valve 推出的便携式游戏掌机) |
| Tableau | Tableau(数据可视化平台) |
| Tennyson | 丁尼生(英国桂冠诗人 Alfred, Lord Tennyson) |
| TIDAL | TIDAL(Block 旗下的音乐流媒体服务) |
| Top Gun | 《壮志凌云》(1986 年美国电影) |
| Valve | Valve(游戏公司及 Steam 平台的母公司,保留原文) |
| vibe code | vibe code(一种通过自然语言提示让 AI 生成代码的编程方式) |
| 《大师与玛格丽特》 | Mikhail Bulgakov 的长篇小说 The Master and Margarita 的中文译名 |
Reformatted by reformat_english.py