Home GOTO Experts Allen Holub

Allen Holub has been writing software since dinosaurs roamed the earth, starting in high school on an IBM 360/65 enthroned in its air-conditioned glass-walled room and fed punch cards by white-clad priests. Since then, he's written two operating systems and several compilers and contributed to several commercial and open-source products, all without punch cards. He's been a CTO for early-stage startups and a Principal Architect for a medium-sized one. He's authored a gazillion articles and a dozen books, some used as texts at U.C. Berkeley, MIT, Cal Tech, and IIT. He was a contributing editor at Dr. Dobb’s Journal and JavaWorld.

Allen has an international reputation in practical software development processes and software architecture. He has worked as an independent consultant for decades, helping companies become more effective at writing software and working with all levels of the organization, from the CEO to sitting down and mobbing with the teams. He also teaches classes on software architecture and effective development practices. He was the Chan-Norris Distinguished (no less) Professor of Computer Science at Mills College.

Allen plays the piano, rides a bicycle, and flies small airplanes, but not at the same time.

Warm up with his conversation about software with Uncle Bob: A Path to Better Programming • Robert "Uncle Bob" Martin & Allen Holub

Upcoming masterclasses featuring Allen Holub

Practical Software Architecture for AI And Everything Else

Coding skill alone is not enough to get or keep a job in an AI world, no matter how good you are. You need architectural skills and systems thinking. These are core technical skills, maybe more so than coding, and essential if you want to stay relevant, whether or not AI is on the scene.

Good architecture makes your system easy (and less expensive) to build, maintain, and grow, whether or not an AI is helping with the code. A perfect implementation of an inappropriate architecture is a liability. Architecture also impacts how you work, touching everything from process to organizational and team structure. A team cannot work effectively when it's fighting the architecture every time it needs to make a small change, and agility is impossible in that situation.

Architecture is particularly important when you work with AI-assistance or integrate AI into your products. An LLM can code, but it can't design, which requires judgment. Even Spotify, which claims that 100% of its new code is machine-generated, does not entrust its LLM with architectural decisions. AI-Assistance requires an architecture within which the LLM can work effectively at minimal cost. A non-AI-focused architecture is literally too expensive to be viable.

There is no one-size-fits-all "best" architecture, however. An architecture that's appropriate in one context will work against you in another. You'll learn a wide range of patterns in this class, and how to combine them to create an optimal architecture for the problem at hand. Architecture is all about informed trade offs, and this class will show you how to make them.

Finally, there are architectures that use embedded intelligent "agents" to do their work. You'll learn about those, as well.

In this class:

  • You'll learn how to create effective software architectures for your products and systems, whether or not AI is involved.
  • You'll learn how to create architectures that welcome changing requirements and facilitate teamwork without adding dependencies that can slow you down.
  • You'll learn how to design systems that support AI-assisted software engineering, make it easy to incorporate the code the LLM writes and manage contexts effectively to improve accuracy and keep token costs down and limit the blast radius when the LLM makes a mistake.
  • You'll acquire a pallet of architectural patterns that help organize your thinking.
  • You'll learn how to make effective architectural trade-offs.
  • You'll learn how to design systems that can evolve incrementally over time. Incremental architectures start simple and grow as you learn and the need for scaling emerges.
  • You'll learn to design "Agentic" (LLM-based) software systems based on modern component architectures (agents, microservices, components-in-a-monolith, etc.).
  • You'll learn to design systems that work well in distributed or cloud environments, are highly reliable, secure, and fault tolerant.
  • You'll learn how to build effective APIs for both human and intelligent agent-to-agent communication.
  • You'll learn how to design domain-focused event-based systems using DDD and event storming. These systems are particularly well suited to adapt to rapidly changing requirements and discoveries made in tight customer-feedback loops.

Outline:

The role of the Architect

Architectural and systems thinking

AI-appropriate architecture

  • components and context management

Incremental architecture

  • Integrating coding and product development
  • The inspect-and-adapt loop.
  • Taming the AI assistant

Working with architectural patterns

  • Managing trade-offs
  • Architectural characteristics
  • Defining -ilities
  • Architectural Decision Records (ADRs)
Monday Jun 22 @ 10:00 AM | Chicago, United States

Reserve your spot now

Upcoming conference sessions featuring Allen Holub

AI-Friendly Architecture

AI impacts the structure of our programs in two ways. First, the program must be designed to work well in an AI-assisted software engineering environment. The blast radius of a change must be contained, for example, and the "context" must be managed to improve accuracy and minimize the cost of using the LLM to generate or change code. Next, the systems that we create that have AI embedded in them have to be secure, fault tolerant, and structured to ease agent-to-agent communication. In this session, you'll learn how to architect systems that support one or both of these goals.

You'll learn about:

  • LLM Contexts and context management
  • Micro-component and micro-Agent architectures that allow for incremental changes as we work with the LLM.
  • Test-friendly architectures for LLM-generated applications.
  • Building both REST and lightweight-messaging APIs for both human and agent-to-agent use.
  • Agent-to-Agent communication strategies and the Model Context Protocol
Tuesday Jun 23 @ 2:45 PM @ Accelerate Chicago 2026

Get conference pass

Content featuring Allen Holub

45:20
War is Peace, Freedom is Slavery, Ignorance is Strength, Scrum is Agile
War is Peace, Freedom is Slavery, Ignorance is Strength, Scrum is Agile
GOTOpia Europe 2020
40:41
War is Peace, Freedom is Slavery, Ignorance is Strength, Scrum is Agile
War is Peace, Freedom is Slavery, Ignorance is Strength, Scrum is Agile
GOTO Chicago 2020
45:20
War is Peace, Freedom is Slavery, Ignorance is Strength, Scrum is Agile
War is Peace, Freedom is Slavery, Ignorance is Strength, Scrum is Agile
GOTO Copenhagen 2021
54:10
Getting Buy-In: Overcoming Larman's Law
Getting Buy-In: Overcoming Larman's Law
YOW! Sydney 2024
54:10
Getting Buy-In: Overcoming Larman's Law
Getting Buy-In: Overcoming Larman's Law
YOW! Brisbane 2024
54:10
Getting Buy-In: Overcoming Larman's Law
Getting Buy-In: Overcoming Larman's Law
YOW! Melbourne 2024
56:17
Getting Buy-In: Overcoming Larman's Law
Getting Buy-In: Overcoming Larman's Law
GOTO Copenhagen 2025

Past masterclasses featuring Allen Holub

2 Days: Incremental Architecture: Building Domain-focused Systems that Welcome Change | GOTO Copenhagen 2025

Incremental Architecture: Building Domain-focused Systems that Welcome Change | YOW! Melbourne 2024

Incremental Architecture: Building Domain-focused Systems that Welcome Change | YOW! Sydney 2024

Browse all experts

Here