logo
episode-header-image
Apr 2025
1h 21m

The Philosophy of Software Design – with...

Gergely Orosz
About this episode

Supported by Our Partners

•⁠ CodeRabbit⁠⁠ — Cut code review time and bugs in half. Use the code PRAGMATIC to get one month free.

•⁠ Modal — The cloud platform for building AI applications.

How will AI tools change software engineering? Tools like Cursor, Windsurf and Copilot are getting better at autocomplete, generating tests and documentation. But what is changing, when it comes to software design?

Stanford professor John Ousterhout thinks not much. In fact, he believes that great software design is becoming even more important as AI tools become more capable in generating code. 

In this episode of The Pragmatic Engineer, John joins me to talk about why design still matters and how most teams struggle to get it right. We dive into his book A Philosophy of Software Design, unpack the difference between top-down and bottom-up approaches, and explore why some popular advice, like writing short methods or relying heavily on TDD, does not hold up, according to John.

We also explore: 

• The differences between working in industry vs. academia 

• Why John believes software design will become more important as AI capabilities expand

• The top-down and bottoms-up design approaches – and why you should use both

• John’s “design it twice” principle

• Why deep modules are essential for good software design 

• Best practices for special cases and exceptions

• The undervalued trait of empathy in design thinking

• Why John advocates for doing some design upfront

• John’s criticisms of the single-responsibility principle, TDD, and why he’s a fan of well-written comments 

• And much more!

As a fun fact: when we recorded this podcast, John was busy contributing to the Linux kernel: adding support to the Homa Transport Protocol – a protocol invented by one of his PhD students. John wanted to make this protocol available more widely, and is putting in the work to do so. What a legend! (We previously covered how Linux is built and how to contribute to the Linux kernel)

Timestamps

(00:00) Intro 

(02:00) Why John transitioned back to academia

(03:47) Working in academia vs. industry 

(07:20) Tactical tornadoes vs. 10x engineers

(11:59) Long-term impact of AI-assisted coding

(14:24) An overview of software design

(15:28) Why TDD and Design Patterns are less popular now 

(17:04) Two general approaches to designing software 

(18:56) Two ways to deal with complexity 

(19:56) A case for not going with your first idea 

(23:24) How Uber used design docs

(26:44) Deep modules vs. shallow modules

(28:25) Best practices for error handling

(33:31) The role of empathy in the design process

(36:15) How John uses design reviews 

(38:10) The value of in-person planning and using old-school whiteboards 

(39:50) Leading a planning argument session and the places it works best

(42:20) The value of doing some design upfront 

(46:12) Why John wrote A Philosophy of Software of Design 

(48:40) An overview of John’s class at Stanford

(52:20) A tough learning from early in Gergely’s career 

(55:48) Why John disagrees with Robert Martin on short methods

(1:10:40) John’s current coding project in the Linux Kernel 

(1:14:13) Updates to A Philosophy of Software Design in the second edition

(1:19:12) Rapid fire round

(1:01:08) John’s criticisms of TDD and what he favors instead 

(1:05:30) Why John supports the use of comments and how to use them correctly

(1:09:20) How John uses ChatGPT to help explain code in the Linux Kernel

The Pragmatic Engineer deepdives relevant for this episode:

Engineering Planning with RFCs, Design Documents and ADRs

Paying down tech debt

Software architect archetypes

Building Bluesky: a distributed social network

See the transcript and other references from the episode at ⁠⁠https://newsletter.pragmaticengineer.com/podcast⁠⁠

Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.



Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe
Up next
Aug 6
The state of VC within software and AI startups – with Peter Walker
Brought to You By:•⁠ WorkOS — The modern identity platform for B2B SaaS.•⁠ Statsig ⁠ — ⁠ The unified platform for flags, analytics, experiments, and more.• Sonar — Code quality and code security for ALL code.—In this episode of The Pragmatic Engineer, I sit down with Peter Walker ... Show More
1h 19m
Jul 23
Measuring the impact of AI on software engineering – with Laura Tacho
Supported by Our Partners•⁠ Statsig ⁠ — ⁠ The unified platform for flags, analytics, experiments, and more.• Graphite — The AI developer productivity platform.—There’s no shortage of bold claims about AI and developer productivity, but how do you separate signal from noise?In thi ... Show More
1h 11m
Jul 16
Amazon, Google and Vibe Coding with Steve Yegge
Supported by Our Partners•⁠ WorkOS — The modern identity platform for B2B SaaS.•⁠ Statsig ⁠ — ⁠ The unified platform for flags, analytics, experiments, and more.•⁠ Sonar — Code quality and code security for ALL code.—Steve Yegge⁠ is known for his writing and “rants”, including th ... Show More
1h 33m
Recommended Episodes
Aug 2024
Venture returns, recovering startups, and VC conflicts | E1995
This Week in Startups is brought to you by… Coda. Coda empowers your startup by bringing words, tables, and teams together. Strategize, plan, and track goals effectively with all your valuable data in one place. Go to https://www.Coda.io/twist to get started for FREE and get 6 fr ... Show More
1h 27m
May 2024
#207 Data Driven Venture Capital with Andre Retterath, Partner at Earlybird VC
As we close out our focus on how the venture capital industry identifies and decides which future companies to fund, it might be easy to fall into the trap of thinking that the latest methods for discovering future unicorns are ubiquitous among all VCs. However, many VCs still wo ... Show More
52m 25s
Jul 2024
Five levels of AI, venture's recovery & the hottest construction startups | E1979
This Week in Startups is brought to you by… Vanta. Compliance and security shouldn't be a deal-breaker for startups to win new business. Vanta makes it easy for companies to get a SOC 2 report fast. TWiST listeners can get $1,000 off for a limited time at http://www.vanta.com ... Show More
1h 24m
Dec 2022
The keys to framing a winning investor pitch
It wasn’t very long ago that venture capital was so free-flowing it seemed as if any entrepreneur with a half-decent idea could raise an initial round of financing. Those halcyon days are clearly now past us, with inflation, rising interest rates, and slowing economic growth (or ... Show More
31m 47s
Sep 2024
Career Progression at Startups - Caution: NOT How Big Companies Do It (Edu)
One of the toughest challenges in early-stage startups is managing employee career development. Unlike big corporations, startups thrive on chaos, ownership, and self-driven growth, meaning traditional professional development programs often fall flat.  In this episode, Chris Saa ... Show More
53m 11s
Dec 2024
Investing & Fundraising - The Truth About VC w/ Nick Crocker (Replay)
How much value do VCs truly bring beyond their capital? And what makes the difference between a supportive partnership and a dysfunctional founder-investor relationship? In this episode, Chris Saad and Yaniv Bernstein welcome Nick Crocker, General Partner at Blackbird Ventures, t ... Show More
54m 38s
Oct 2024
20VC: The Truth About Multi-Stage Firms; Why Portfolio Services are for VCs not Founders | Why Politics is Rife & Decision-Making is Broken in Large VCs | Why Reserves are Bad for Founders & How Bouti
Mark Goldberg is a Managing Partner and Co-Founder at Chemistry, a $350M fund announced just yesterday with the mission to lead the best seed and Series A rounds. Before Chemistry, Mark was a Partner at Index Ventures, where he led early stage investments in Plaid, Bridge, Pilot, ... Show More
56m 21s
Jun 16
Apps Are Obsolete: How Startups Can Leverage the New Era of AI Agents (Spotlight)
What if your next startup competitor doesn’t have a single employee?AI agents aren’t just another software trend — they’re redefining the interface between humans, data, and execution, yet many founders still confuse basic chatbots with the true potential of these agents.In this ... Show More
46m 43s
Dec 2023
THE BIGGEST STARTUP OPPORTUNITIES IN 2024 BY LEAN STARTUP GUY ERIC RIES
Greg interviews Eric Ries, author of "The Lean Startup" and founder of The Long Term Stock Exchange.They talk about how to test business ideas, why businesses with a social mission will outperform, and opportunities in AI.►►Subscribe to Greg's weekly newsletter for insights on co ... Show More
46m 41s