
Brought to You By:• Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages.• Sentry – application monitoring software considered “not bad” by millions of developers.• turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable.—There can be few people around who care about software performance more than today’s pod guest, Casey Muratori. He’s a programmer and videogame developer, founder of Molly Rocket, and creator of Handmade Hero – a long-running series about building a game from scratch. He also evangelizes about performance on his Substack, Computer, Enhance.We got to know each other about three years ago, first via messages, including this one from Casey:“Why does the industry zeitgeist place so little emphasis on software performance when there seems to be overwhelming evidence that performance is critical to their bottom line?Like you, I run a Substack for professional programmers, but I focus exclusively on software performance. Although we are quite large by Substack standards, so a certain subset of programmers must believe performance is important, I nonetheless hear lots of dismissive excuses when I post on social media. This happens so frequently, I devoted an entire article to cataloging the extensive pro-performance evidence we already have from the world's leading software companies: Performance Excuses Debunked.Strangely, nobody has a rebuttal to why performance is important. When I point people to this, they actually tend to agree. But the prevailing attitude nonetheless stays the same.”I’m delighted we finally have Casey on the podcast because it’s overdue! In this episode, we discuss why software performance matters, why it’s overlooked, and how developers can get better at writing performant code. We explore why performance should be considered during design, the value of learning to read assembly & understanding how CPUs work, Casey’s critique of ‘clean code’, and why he believes testing shouldn't drive software design.We touch on how videogame development has changed, and influential game engines. Casey also tells us why he prefers to write code by hand, not with AI, and more.—Timestamps00:00 Intro05:17 Games at Microsoft12:52 Building games16:00 Why performance matters27:12 Why you should learn to read assembly30:36 Designing for optimization42:51 How to get better at writing performant software49:04 Understanding how the CPU works55:53 Building games then and now1:05:56 How game engines changed building games1:10:48 Why new games compete with old games1:13:25 GTA 6: why is it taking so long?1:16:59 Casey’s critique of clean code1:21:48 Casey’s take on TDD1:24:30 What is good code?1:27:32 What makes a good software engineer?1:33:56 Why Casey doesn’t code with AI1:39:01 AI’s impact on the game industry1:44:43 AI and burnout1:50:21 Why you should read papers—The Pragmatic Engineer deepdives relevant for this episode:•Pushing software engineering limits with “napkin math” with Simon Eskildsen •How Games Typically Get Built: prototyping, game engines, and a different type of QA•Game Development Basics: deepdive on how game studios differ from standard software teams•Inside Linear's Engineering Culture: building a performant product with a tiny team•Building a best-selling game with a tiny team – with Jonas Tyroller. A two-person team buil
Podzilla Summary coming soon
Sign up to get notified when the full AI-powered summary is ready.
Free forever for up to 3 podcasts. No credit card required.

AI Skills with Matt Pocock

Building Codex with Tibo Sottiaux

From Chrome DevTools to AI Engineering, with Addy Osmani

Stop being skeptical about AI for development with Charity Majors
Free AI-powered recaps of The Pragmatic Engineer and your other favorite podcasts, delivered to your inbox.
Free forever for up to 3 podcasts. No credit card required.