How Block is becoming the most AI-native enterprise in the world | Dhanji R. Prasanna
Donji Prasana, CTO at Block, discusses their company's AI-native transformation, including their open-source AI agent "Goose" which saves employees 8-10 hours weekly. He shares insights on cultural shifts, measuring AI impact, and future work paradigms.
Deep Dive Analysis
17 Topic Outline
The AI Manifesto: Convincing Jack Dorsey to Prioritize AI
Transforming Block into an AI-Native Technology Company
Shift from GM to Functional Organizational Structure
How Engineering Teams Work Differently with AI Tools
Introducing Goose: Block's Open-Source AI Agent
Measuring AI Productivity Gains Across Teams
Goose's Functionality and the Model Context Protocol
The Future of Engineering with Autonomous AI Agents
The Importance of Human Taste in AI Development
Strategic Decisions: Building Internal Tools vs. Buying SaaS
Impact of AI on Hiring Practices and Team Structure
Leadership's Role in Driving AI Adoption: Use the Tools
Personal Problem-Solving with AI Agents
Counterintuitive Lessons in Product Development: Code Quality
Embracing Controlled Chaos in Engineering Teams
Core Leadership Lessons: Starting Small
Lessons Learned from Product Failures
4 Key Concepts
Conway's Law
Conway's Law states that organizations design systems that mirror their own communication structure. The episode highlights that a company's organizational structure and operating model significantly influence the products it builds and its ability to adopt new technologies like AI.
Model Context Protocol (MCP)
The Model Context Protocol is a set of formalized wrappers around existing tools or capabilities, such as Salesforce or SQL. It exposes these tools to Large Language Models (LLMs), enabling the LLMs to manipulate and act upon them, effectively giving the AI 'brains, arms, and legs' to interact with the digital world beyond just chat.
Goose
Goose is Block's general-purpose, open-source AI agent, available as a desktop tool. It allows users to interact with it like a chatbot to perform diverse tasks, from organizing files and generating reports to writing software, by orchestrating actions across various enterprise systems using the Model Context Protocol.
Vibe Coding
Vibe coding refers to the process of building software by interacting with a chatbot. The episode describes it as a 'ping-pong' interaction where a human provides prompts, receives a partially complete response, and then iteratively guides the AI to refine the output.
7 Questions Answered
Goose is a general-purpose, open-source AI agent developed by Block that acts as a desktop tool, allowing users to interact with it like a chatbot to perform various tasks, including writing software and orchestrating actions across different enterprise systems using the Model Context Protocol.
Block measures AI productivity by tracking self-reported hours saved per week by employees using AI tools, validating this with metrics like PRs and feature throughput, and using data scientists to distill these into a meaningful formula across the company.
Non-technical people using AI agents to build software tools for themselves are showing the most surprising and energizing impact. Senior engineers also benefit by offloading repetitive tasks, while junior engineers are quick to adopt and utilize these new tools.
Engineering work will involve more autonomous AI agents working continuously to build multiple experimental solutions. Engineers will focus more on describing desired outcomes and will be able to throw away large amounts of AI-generated code, potentially rewriting entire applications from scratch rather than just refactoring.
Code quality has very little to do with product success; instead, focusing on solving a real problem for people and getting the product into their hands is paramount, even if the underlying code is not perfectly architected.
Leaders should actively use AI tools themselves daily to understand their strengths, weaknesses, and ergonomics, as this firsthand experience provides invaluable insight into how to change an organization's workflow and encourage adoption.
A functional structure, where all engineers report to one engineering leader and all designers to one design leader, fosters a singular focus on technical depth, shared language, common tools, and aligned technical strategy, preventing identity drift and promoting technical excellence.
27 Actionable Insights
1. Reorganize to Functional Structure
Shift from a General Manager (GM) structure to a functional organizational structure, where all engineers report to a single engineering leader. This is key to driving technical depth and company-wide AI adoption.
2. Embrace AI for Specific Tasks
Actively embrace AI tools to optimize your particular workday and specific tasks. People who do this are showing the most impact from these new technologies.
3. Prioritize Technical Excellence
Make advancing technical excellence a core company goal and focus. This involves getting back to thinking like a technology company and putting engineering and design first.
4. Automate Company-Wide with AI
Set company-wide AI automation as a top priority, aiming to integrate AI forms of automation throughout the entire organization. This is seen as just the beginning of AI’s utility.
5. Empower Non-Technical Teams with AI
Enable non-technical teams to build their own software tools using AI agents, compressing weeks of work into hours. This has been a surprising and energizing use of AI within Block.
6. Leadership Uses AI Daily
Drive AI adoption by having leadership and executives actively use AI tools themselves on a daily basis. This helps them understand workflow changes and integrate AI effectively.
7. Question Base Assumptions Constantly
Consistently question the fundamental assumptions behind processes and tools, asking if a project should be built at all or if a different approach would better serve the core purpose. This helps avoid unnecessary complexity and work.
8. Focus on Core Company Purpose
Always come back to your company’s core purpose and avoid distractions, especially when considering building in-house tools. If a solution doesn’t clearly serve that purpose, it might not be worth the mental bandwidth and technical focus.
9. Start Small, Iterate Rapidly
Begin projects with small experiments and narrow your scope to achievable tasks, avoiding the temptation to ‘boil the ocean.’ This approach allows for building momentum and adapting based on early learnings.
10. Hire for AI Adaptability
When hiring, prioritize candidates with a learning mindset who are eager to embrace and learn AI tools. This is more important than specific AI practitioner skills from the outset.
11. Anchor AI with Human Judgment
Use human taste and judgment to anchor AI outputs, ensuring they align with user value and avoid generic or ‘AI slop.’ This is crucial for maintaining quality and relevance.
12. Leverage AI for Overnight Experiments
Describe multiple different experiments in detail to AI agents, allowing them to build solutions overnight. This enables rapid iteration and the ability to discard less effective options quickly.
13. Be Willing to Discard AI Code
Develop a willingness to discard large amounts of AI-generated code if it doesn’t feel exactly right. This fosters a culture of rapid iteration and experimentation.
14. Automate UI Tests with AI
Utilize AI agents for automating UI tests, which can save significant time and resources compared to manual testing. This can be achieved by having AI operate the OS at a native level.
15. Focus Senior Engineers on Complexity
Direct senior engineers to focus on complex architecture, design, race conditions, and orchestration, as these are areas where AI still underperforms humans. AI can handle more routine tasks.
16. Avoid Blind AI Tool Application
Do not simply throw AI tools at giant codebases hoping for good things to happen. Instead, apply AI strategically to areas where it is most efficacious and adaptable to its evolving value.
17. Utilize Open-Source AI Agents
Download and extend open-source AI agents like Goose, which are built on open protocols, to integrate with existing enterprise tools. This allows for rapid AI orchestration across systems.
18. Experiment with Proactive AI Agents
Explore using AI agents that observe your workflow (e.g., screen activity, conversations) and proactively suggest or perform tasks to improve productivity. This can include anticipating needs or nudging you out of conflicts.
19. Automate Routine Personal Tasks
Use AI agents to automate complex personal tasks by orchestrating across different applications and APIs. An example is collecting and organizing receipts from various sources into a single, shareable format.
20. Allow AI Agents Flexibility
Give AI agents the flexibility to try multiple approaches and iterate until a solution is found, especially when initial attempts fail. This allows them to make progress on complex problems.
21. Understand Conway’s Law
Recognize that your organization’s communication structure will inevitably be reflected in the structure of the systems you build. Changing outcomes often requires changing the relationships and structure within your teams.
22. Regularly Step Back & Assess
Make time on a regular basis to step back and assess things holistically, applying judgment. This is crucial for ensuring focus on the right problems, especially when things are quiet.
23. Prioritize User Problems Over Code
Focus on solving real problems for people and getting products into their hands, rather than prioritizing perfect code quality or architecture. Product success has little to do with internal code elegance.
24. Foster Controlled Chaos
Create a foundation of reliability, then allow brilliant engineers the freedom to experiment and iterate, even if it sometimes leads to ‘waste of time’ projects. This can breed creativity and amazing results.
25. Demand Open Source & Broad Benefit
Demand that companies default to making solutions open source and building for the benefit of everyone, not just internal teams or customers. This aligns with the internet’s promise of open sharing.
26. Prioritize Meaningful & Enjoyable Work
If your professional life isn’t meaningful and fun, reconsider your involvement or make a change. Don’t accept a status quo that doesn’t energize you.
27. Overcome Fear of Change
Remind yourself that what seems like a monumental, life-changing problem in the moment often appears trivial in hindsight. This perspective can help overcome the fear of making necessary changes.
5 Key Quotes
A lot of engineers think that code quality is important to building a successful product. The two have nothing to do with each other.
Dhanji R. Prasanna
The non-technical people using AI agents and programming tools to build things is really what's been surprising and really amazing.
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. Like quit if that's what it comes down to, or find a new way of doing what you're doing.
Dhanji R. Prasanna
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.
Lenny Rachitsky
If you wish to make an apple pie from scratch, you have to first invent the universe.
Dhanji R. Prasanna