Speaker Notes

Oxide and Friends 2/2/2026 -- Software Engineering Past, Present, and Future with Grady Booch

Software engineering's evolution across three golden ages reveals that higher abstractions, shifting economic constraints, and enduring mental models continue to define how we build durable systems, even as AI transforms development velocity.

Oxide Computer Company · 54:52 · YouTube ↗

Podcast episode · 2 hosts + guest  Intermediate · Software engineering history and abstractions

Highlights

6 clips · 9 min of 55 min
    • Grady built an early computer from discrete transistors in the mid-1960s before integrated circuits were common.
    • An IBM sales representative provided manual access and weekend computer time after Grady persistently knocked on their door.
    • His first programs included a FORTRAN simulation modeling neutron physics close to the speed of light.
    • Following IBM's acquisition of Rational Software, Bill Gates invited Grady to become Microsoft's chief architect.
    • Grady declined the offer after evaluating Microsoft's deep internal dysfunction and concluding it would only end in tears.
    • He chose instead to remain at IBM to pursue software research.
    • Software engineering has entered a third golden age driven by packages, platforms, and orchestration rather than primitive classes.
    • Tools like Claude and AI assistants are symptoms of this shift, designed to reduce friction and increase development velocity.
    • Higher levels of abstraction do not eliminate humans; they enable us to build more software by moving up the stack.
    • Early software processes like waterfall optimized for expensive machine costs.
    • Inverted economics today enable rapid trial and error directly on hardware.
    • Differentiates disposable software from durable long-term infrastructure systems.
    • LLMs can perform induction and deduction but are architecturally incapable of abductive reasoning.
    • They cannot generate entirely new theoretical frameworks from data outside their training.
    • Fundamental scientific breakthroughs remain outside the native capabilities of current AI models.
    • Herbert Simon's The Sciences of the Artificial is vital reading for systems engineers.
    • Classic texts like Systemantics and The Mythical Man-Month remain foundational.
    • Timeless books offer enduring frameworks for managing complexity that outlast transient trends.

Questions this video answers

6 · every answer cites the moment it was said
01 How did Grady Booch first get into building computers and programming as a teenager? 2 sources · 3:02

Booch built his first calculator-like computer from individual transistors at age 12 after reading a library book on computer design. A few years later, he visited an IBM sales office in Amarillo, Texas, where a sales representative handed him a FORTRAN manual. He returned the next week with a working program modeling neutrons, earning him weekend time on an IBM 1130.

02 What role did military projects play in the early history of software engineering? 3 sources · 7:19

Large military projects like the Sage system served as the crucible for modern distributed computing while exposing severe industry limitations. These complex systems consumed massive engineering resources, forcing the industry to confront what was termed the software crisis. This era also saw Margaret Hamilton coin the term software engineering to distinguish software from hardware work.

03 How does Booch characterize the three golden ages of software engineering? 3 sources · 15:32

Software engineering evolved through three distinct golden ages driven by a continuous rise in abstraction levels. The first golden age focused on algorithmic abstractions to handle mathematical calculations using higher-order languages. The second golden age introduced object-oriented design and classes to manage exploding system complexity, while the third golden age shifts abstraction upward to entire packages, platforms, and frameworks.

04 How have economic shifts changed software development practices over time? 2 sources · 31:52

Early software engineering used rigid processes like waterfall because machine costs heavily outweighed programmer costs, requiring extensive upfront design on paper. Today, reversed economics make machine time cheap, so developers sit directly in front of machines to build disposable or durable software depending on risk.

05 Why are large language models considered incapable of abductive reasoning? 2 sources · 43:34

Large language models rely on induction and extrapolation from existing data rather than generating novel underlying theories. For instance, they cannot discover entirely outside-the-box concepts like viruses if those fall outside their training data. Consequently, they act as unreliable narrators that require careful human oversight.

06 What classic books does Grady Booch recommend for systems engineers? 2 sources · 52:18

Booch recommends several enduring texts that have shaped systems engineering and project management thinking. Key recommendations include Herbert Simon's The Sciences of the Artificial and the classic insights found in The Mythical Man-Month.

Section-by-section summary

11 parts

Building early computers and learning FORTRAN in the 1960s

As a teenager in remote Texas, Grady built a computer from discrete transistors after reading a library book on hardware. He then persuaded an IBM sales representative to let him use an IBM 1130 on weekends, writing FORTRAN code to model neutron physics.

Learning complex systems engineering in the military

During his time at the Air Force Academy and Space Command, Grady worked on massive distributed systems tracing back to World War II and the Cold War. This era exposed him to the severe limits of early software development, known as the software crisis.

Turning down Bill Gates and shaping software design

After co-founding Rational Software and later being acquired by IBM, Bill Gates offered Grady the role of chief architect at Microsoft before his retirement. Grady declined, recognizing Microsoft's deep organizational dysfunction and preferring to focus on research.

Software engineering as an engineering discipline of rising abstractions

Software engineering has always evolved through progressively higher levels of abstraction rather than being replaced by automation. Practitioners must weigh economic, social, and technical constraints to build complex, fragile systems responsibly.

The three golden ages of software engineering

Software engineering's history spans three golden ages, moving from algorithmic abstractions in early computing to object-oriented design for managing complexity, and finally to modern package-driven systems and AI-assisted velocity.

Overshooting abstractions led to mistakes like excessive inheritance

While successful abstractions like operating systems and SQL created crucial boundaries, software engineers historically overshot by forcing patterns like object orientation and Java into every domain.

The third golden age shifts abstraction to packages and platforms

Modern software engineering builds systems out of whole frameworks and packages, with AI tools acting as catalysts that raise the abstraction layer and velocity even further.

Economics dictate software design and durable code

High machine costs once forced upfront planning like waterfall, whereas today's inverted economics enable rapid experimentation and distinguish disposable scripts from durable software.

Fundamentals remain essential despite revolutionary tools

Just as CAD enabled Frank Gehry's architecture without replacing physics, modern AI tools amplify creativity while foundational design principles and the cost of change remain unchanged.

LLMs are unreliable narrators incapable of abductive reasoning

Large language models function best as energetic interns requiring strict oversight and air-gapping, fundamentally lacking the abductive reasoning needed to form new theories from data.

Classic texts provide enduring lessons for systems engineers

Timeless books like Herbert Simon's Sciences of the Artificial and The Mythical Man-Month offer foundational wisdom that helps developers navigate technical frenzies.

0:00 / 54:52
k play/pause · f fullscreen · m mute
n next · p previous clip · t highlights/full
< > slower/faster · / search what was said
  • Software crisis4× · first 7:53

    The historical period marked by high demand for software and an inability to build it reliably or quickly enough.

  • Object-oriented design2× · first 13:57

    A design approach centered on modeling systems through objects and classes rather than just algorithms.

  • Abductive reasoning3× · first 43:34

    The production of theories from data, which large language models are architecturally incapable of performing.

  • The Mythical Man-Month1× · first 52:36

    A classic text recommended for systems engineers providing enduring lessons on software projects.