In a world of short-form content, it's important to engage with long-form ideas. Book Overflow is a podcast created for software engineers, by software engineers to discuss the best technical books in the world. Join co-hosts Carter Morgan and Nathan Toups each week as they discuss a new technical book! New episodes every Monday!
Similar Podcasts

Thinking Elixir Podcast
The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community.

Ladybug Podcast
We're Emma Bostian, Sidney Buckner, Kelly Vaughn, and Ali Spittel - four seasoned software developers working in different sectors. Since there's a major lack of technical podcasts out there, we've decided to start one. Just kidding -- there's already a ton! But, we wanted to add our voices to the space and share our experiences and advice. We'll have great discussions around how to start coding, the hot technologies right now, how to get your first developer job, and more!
Check out our website!

The Infinite Monkey Cage
Brian Cox and Robin Ince host a witty, irreverent look at the world through scientists' eyes.
"Web Scalability for Startup Engineers" by Artur Ejsmont (Part 1)
In this episode of Book Overflow, Carter Morgan and Nathan Toups discuss "Web Scalability for Startup Engineers" by Artur Ejsmont. Join them as they discuss how to build a stateless front-end, the benefits of microservices, and the differences between SQL and NoSQL!
John Ousterhout Reflects on "A Philosophy of Software Design"
In this special episode of Book Overflow, Dr. John Ousterhout joins Carter and Nathan to discuss his book "A Philosophy of Software Design." He reflects on why he wrote the book, how he teaches the principles in it to his Stanford students, and what we can learn from our mistakes. --------------- 00:00 Intro 01:18 Motivation for writing this book 06:17 Why No TAs for Stanford Class 08:55 Thoughts on TDD 14:24 Design it Twice 20:30 Most Surprising Feedback 31:46 Taking suggestions with a grain of salt 33:20 Curiosity and Humility 36:13 Misunderstandings from the book 39:37 Strong opinions, humility, and fear of being wrong 44:35 Unconventional Career Paths 50:13 What are you reading? 51:22 Thoughts on Clean Code 53:50 Advice for new software engineers 58:00 Closing Thoughts
"Working Effectively with Legacy Code" by Michael Feathers (Part 2)
In this episode of Book Overflow, Carter Morgan and Nathan Toups discuss the second half of "Working Effectively with Legacy Code" by Michael Feathers. Join them as they discuss how to keep up a good attitude while working on legacy code, how to get started when you're intimidated, and some of the legacy and greenfield projects they've worked on in their careers! ------------ Book Overflow is a podcast for software engineers, by software engineers dedicated to improving our craft by reading the best technical books in the world. Join Carter Morgan and Nathan Toups as they read and discuss a new technical book each week! The full book schedule and links to every major podcast player can be found at https://bookoverflow.io https://x.com/bookoverflowpod
Neal Ford Reflects on "Fundamentals of Software Architecture"
In this special episode of Book Overflow, Neal Ford joins the podcast to reflect on his book "Fundamentals of Software Architecture!" Join Carter and Nathan as they discuss the challenges of compromising with the business, what shifts AI is bringing to the software architecture world, and what sci-fi Neal's been reading lately!
"Working Effectively with Legacy Code" by Michael Feathers (Part 1)
Carter Morgan and Nathan Toups read and discuss the first half of "Working Effectively with Legacy Code" by Michael Feathers. Join them as they reflect on dependency inversion, the importance of interfaces, and continue their never-ending debate on the pros and cons of Test-Driven Development! (The audio gets a little de-synced in the last three minutes. Carter isn't talking over Nathan on purpose!) Chapter markers: 00:00 Intro 04:51 Thoughts on the book 10:54 Defining Legacy Code 21:53 Quick Break: Pull Requests 22:38 How to change software 44:30 Quick Break: CI/CD 45:15 Testing Legacy Code 1:15:10 Quick Break: Linting 1:16:01 Closing Thoughts
Brian Kernighan Reflects on "The Practice of Programming"
In this very special episode of Book Overflow, Dr. Brian Kernighan, the author of "The Practice of Programming" joins us to discuss his experience writing the book! Tune in as he talks about his experience at Bell Labs, what it was like co-authoring the book with Rob Pike, his thoughts on LLMs and the future of programming, and more! 00:00 - Intro 02:38 - Why write this book? 12:23 - Working at Bell Labs 16:29 - Life Learning Process 22:33 - What motivates you to write a book? 28:13 - AI and LLMs 35:48 - Layers of Abstraction 37:50 - What excites you about the future? 41:34 - Programmatic Thinking in Humanities 50:13 - Favorite Books 57:39 - Closing Thoughts
"Clean Coder" by Robert “Uncle Bob” Martin
In this episode of Book Overflow, Carter Morgan and Nathan Toups read and discuss "Clean Coder: A Code of Conduct for Professional Programmers" by Bob Martin. Join them as they discuss what it means to be a professional, how you can say "no" to your boss, and more!
Mark Richards Reflects on "Fundamentals of Software Architecture"
In this very special episode of Book Overflow, Mark Richards joins the podcast to reflect on his book, "Fundamentals of Software Architecture"! Join us as we discuss with Mark what inspired the book, what he wish he had changed, and what he's excited about for the future!
"Fundamentals of Software Architecture" by Mark Richards and Neal Ford (Part 2)
This week Carter Morgan and Nathan Toups finished reading "Fundamentals of Software Architecture" by Mark Richards and Neal Ford. They provide an overview of their favorite architectures from the book as well as discuss the importance of soft skills in selling your technical vision!
"Fundamentals of Software Architecture" by Mark Richards and Neal Ford (Part 1)
This week Carter Morgan and Nathan Toups read the first half of "Fundamentals of Software Architecture" by Mark Richards and Neal Ford. They discuss what exactly software architecture is, how everything is a trade-off, and how we can keep our architectural skills sharp as software engineers. You don't want to miss this great discussion!
"What Is ChatGPT Doing... And Why Does It Work?" by Stephen Wolfram
Carter Morgan and Nathan Toups discuss Stephen Wolfram's excellent primer on ChatGPT! An incredibly dense work, they briefly summarize its key takeaways, talk about whether or ChatGPT is truly intelligent, and reflect on how their views of the current AI landscape have changed after reading this book. Enjoy!
"Refactoring: Improving the Design of Existing Code" by Martin Fowler
Carter Morgan and Nathan Toups discuss "Refactoring: Improving the Design of Existing Code" by Martin Fowler. Join them as they talk about the importance of automated testing when refactoring, how to play nice, and how refactoring can be justified as a business consideration!
"A Philosophy of Software Design" by John Ousterhout
Carter Morgan and Nathan Toups discuss "A Philosophy of Software Design" by John Ousterhout. Join them as they talk about pulling complexity downward, the importance of code clarity, and the book's subtle rebuttals to Uncle Bob's Clean Code!
"The Practice of Programming" by Brian Kernighan and Rob Pike
In this inaugural episode of Book Overflow, Carter Morgan and Nathan Toups discuss "The Practice of Programming" by Brian Kernighan and Rob Pike. Written in 1999, Carter and Nathan discuss its timeless advice around style guides, interfaces, and debugging, as well as reflecting on how the software engineering industry has changed in the 25 years since it's been written.