Miadi Review

Software Fundamentals in the Age of AI — Matt Pocock

Aug 31, 2026 · model: manual-import · channel: AI Engineer

Watch source

In the chronicle

Software Fundamentals in the Age of AI — Matt Pocock

Video URL: https://youtube.com/watch?v=v4F1gFy-hqg&si=K838HNaa5eB187aJ

Manual source: http://simp.ly/publish/C6L6q3 Resolved source: https://app.simplenote.com/publish/C6L6q3 Source title: Software-fundamental-Matt-Pocock-26082715 - Miadi-Review

William's Intent, potential Usage and questions

Questions

  • How will our agents know and be capable to use the shared-vocabulary? How will it be enforced?
  • How will my work (William) with Mia in ⟐ ep 339 relation-to-mia-on-mobile-devops will help advance the work on vocabulary? (My understanding is that we are creating an extension from which she revise and ensure editorial quality output)
  • Is this review and topic ontological?
  • How will this affect our whole miadi eco-system so that we have adequate language/vocabulary? (ex. usage of the word "Universe" since december 2025 has lead to some confusion that we might work on influence by the values of this review)

Shared Vocabulary

  • the section bellow I had created 'Operationalizing Ubiquitous Language' touches something important it seems at the low level and first steps.
  • It will relate heaviely to review: 09de3362-2418-4172-8250-fdcd913c0aa0 Agentic Engineering Operating Level 260831 IndiDevDan edit that really has a good content to help review and prepare the next scenarios of upgrades of the whole packages that I have created and am quite confused in what comes next, what should I do... feeling that I am already having what I need but dont know where it is or dont have what is efficient for my agent to know or have to give too much references to the context when the agent would have what it needs in terms of documentation to know where we are now todo the work on what next.
  • ...

Operationalizing Ubiquitous Language (8:26–9:45)

Beyond simply defining concepts, the ubiquitous language functions as a high-fidelity bridge between human intent and machine execution. By formalizing this shared vocabulary into a Markdown file (9:00), developers create a living document that serves as the "source of truth" for both themselves and the AI.

  • Dynamic Alignment: This file acts as a structured repository of business and system terminology. When this document is provided to the AI, it constrains the agent’s reasoning within the project's specific domain model.
  • Efficiency Gains: By utilizing this shared library, the AI becomes significantly less verbose. It no longer needs to "guess" at terminology or context; instead, it adopts the precise language already established, leading to implementation code that is more concise, predictable, and aligned with architectural goals (9:25–9:42).
  • Workflow Integration: Treating the ubiquitous language as a project asset ensures that every AI-generated task remains consistent. As the codebase evolves, this document is updated, maintaining a continuous feedback loop that minimizes the risk of semantic drift in the generated code.

Our types

  • @medicine-wheel/ontology-core
  • @miadi/episodic-memory-schema

Episodes that use this review

Summary

In this talk, Matt Pocock contends that software fundamentals are more critical than ever in the age of AI-assisted development. He argues that rather than delegating entirely to AI, developers must retain strategic architectural control by applying proven principles like Domain-Driven Design, Test-Driven Development (TDD), and the creation of deep, well-modularized codebases. By treating AI as a tactical partner and utilizing techniques like the "Grill Me" method (5:50) to ensure shared design intent, engineers can prevent the pitfalls of unmanaged "specs-to-code" workflows and instead maintain scalable, maintainable, and testable systems. Ultimately, Pocock emphasizes that high-quality code is a vital long-term investment necessary to fully leverage the power of AI agent swarms.

Data points

The video outlines a strategic framework for developers to effectively work with AI, emphasizing that foundational engineering principles are more vital than ever in this new era.

The Specs-to-Code Trap (1:08–4:20)

Attempting to automate development by merely refining specifications and running compilers repeatedly often leads to software entropy and unmanageable, complex code. Pocock argues that code is not cheap and that high-quality, maintainable design remains a crucial investment that AI cannot replicate on its own.

Establishing Shared Design Intent (4:23–7:20)

AI often fails to align with developer goals due to communication gaps. The "Grill Me" method (5:50) encourages developers to force the AI into a relentless interviewing process. By walking down the design tree together, both parties reach a shared "design concept" before any actual code is generated.

Ubiquitous Language for AI (7:22–9:45)

To combat verbosity and misalignment, developers should establish a ubiquitous language. Using Domain-Driven Design principles, creating a markdown file of shared terminology helps the AI understand the domain model, leading to more concise and accurate code generation that stays aligned with the intended requirements.

Feedback Loops and TDD (9:48–12:15)

AI often attempts to do too much at once, "outrunning its headlights." Implementing Test-Driven Development (TDD) (11:15) acts as a necessary feedback loop. By writing tests first, developers force the AI to take small, deliberate, and verified steps, ensuring that the code functions correctly as it is built.

Deep Modules and Architecture (12:17–15:05)

To improve testability and AI navigation, code should be structured into fewer, larger "deep modules" rather than many shallow ones. This architecture hides complexity behind simple interfaces, allowing the AI to handle implementation details within clear, manageable boundaries while the developer maintains control over the system's overall structure.

Strategic Oversight (15:08–18:05)

Developers must act as the strategist, designing high-level interfaces and treating modules as "gray boxes" (15:45). By focusing on the architecture and delegating implementation to the AI, engineers can prevent burnout, maintain their cognitive load, and ensure the system remains robust and scalable over time.

Core Aspect: Gray Box Architecture

The core strategy involves structuring your codebase into few, large, and deep modules with simple, well-defined interfaces. This allows you to treat these modules as "gray boxes" where you focus on designing the interface while delegating the internal implementation details to AI agents (15:35–16:20).

Implementation and Result: Strategic Oversight

By implementing this modular approach, you transform your development workflow from tactical code generation to strategic architecture design:

  • Reduced Cognitive Load: You no longer need to keep the entire implementation in your head. You focus on the purpose and the boundary of the module, saving your mental energy for higher-level design (15:05–15:45).
  • Superior Testability: Since the internal complexity is hidden behind simple interfaces, you can reliably test the system from the outside.
  • This creates a codebase that naturally rewards Test-Driven Development (TDD) (14:50–15:00).
  • AI Synergy: This architecture helps the AI navigate your code effectively. With clear boundaries and well-documented interfaces, the AI spends less time guessing and more time executing within the specific, controlled scope you have defined (13:37–14:20).

Academics

Developing software with AI agent swarms requires an interdisciplinary approach, drawing from several foundational academic fields to ensure systems remain robust, maintainable, and aligned with human intent.

Software Engineering

This field focuses on the systematic application of engineering principles to the design, development, and maintenance of software systems. In the context of AI, it provides the essential rigorous structure and architectural methodologies, such as modular design, to prevent software entropy and manage the complexities introduced by autonomous agents (12:17–15:05).

Artificial Intelligence and Machine Learning

These disciplines study the creation of autonomous, context-aware systems capable of performing complex tasks. While they provide the underlying models and agent frameworks used for code generation, this video highlights that they must be harnessed through disciplined engineering practices rather than treated as a replacement for architectural design (17:25–17:40).

Software Design and Architecture

This field concerns the high-level structural decisions that govern how components of a system interact. It emphasizes concepts like "deep modules" and interface design, which are critical for allowing AI to handle implementation details within safe, clear boundaries (12:43–13:04).

Domain-Driven Design (DDD)

DDD is a strategic software development approach that aligns the system's architecture and terminology with the specific business or problem domain. By fostering a "ubiquitous language" between human developers and AI, it significantly reduces communication gaps and ensures that code remains aligned with real-world requirements (8:13–8:57).

Sources