Discover
The Pragmatic Engineer
The Pragmatic Engineer
Author: Gergely Orosz
Subscribed: 1,178Played: 26,379Subscribe
Share
© Gergely Orosz
Description
Software engineering at Big Tech and startups, from the inside. Deepdives with experienced engineers and tech professionals who share their hard-earned lessons, interesting stories and advice they have on building software.
Especially relevant for software engineers and engineering leaders: useful for those working in tech.
newsletter.pragmaticengineer.com
Especially relevant for software engineers and engineering leaders: useful for those working in tech.
newsletter.pragmaticengineer.com
77 Episodes
Reverse
Brought to You By:• turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable• Linear – the product development system for teams and agents• WorkOS – everything you need to make your app enterprise ready.—How is it that a software veteran who regularly shipped ~100K of database-grade code to production each year, pre-AI, feels like he’s even more productive today, with no drop in quality? Peter Mattis is co-founder and CTO of Cockroach Labs, and an original creator of GIMP. He also worked on Gmail and distributed storage at Google.In this episode, Peter reflects on his journey from open source to Google to founding a database company, and we explore how to keep systems fast, reliable, and correct at scale, from Gmail’s early storage challenges to the tradeoffs in building distributed databases.Peter tells us how AI has brought him back to writing code after his work shifted toward management, and why he believes AI can improve quality and multiply the impact of domain experts. We also consider the future of code review, and Peter has some advice about how to level up our engineering skills.Timestamps00:00 Intro02:42 Peter’s path into tech04:00 Building GIMP09:30 Working on Gmail at Google14:51 Google’s infra: google3, build files, Bazel, and Colossus21:30 Distributed storage bottlenecks23:59 Latency, throughput, and availability30:04 Contributing to libraries41:52 Google Spanner46:10 CockroachDB52:00 Manual vs. automatic sharding55:28 Consistency models and strong consistency1:00:03 Raft consensus1:06:15 How AI brought Peter back to coding1:19:12 Peter’s tools and agentic workflows1:23:08 How AI can improve quality1:26:39 Code reviews: are they done?1:29:17 100x engineers1:35:33 Peter’s advice for leveling up your engineering skills—The Pragmatic Engineer deepdives relevant for this episode:• Inside Google’s Engineering Culture• Resiliency in distributed systems• How to debug large, distributed systems: Antithesis• Pushing software engineering limits with “napkin math”• Designing Data-intensive Applications with Martin Kleppmann• Formal methods with Hillel Wayne—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email [email protected]. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe
Brought to You By:• turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable.• O'Reilly Early Release: Scaling AI Adoption in Engineering – a free book on how to adopt and scale AI in a pragmatic way inside of engineering orgs. Complimentary, thanks to Antithesis.• Entire – every agent prompt, tool call, stored in your repo, and mirrored.—What can everyone else learn from designers and design engineers? As it turns out, there’s plenty, as I discovered when one of the best design engineers in the industry, Maggie Appleton, came onto the Pragmatic Engineer Podcast. She’s a staff research engineer at GitHub Next, where she builds prototypes to explore how software engineers might collaborate with AI in new ways. Maggie is at the intersection of design, anthropology, and web development, and was the first designer hired by AI startup Elicit, and Lead Design engineer at AI startup, Normally.Today’s episode is more visual than usual because Maggie brought her notebook along, so there are peeks inside its pages of prototypes and more:We got into designers’ work and how their design processes are adapting to and changing with AI. We explore why Maggie starts projects with pens and notebooks, what distinguishes design engineers from other designers, and why understanding engineering constraints leads to better collaboration with engineers. We also discuss how Maggie uses jigs to gain more control over AI agents, why human judgment and style still matter when models can generate designs, and how inconsistent AI capabilities can mislead us.Timestamps00:00 Intro03:24 From anthropology to tech10:18 What does a designer do?18:23 How Maggie works24:55 The case for planning with physical tools31:53 Why Maggie is learning woodworking33:13 Design engineers and engineering constraints38:49 How Maggie uses Figma40:30 Design at GitHub Next45:12 How has AI changed design50:37 When models design and why humans are still needed53:30 UX and UI58:29 Capability gaslighting1:00:33 One Developer, Two Dozen Agents, Zero Alignment1:07:21 Craft and AI tells1:14:17 Visual gardens, home-cooked software, and barefoot developers1:21:02 Advice for engineers and lessons from anthropology1:25:34 Book recommendation—The Pragmatic Engineer deepdives relevant for this episode:• What is “loop engineering?”• Design-first software engineering: Craft, with Balint Orosz • Are AI agents actually slowing us down?• Vibe Coding as a software engineer• How Codex is built• How Claude Code is built • From Chrome DevTools to AI Engineering, with Addy Osmani—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email [email protected]. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe
Brought to You By:• turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable• Linear – the product development system for teams and agents• WorkOS – everything you need to make your app enterprise ready.—Why is the “grill-me” skill so popular, and why does its creator swear by the importance of software fundamentals? Matt Pocock created this widely-used skill – and many others – alongside being an educator, content creator, and engineer. His latest course is AI Hero, and he previously created the Total TypeScript course that generated more than $2.5 million in sales.In this episode, Matt and I discuss his unconventional path from working as a voice teacher to becoming a developer and going all-in on technical education. He reveals how communication skills helped him break into tech, why he took an unusual three-days-a-week contract at Vercel, and how he built Total TypeScript through workshops, courses, and a lot of free content.We also explore “strategic coding,” and how he uses skills like “grill me” and “wayfinder” to plan, delegate, and course-correct with AI agents. Matt explains his “day shift” and “night shift” approach, why splitting context up can keep agents in their “smart zone,” and how concepts from classic software engineering books can guide agents to do better. In this episode, there’s also local versus cloud workflows, whether agents need TDD, how AI is changing the ways that engineers learn the fundamentals, and why humans are still essential in teaching.Timestamps00:00 Intro05:48 How Matt got into tech10:14 How Matt got into open source12:58 Joining Vercel18:39 Total TypeScript23:21 AI’s impact on technical education30:32 Building reusable skills for AI coding agents40:46 The “smart zone” vs the “dumb zone”45:02 The wayfinder skill47:52 Why agents excel at software engineering50:54 “Leading words”1:01:10 Learning the fundamentals1:09:17 Local vs. cloud agents1:12:36 Planning vs. course-correcting1:18:13 TDD and agents1:23:06 Living in the UK1:24:21 Teaching: the human part1:28:36 Advice for junior engineers1:31:07 Gardeners and great engineers1:34:01 Book recommendation—The Pragmatic Engineer deepdives relevant for this episode:• What is "loop engineering?"• The Philosophy of Software Design – with John Ousterhout• Context engineering with Dex Horthy• Are AI agents actually slowing us down?• The AI Engineering Stack• How Codex is built• How Claude Code is built• How Uber uses AI for development: inside look—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email [email protected]. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe
Brought to You By:• turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable• Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages.• Entire – Git hosting, rebuilt for the agentic era. Every agent session, prompt and tool calls: stored in your repo.—Tibo Sottiaux is one of the engineers who created Codex, and today, he heads up the Core Products & Platform org at OpenAI which also includes Codex. He’s also one of the most public faces of Codex due to his frequent – and generous – usage reset announcements, like this one yesterday.In this episode of the Pragmatic Engineer Podcast, Tibo and I discuss how Codex was built and continues to be iterated upon. We explore why the Codex CLI is written in Rust and was released as open source, how the harness and models have evolved, and why Codex supports models from multiple providers.Tibo also shares details about how the OpenAI team uses Codex throughout the software development lifecycle, including code reviews, maintenance, and system rearchitecture. We look into how AI is lowering the cost of changing code – and some interesting side effects of this – the merger of ChatGPT and Codex, and also how Tibo uses the tools in his own work.—Timestamps00:00 Intro07:21 Working at Google12:41 What drew Tibo to OpenAI15:19 The early days of Codex18:20 Why Codex was built in Rust21:15 Why Codex is open source25:50 Codex plays nice with other models: why?32:09 How the harness works36:44 Harness and model improvements41:19 The SDLC behind Codex46:39 Code reviews at Codex52:09 Maintenance and architecture56:43 How AI tools expand what engineers can do1:02:30 The Merge: ChatGPT + Codex1:07:16 How Tibo uses Codex and ChatGPT1:10:44 Advice for engineers who want to work in AI—The Pragmatic Engineer deepdives relevant for this episode:• How Codex is built• How Claude Code is built• How Cursor was built• What is "loop engineering?”• How Uber uses AI for development: inside look• Why Ramp built its own in-house coding agent, Inspect• “I ship code I don’t read”: with Peter Steinberger, the creator of OpenClaw—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email [email protected]. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe
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 built a game that sold 1M+ copiesMore on premature optimization: read or watch Casey’s extended take on “premature optimization is the root of all evil”: https://www.computerenhance.com/p/theroot—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email [email protected]. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe








