
The Pragmatic Engineer
Gergely Orosz·64 episodes
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
Why listen
The Pragmatic Engineer gives software engineers and engineering leaders unusually practical conversations with people who have built major tools, systems, and teams. Host Gergely Orosz focuses on concrete engineering choices, career lessons, and inside stories from Big Tech, startups, open source, infrastructure, and AI tooling. It is a strong fit if you want long-form technical interviews that connect architecture, engineering culture, and career judgment.
Episodes
Brought to You By:• Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages.• Buildkite – CI software built to absorb whatever your coding agents throw at the build queue• Sentry – application monitoring software considered “not bad” by millions of developers—Kelsey Hightower went from a self-taught technician installing DSL modems to becoming one of Google’s elite Distinguished Engineers, whom the CEO of Microsoft personally tried to recruit. Hightower’s career achievements are rooted in hard work and self-directed learning, and today he’s one of the most influential voices in modern infrastructure, through his talks, open source work, and writing.In this episode of The Pragmatic Engineer podcast, Kelsey and I cover his unconventional path into tech and the lessons he’s learned during three decades in the industry. We discuss his entrepreneurial years, building a reputation through open source, the rise of containers and Kubernetes, and his time at Google during one of the most consequential periods in cloud computing. He recounts how a job offer from a big tech giant led to the biggest raise of his career, what prompted him to slow down after years of career acceleration, and we also discuss his perspective on AI. Throughout, Kelsey keeps a simple idea front of mind: that technology is ultimately about people. Whether it’s infrastructure, leadership, careers, or AI, he argues that the goal is not to build technology for its own sake; it’s to solve meaningful human problems.—Timestamps00:00 Intro03:34 Kelsey’s first job at McDonald’s05:04 His non-traditional path into tech11:45 Landing his first tech job with an A+ certification15:33 His entrepreneurial years19:45 Joining Google as a data center technician27:48 Learning automation at a Rackspace spinoff33:26 Moving into financial services50:00 Building a reputation through open source53:55 From configuration management to containers1:08:20 The rise of Kubernetes1:25:05 Why he almost joined NASA instead of Google1:29:20 Defining DevRel at Google1:38:20 Demonstrating impact at Google1:41:20 Microsoft's offer1:55:20 Learning how to slow down2:06:39 Advising and investing2:15:03 A people-first view of GenAI2:24:27 Using AI with guardrails2:28:26 Matching AI to the task2:36:06 Staying relevant in the AI era—The Pragmatic Engineer deepdives relevant for this episode:
Brought to You By:• Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages.• WorkOS – Everything you need to make your app enterprise ready.• turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable.—OpenCode is one of the fastest-growing AI developer tools around, surging in just a few months from roughly 650,000 monthly active users to nearly 8 million, and almost 1M daily active users.In this episode of The Pragmatic Engineer Podcast, we meet Dax Raad, co-founder of OpenCode, for a discussion about the gaps in developer tooling that led him to build OpenCode, the advantages of open source, and why taste and engineering judgment matter even more as AI becomes a core part of software development.We also cover how OpenCode turned Anthropic’s blocking of integration with Claude Code into a massive growth lever by partnering with OpenAI and other model providers, why GPU demand is becoming a bottleneck everywhere, how come AI coding tools don’t automatically mean engineering teams move faster, and also why Dax is personally skeptical about predictions for the future of engineering and work, in general.I found this conversation especially interesting because Dax displays a healthy skepticism toward the benefits of AI, even while building one of the most popular AI coding harnesses.—Timestamps00:00 Intro07:03 Dax’s path into tech09:04 Early startup experience13:16 Getting involved with open source16:13 OpenCode23:17 Anthropic banning OpenCode30:34 From terminal to GUI32:34 OpenCode’s business model36:33 Why inference is profitable39:11 GPU bottlenecks40:54 AI hype45:50 AI spending48:47 Dax’s memo55:41 Dax’s skepticism of predictions58:58 Engineering culture at OpenCode1:02:38 How building works at OpenCode1:05:36 Taste and quality1:11:32 Dax’s work setup1:12:35 The role of engineers and EMs1:15:50 Advice for engineers1:18:12 Book recommendation—The Pragmatic Engineer deepdives relevant for this episode:• How Claude Code is built• How Codex is built• Real-world engineering challenges: b
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• Craft Conference: join Gergely, Kent Beck, Hillel Wayne and others at the conference dedicated to the art and science of software delivery craft.—Rust is one of the most admired programming languages around – and also one of the hardest to learn. What makes developers stick with it?In this episode of The Pragmatic Engineer Podcast, I sit down with Alice Ryhl, a software engineer on Google’s Android Rust team, and a core maintainer of Tokio, which is the most widely-used async runtime in Rust.We discuss what makes Rust different from other languages like TypeScript, Go, and C++, and why so many developers say that “once it compiles, it works.” We go deep into memory safety, ownership, borrowing, unsafe Rust, and Cargo.We also cover how Rust is governed by RFCs, feature flags, its six-week release cycle, how engineers get paid to work on the language, and also look into how Rust’s use inside the Linux kernel is progressing.—Timestamps(00:00) Intro(04:09) Tokio: an overview(05:11) What Alice likes about Rust(12:48) Rust for TypeScript engineers(13:51) Moving from C++ to Rust(14:34) Memory safety(18:12) Garbage collection tradeoffs(21:46) Ownership, references, and borrowing(26:59) Unsafe in Rust(31:21) Crates and Cargo(35:55) Language design and RFCs(43:02) Building new features(46:30) Editions vs. versions(49:47) Getting paid to work on Rust(51:27) Contributing to Rust(53:03) Rust in the Linux kernel(55:45) AI use cases for Rust(1:01:35) Learning Rust(1:03:54) Book recommendation—The Pragmatic Engineer deepdives relevant for this episode:• The past and future of modern backend practices• How Kotlin was built with Andrey Breslav• <a target="_blank" href="https://newsletter.pragmaticengineer.com/p/from-swift-to-mojo-and-high-p
Brought to You By:• Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages.• WorkOS – Everything you need to make your app enterprise ready.• turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable.—Anders Hejlsberg is a living legend and one of the most influential programming language designers of all time. He created Turbo Pascal, Delphi, C#, and also TypeScript. As well as that, he spent nearly a decade at the pioneering dev tools company, Borland, and is now in his 30th year of working at Microsoft, where he’s a Technical Fellow.In this episode, we discuss what it takes to build programming languages that developers love to use, and trace his career from writing his first compiler to creating Turbo Pascal and Delphi, and helping to pioneer modern software development through C# and TypeScript.Anders details how C# was designed by a small group of experienced language designers who met a few hours each week, and he explains why tooling was just as important as the language for TypeScript’s success, and what he has learned from building languages which stay relevant for decades.We also look into how Anders uses AI today, which language features suit AI-assisted development, and what he thinks is changing in the craft of software engineering as developers move further away from writing code line by line.—Timestamps(00:00) Intro(02:48) How Anders got into programming (05:40) Building his first compiler (07:44) Turbo Pascal(12:25) Delphi (14:53) Joining Microsoft(19:41) Building C# (29:11) Async/await(34:01) The rise of JavaScript(37:52) Building TypeScript(42:58) How the TypeScript compiler works (48:30) JavaScript’s strengths and weaknesses(52:18) How Anders uses AI (56:03) What language features work well with AI (1:02:49) How software craftsmanship is changing(1:07:49) Performance and efficiency (1:09:29) Anders’ tool stack (1:11:30) A 30-year career at Microsoft(1:13:40) Book recommendation—The Pragmatic Engineer deepdives relevant for this episode:• Microsoft’s developer tools roots• 50 Years of Microsoft and developer tools with Scott Guthrie• <a targ
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—Mario Zechner is the creator of Pi, a minimalist, self-modifying AI coding agent, that is the foundation upon which OpenClaw (created by Peter Steinberger) is built. Meanwhile, Armin Ronacher is the creator of Flask, and a longtime user of Pi. The pair are also friends.I sat down with Mario and Armin for the latest episode of the Pragmatic Engineer Podcast for an interesting conversation about AI and their reservations about it – even though both are heavily invested in building AI-powered tools.Mario explains why he built Pi, and gives his take on why it has become so popular. Armin walks us through how he uses AI tools, including building a game with Pi, and why he always puts human judgment firmly at the heart of his approach.We cover the risks of over-automation, the limits of agentic workflows, and why strong engineers with informed judgment still matter. We also get into the challenges of working with code written by non-engineers, and whether open source can withstand a tidal wave of agent-generated code.—Timestamps(00:00) Intro(07:30) How Mario, Armin, and Peter Steinberger met(15:15) How 30 dev teams use AI agents: learnings(21:50) The importance of judgment(24:26) Challenges when non-engineers write code(28:30) Downsides of over-automation(32:18) Pi(48:09) OpenClaw + Pi(50:54) “Clankers”(57:32) Open source and AI(1:00:22) Complexity as the enemy(1:02:50) Building an AI-native startup(1:11:52) “Slow the F down”(1:16:40) MCPs vs. CLI(1:25:03) Predictions and staying up to date—The Pragmatic Engineer deepdives relevant for this episode:• The impact of AI on software engineers in 2026: key trends• Cycles of disruption in the tech industry• The AI engineering stack• <a target="_blank" href="https://newsletter.pragmaticengineer.
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—Martin Kleppmann is a researcher and the author of Designing Data-Intensive Applications, one of the most influential books on modern distributed systems. As of this month, the second, heavily updated edition of the book is out.In this episode of Pragmatic Engineer, we discuss Martin’s career in tech building startups, how he ended up writing this iconic book, and what he’s focused on now after moving into academia.We talk about the tradeoffs behind modern infrastructure, how the cloud has changed what it means to scale, and the thinking behind Designing Data-Intensive Applications, including what’s changing in the second edition.Martin reflects on lessons from building startups like Rapportive, which he sold to LinkedIn, and shares how his experience in both academia and industry shaped his perspective.We also explore what’s ahead: why formal verification may become more important in an AI-assisted world, the challenges of building local-first software, and his recent research into using cryptography to improve transparency in supply chains without exposing sensitive data.—Timestamps(00:00) Early career(05:46) Building Rapportive(10:47) Working at LinkedIn(14:09) Writing Designing Data-Intensive Applications(23:00) Reliability, scalability, and repeatability (26:24) DDIA: the second edition(30:50) Tradeoffs of using cloud services (39:02) How the cloud changed scaling (42:53) The trouble with distributed systems(49:02) Ethics for software engineers (52:45) Formal verification(1:00:12) Academia vs. industry (1:03:50) Local-first software (1:09:50) Computer science education(1:18:32) Martin’s current research and advice—The Pragmatic Engineer deepdives relevant for this episode:• <a target="_blank" href="https://newsletter.pragmaticengineer.com/p/blues
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—David Heinemeier Hansson (DHH) is the creator of Ruby on Rails and Omarchy, co-founder and CTO of 37signals (maker of Basecamp and HEY), and the author of several books including the best-seller, Remote: Office Not Required, co-written with Jason Fried.Six months ago, in an episode of the Lex Fridman podcast, David shared how he doesn’t use AI tools to write code: he types out all his code. But things have changed a lot since then. In this episode, we discuss his approach to building software, how it’s changed in the last six months, and why he now takes an agent-first approach, and how he barely writes any code by hand. We go into how he uses AI agents: which alter how he builds and explores ideas, but also how his standards of quality and craft remain the same.We also discuss how 37signals thinks about product development, from the role of designers to the importance of aesthetics and taste. David gets into how he sees beauty and functionality as closely linked, and why strong opinions about design lead to better software.Finally, we look into the uneven impact of AI which amplifies senior engineers while creating challenges for junior developers, and what this may mean for the role of the software engineer.—Timestamps(00:00) Intro(02:11) Omarchy and Ruby on Rails(08:25) 37signals overview(10:12) Launching HEY(18:38) Building HEY(22:47) Designers at 37signals(28:08) The craft of design(31:52) Why DHH now embraces AI workflows(39:45) The AI inflection point(44:23) DHH’s agent-first workflow(55:09) AI’s impact on junior developers(1:03:08) Developer experience with AI(1:16:43) What does AI mean for developers?(1:23:33) 37signals teams and hiring(1:38:20) Work-life balance with AI(1:41:41) Why DHH keeps building(1:45:24) Closing—The Pragmatic Engineer deepdiv
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—Thuan Pham was Uber's first and longest-serving CTO, and today he’s the CTO of Faire, a B2B wholesale platform. Back when Thuan joined Uber, it had around 40 engineers and 30,000 rides per day, and the system crashed multiple times a week. Over seven years, he helped rebuild the system, move it from a monolith to microservices, and scaled the engineering organization behind it. I had the privilege of working with Thuan for four of those seven years. Later, the very first issue of The Pragmatic Engineer newsletter was a deepdive into Uber’s Program and Platform split. This episode of the podcast contains a nice “full circle” moment, where Thuan shares even more details about why Uber chose to embrace that structure.We discuss what it takes to operate and build in that kind of environment. Thuan explains how he divided his time at Uber into three “tours of duty,” from stabilizing a fragile system, to re-architecting it, and scaling the org.We go deep into the platform-and-program split, the Helix app rewrite, and what it took to launch Uber in China in just five months (the original estimate was 18 months). We also cover Uber’s in-house tools and explain why they were necessary to support rapid growth.Finally, we discuss his role today as CTO of Faire, how the company is using AI, and how he sees AI changing software engineering.—Timestamps(00:00) Intro(05:32) Getting into tech(16:09) The dot-com bust(20:42) VMware(26:29) Getting hired by Travis at Uber(33:22) Early days at Uber and scaling challenges(40:57) Uber’s China launch(47:12) The platform and program split(50:26) From monolith to microservices (53:38) Internal tools at Uber (57:05) Helix: Uber’s mobile app rewrite(59:55) Thuan’s email about naming(1:02:03) Org structure changes under(1:06:34) Thuan’s work philosophy (1:12:23) The “three tours of duty” at Uber(1:15:37) Why Thuan left Uber (1:17:34) Coupang and Nubank(1:21:59) F
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—How did a tiny team of 30 engineers build the world-famous messaging app more than a decade ago, and what can dev teams learn from that feat today? Jean Lee was engineer #19 at WhatsApp, joining when the company was still small, with almost no formal processes. She helped it scale to hundreds of millions of users, went through the $19B acquisition by Facebook, and later worked at Meta.In this episode of Pragmatic Engineer, I talk with Jean about what it was like building WhatsApp. When Facebook bought WhatsApp in 2014, only around 30 engineers supported hundreds of millions of users across eight platforms.We discuss how the founders kept things simple, saying “no” to most feature requests for years. Jean explains why WhatsApp chose Erlang for the backend, why the team avoided cross-platform abstractions, and how charging users $1 per year paid everyone’s salaries, while keeping growth intentionally slow.Jean also shares what the Facebook acquisition was like on the inside, how she dealt with sudden personal wealth, and what it was like transitioning from an IC to a manager at Facebook – including the reality of calibration meetings and performance reviews.We also discuss how AI enables smaller engineering teams, and why WhatsApp’s experience suggests ownership and trust might matter more than tools.—Timestamps(00:00) Intro(01:39) Early years in tech(06:18) Becoming engineer #19 at WhatsApp(13:53) WhatsApp’s tech stack(18:09) WhatsApp’s unique ways of working(25:27) Countdown displays and outages(27:07) Why WhatsApp won(28:53) The Facebook acquisition(33:13) Life after acquisition(39:27) Working at Facebook in London(44:07) Transitioning to management(47:27) Performance reviews as a manager(53:29) After Facebook(58:53) AI’s impact on engineering(1:02:34) Jean’s advice to new grads and startups(1:06:45) Empowering employees(1:08:17) Book recommendations—The Pragmatic Engineer deepdives relevant for this episode:• <a t
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—Steve Yegge has spent decades writing software and thinking about how the craft evolves. From his early years at Amazon and Google, to his influential blog posts, he has often been early at spotting shifts in how software gets built. In this episode of Pragmatic Engineer, I talk with Steve about how AI is changing engineering work, why he believes coding by hand may gradually disappear, and what developers should focus on, instead. We discuss his latest book, Vibe Coding, and the open-source AI agent orchestrator he built called Gas Town, which he said most devs should avoid using.Steve shares his framework for levels of AI adoption by engineers, ranging from avoiding AI tools entirely, to running multiple agents in parallel. We discuss why he believes the knowledge that engineers need to know keeps changing, and why understanding how systems evolve may matter more than mastering any particular tool.We also explore broader implications. Steve argues that AI’s role is not primarily to replace engineers, but to amplify them. At the same time, he warns that the pace of change will create new kinds of technical debt, new productivity pressures, and fresh challenges for how teams operate.—Timestamps(00:00) Intro(01:43) Steve’s latest projects(02:27) Important blog posts(04:48) Shifts in what engineers need to know(10:46) Steve’s current AI stance(13:23) Steve’s book Vibe Coding(18:25) Layoffs and disruption in tech(31:13) Gas Town(40:10) New ways of working(51:08) The problem of too many people(54:45) Why AI results lag in business(59:57) Gamification and product stickiness(1:04:54) The ‘Bitter Lesson’ explained(1:07:14) The future of software development(1:23:06) Where languages stand(1:24:47) Adapting to change(1:27:32) Steve’s predictions —The Pragmatic Engineer deepdives relevant for this episode:<
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—Boris Cherny is the creator and Head of Claude Code at Anthropic. He previously spent five years at Meta as a Principal Engineer and is the author of the book Programming TypeScript.In this episode of Pragmatic Engineer, we went through how Claude Code was built and what it means when engineers no longer write most of the code themselves.We discuss how Claude Code evolved from a side project into a core internal tool at Anthropic and how Boris uses it day-to-day. We go deep into workflow details, including parallel agents, PR structure, deterministic review patterns, and how the system retrieves context from large codebases. We also get into how Claude Cowork was built.As coding becomes more accessible, the role of engineers shifts rather than shrinks. We examine what that shift means in practice, which skills become more important, and why the lines between product, engineering, and design are blurring.—Timestamps(00:00) Intro(11:15) Lessons from Meta(19:46) Joining Anthropic(23:08) The origins of Claude Code(32:55) Boris's Claude Code workflow(36:27) Parallel agents(40:25) Code reviews(47:18) Claude Code's architecture(52:38) Permissions and sandboxing(55:05) Engineering culture at Anthropic(1:05:15) Claude Cowork(1:12:48) Observability and privacy(1:14:45) Agent swarms(1:21:16) LLMs and the printing press analogy(1:30:16) Standout engineer archetypes(1:32:12) What skills still matter for engineers(1:35:24) Book recommendations—The Pragmatic Engineer deepdives relevant for this episode:• How Claude Code is built• How Anthropic built Artifacts• How Codex is built• <a target="_blank" href="http
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—How has the day-to-day workflow of Mitchell Hashimoto changed, thanks to AI tools?Mitchell Hashimoto is one of the most influential infrastructure engineers of our time, and is one of the most pragmatic builders I’ve met. He is the co-founder of HashiCorp and creator of Ghostty. In this episode, we talk about how he got into software engineering, the history of HashiCorp, and the challenges of turning widely used open-source tools into a durable business. We also go into what it’s really like to work with AWS, Azure and GCP as a startup.Mitchell shares how he uses AI these days, and how agents have completely changed how he works. We touch on Ghostty, open source, and what’s changing for software engineers and founders in an AI-native era.—Timestamps(00:00) Intro(02:03) Mitchell’s path into software engineering(07:19) The origins of HashiCorp(15:52) Early cloud computing(18:22) The 2010s startup scene in SF(23:11) Funding HashiCorp(25:23) The Hashi stack(32:33) Why HashiCorp’s business lagged behind its technology(35:28) An early failure in commercialization(38:28) The open-core pivot and path to enterprise profitability(48:08) Taking HashiCorp public(51:58) The near VMware acquisition(59:10) Mitchell’s take on all the cloud providers(1:06:02) AI’s impact on open source(1:07:00) Why Mitchell built Ghostty(1:09:11) Why Mitchell used Zig(1:10:38) How terminals work and Ghostty’s approach(1:17:31) AI’s impact on terminals and libghostty(1:19:13) How Mitchell uses AI(1:22:02) Ghostty’s evolving AI use policy(1:28:36) Why open source must change(1:31:46) The problem of Git in monorepos(1:36:22) What needs to change to work effectively with AI(1:39:57) Mitchell’s hiring practices(1:47:52) Mitchell’s AI adoption journey(1:50:41) Advice to would-be founders(1:52:21) Mitchell’s advising work(1:53:20) What’s changing for software engineers(1:55:03) How Mitchell recharges(1:55:50) Book recommendation—The Pragmatic Engineer deepdives relevant for this episode:• <a target="_bla
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—Andrey Breslav is the creator of Kotlin and the founder of CodeSpeak, a new programming language that aims to reduce boilerplate by replacing trivial code with concise, plain-English descriptions. He led Kotlin’s design at JetBrains through its early releases, shaping both the language and its compiler as Kotlin grew into a core part of the Android ecosystem.In this episode, we talk about what it takes to design and evolve a programming language in production. We discuss the influences behind Kotlin, the tradeoffs that shaped it, and why interoperability with Java became so central to its success. Andrey also explains why he is building CodeSpeak as a response to growing code complexity in an era of LLM agents, and why he believes keeping humans in control of the software development lifecycle will matter even more as AI becomes more capable.—Timestamps(00:00) Intro(01:02) Why Kotlin was created(06:26) Dynamic vs. static languages(09:27) Andrey joins the Kotlin project(14:26) Designing a new language (19:40) Frontend vs. Backend in language design(21:05) Why is it named Kotlin?(24:37) Kotlin vs. Java tradeoffs(28:32) Null safety (31:24) Kotlin’s influences (39:12) Smartcasts (40:42) Features Kotlin left out(44:54) Bidirectional Java interoperability(55:01) The Kotlin timeline (58:00) Kotlin’s development process(1:07:20) From Java to Android developers(1:12:12) How Android became Kotlin-first (1:18:20) CodeSpeak: a language for LLMs(1:24:07) LLMs and new languages(1:28:20) How software engineering is changing with AI(1:36:12) Developer tools of the future (1:39:00) Andrey’s advice for junior engineers and students (1:42:32) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:• Cross-platform mobile development• How
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—Every few decades, software engineering is declared “dead” or on the verge of being automated away. We’ve heard versions of this story before. But what if it’s just the start of a new “golden age” of a different type of software engineering, like it has been many times before?In this episode of The Pragmatic Engineer, I’m joined once again by Grady Booch, one of the most influential figures in the history of software engineering, to put today’s claims about AI and automation into historical context.Grady is the co-creator of the Unified Modeling Language, author of several books and papers that have shaped modern software development, and Chief Scientist for Software Engineering at IBM, where he focuses on embodied cognition.Grady shares his perspective on three golden ages of computing since the 1940s, and how each emerged in response to the constraints of its time. He explains how technical limits and human factors have always shaped the systems we build, and why periods of rapid change tend to produce both real progress and inflated expectations.He also responds to current claims that software engineering will soon be fully automated, explaining why systems thinking, human judgment, and responsibility remain central to the work, even as tools continue to evolve.—Timestamps(00:00) Intro(01:04) The first golden age of software engineering(18:05) The software crisis(32:07) The second golden age of software engineering (41:27) Y2K and the Dotcom crash (44:53) Early AI (46:40) The third golden age of software engineering (50:54) Why software engineers will very much be needed(57:52) Grady responds to Dario Amodei(1:06:00) New skills engineers will need to succeed(1:09:10) Resources for studying complex systems (1:13:39) How to thrive during periods of change—The Pragmatic Engineer deepdives relevant for this episode:• When AI writes almost all code, what h
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—Peter Steinberger ships more code than I’ve seen a single person do: in January, he was at more than 6,600 commits alone. As he puts it: “From the commits, it might appear like it's a company. But it’s not. This is one dude sitting at home having fun."How does he do it?Peter Steinberger is the creator of Clawdbot (as of yesterday: renamed to Moltbot) and founder of PSPDFKit. Moltbot – a work-in-progress AI agent that shows what the future of Siri could be like – is currently the hottest AI project in the tech industry, with more searches on Google than Claude Code or Codex. I sat down with Peter in London to talk about what building software looks like when you go all-in with AI tools like Claude and Codex.Peter’s background is fascinating. He built and scaled PSPDFKit into a global developer tools business. Then, after a three-year break, he returned to building. This time, LLMs and AI agents sit at the center of his workflow. We discuss what changes when one person can operate like a team and why closing the loop between code, tests, and feedback becomes a prerequisite for working effectively with AI.We also go into how engineering judgment shifts with AI, how testing and planning evolve when agents are involved, and which skills and habits are needed to work effectively. This is a grounded conversation about real workflows and real tradeoffs, and about designing systems that can test and improve themselves.—Timestamps(00:00) Intro(01:07) How Peter got into tech (08:27) PSPDFKit(19:14) PSPDFKit’s tech stack and culture(22:33) Enterprise pricing(29:42) Burnout (34:54) Peter finding his spark again(43:02) Peter’s workflow (49:10) Managing agents (54:08) Agentic engineering(59:01) Testing and debugging (1:03:49) Why devs struggle with LLM coding(1:07:20) How PSPDFkit would look if built toda
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS – Everything you need to make your app enterprise ready.—Amazon S3 is one of the largest distributed systems ever built, storing and serving data for a significant portion of the internet. Behind its simple interfaces hides an enormous amount of engineering work, careful tradeoffs, and long-term thinking.In this episode, I sit down with Mai-Lan Tomsen Bukovec, VP of Data and Analytics at AWS, who has been running Amazon S3 for more than a decade. Mai-Lan shares how S3 operates at extreme scale, what it takes to design for durability and availability across millions of servers, and why building for failure is a core principle.We also go deep into how AWS approaches correctness using formal methods, how storage tiers and limits shape system design, and why simplicity remains one of the hardest and most important goals at S3’s scale.—Timestamps(00:00) Intro(01:03) S3’s scale (03:58) How S3 started (07:25) Parquet, Iceberg, and S3 tables(09:46) S3 for developers (13:37) Why AWS keeps S3 prices low (17:10) AWS pricing tiers(19:38) Availability and durability (26:21) The cost of S3's consistency(31:22) Automated reasoning and proof of correctness (35:14) Durability at AWS scale(39:58) Correlated failure and crash consistency (43:22) Failure allowances (46:04) Two opposing principles in S3 design(49:09) S3’s evolution (52:21) S3 Vectors (1:01:16) The 50 TB limit on AWS(1:07:54) The simplicity principle(1:10:10) Types of engineers working on S3(1:14:15) Closing recommendations —The Pragmatic Engineer deepdives relevant for this episode:• Inside Amazon’s engineering culture• How AWS deals with a major outage• A Day in the Life of a Senior Manager at Amazon• What is a Principal Engineer at Amazon? – with Steve Huynh• Working at Amazon as
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Linear — The system for modern product development.—How have servers and the cloud evolved in the last 30 years, and what might be next? Bryan Cantrill was a distinguished engineer at Sun Microsystems during both the Dotcom Boom and the Dotcom Bust. Today, he is the co-founder and CTO of Oxide Computer, where he works on modern server infrastructure.In this episode of The Pragmatic Engineer, Bryan joins me to break down how modern computing infrastructure evolved. We discuss why the Dotcom Bust produced deeper innovation than the Boom, how constraints shape better systems, and what the rise of the cloud changed and did not change about building reliable infrastructure.Our conversation covers early web infrastructure at Sun, the emergence of AWS, Kubernetes and cloud neutrality, and the tradeoffs between renting cloud space and building your own. We also touch on the complexity of server-side software updates, experimenting with AI, the limits of large language models, and how engineering organizations scale without losing their values.If you want a systems-level perspective on computing that connects past cycles to today’s engineering decisions, this episode offers a rare long-range view.—Timestamps(00:00) Intro(01:26) Computer science in the 1990s(03:01) Sun and Cisco’s web dominance(05:41) The Dotcom Boom(10:26) From Boom to Bust (15:32) The innovations of the Bust(17:50) The open source shift(22:00) Oracle moves into Sun’s orbit(24:54) AWS dominance (2010–2014)(28:15) How Kubernetes and cloud neutrality(30:58) Custom infrastructure (36:10) Renting the cloud vs. buying hardware(45:28) Designing a computer from first principles (50:02) Why everyone is paid the same salary at Oxide(54:14) Oxide’s software stack (58:33) The evolution of software updates(1:02:55) How Oxide uses AI (1:06:05) The limitations of LLMs(1:11:44) AI use and experimentation at Oxide (1:17:45) Oxide’s diverse teams(1:22:44) Remote work at Oxide(1:24:11) Scaling company values(1:27:36) AI’s impact on the future of engineering (1:31:04) Bryan’s advice for junior engineers(1:34:01) Book recommendations—The Pragmatic Engineer deepdives relevant for this episode:• Startups on hard mode: Oxide. Part 1: Hardware• <a target="_blank" href="https://newslette
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more. • Linear — The system for modern product development. —Michelle Lim joined Warp as engineer number one and is now building her own startup, Flint. She brings a strong product-first mindset shaped by her time at Facebook, Slack, Robinhood, and Warp. Michelle shares why she chose Warp over safer offers, how she evaluates early-stage opportunities, and what she believes distinguishes great founding engineers.Together, we cover how product-first engineers create value, why negotiating equity at early-stage startups requires a different approach, and why asking founders for references is a smart move. Michelle also shares lessons from building consumer and infrastructure products, how she thinks about tech stack choices, and how engineers can increase their impact by taking on work outside their job descriptions.If you want to understand what founders look for in early engineers or how to grow into a founding-engineer role, this episode is full of practical advice backed by real examples—Timestamps(00:00) Intro(01:32) How Michelle got into software engineering (03:30) Michelle’s internships (06:19) Learnings from Slack (08:48) Product learnings at Robinhood(12:47) Joining Warp as engineer #1(22:01) Negotiating equity(26:04) Asking founders for references(27:36) The top reference questions to ask(32:53) The evolution of Warp’s tech stack (35:38) Product-first engineering vs. code-first(38:27) Hiring product-first engineers (41:49) Different types of founding engineers (44:42) How Flint uses AI tools (45:31) Avoiding getting burned in founder exits(49:26) Hiring top talent(50:15) An overview of Flint(56:08) Advice for aspiring founding engineers(1:01:05) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:• Thriving as a founding engineer: lessons from the trenches• From software engineer to AI engineer• AI Engineering in the real world• The AI Engin
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more. Statsig are helping make the first-ever Pragmatic Summit a reality. Join me and 400 other top engineers and leaders on 11 February, in San Francisco for a special one-day event. Reserve your spot here.• Linear — The system for modern product development. Engineering teams today move much faster, thanks to AI. Because of this, coordination increasingly becomes a problem. This is where Linear helps fast-moving teams stay focused. Check out Linear.—As software engineers, what should we know about writing secure code?Johannes Dahse is the VP of Code Security at Sonar and a security expert with 20 years of industry experience. In today’s episode of The Pragmatic Engineer, he joins me to talk about what security teams actually do, what developers should own, and where real-world risk enters modern codebases.We cover dependency risk, software composition analysis, CVEs, dynamic testing, and how everyday development practices affect security outcomes. Johannes also explains where AI meaningfully helps, where it introduces new failure modes, and why understanding the code you write and ship remains the most reliable defense.If you build and ship software, this episode is a practical guide to thinking about code security under real-world engineering constraints.—Timestamps(00:00) Intro(02:31) What is penetration testing?(06:23) Who owns code security: devs or security teams?(14:42) What is code security? (17:10) Code security basics for devs(21:35) Advanced security challenges(24:36) SCA testing (25:26) The CVE Program (29:39) The State of Code Security report (32:02) Code quality vs security(35:20) Dev machines as a security vulnerability(37:29) Common security tools(42:50) Dynamic security tools(45:01) AI security reviews: what are the limits?(47:51) AI-generated code risks(49:21) More code: more vulnerabilities(51:44) AI’s impact on code security(58:32) Common misconceptions of the security industry(1:03:05) When is security “good enough?”(1:05:40) Johannes’s favorite programming language—The Pragmatic Engineer deepdives relevant for this episode:• What is Security En
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more. AI-accelerated development isn’t just about shipping faster: it’s about measuring whether, what you ship, actually delivers value. This is where modern experimentation with Statsig comes in. Check it out.• Linear — The system for modern product development. I had a jaw-dropping experience when I dropped in for the weekly “Quality Wednesdays” meeting at Linear. Every week, every dev fixes at least one quality isse, large or small. Even if it’s one pixel misalignment, like this one. I’ve yet to see a team obsess this much about quality. Read more about how Linear does Quality Wednesdays – it’s fascinating!—Martin Fowler is one of the most influential people within software architecture, and the broader tech industry. He is the Chief Scientist at Thoughtworks and the author of Refactoring and Patterns of Enterprise Application Architecture, and several other books. He has spent decades shaping how engineers think about design, architecture, and process, and regularly publishes on his blog, MartinFowler.com.In this episode, we discuss how AI is changing software development: the shift from deterministic to non-deterministic coding; where generative models help with legacy code; and the narrow but useful cases for vibe coding. Martin explains why LLM output must be tested rigorously, why refactoring is more important than ever, and how combining AI tools with deterministic techniques may be what engineering teams need.We also revisit the origins of the Agile Manifesto and talk about why, despite rapid changes in tooling and workflows, the skills that make a great engineer remain largely unchanged.—Timestamps(00:00) Intro(01:50) How Martin got into software engineering (07:48) Joining Thoughtworks (10:07) The Thoughtworks Technology Radar(16:45) From Assembly to high-level languages(25:08) Non-determinism (33:38) Vibe coding(39:22) StackOverflow vs. coding with AI(43:25) Importan
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more. Statsig enables two cultures at once: continuous shipping and experimentation. Companies like Notion went from single-digit experiments per quarter to over 300 experiments with Statsig. Start using Statsig with a generous free tier, and a $50K startup program.• Linear — The system for modern product development. When most companies hit real scale, they start to slow down, and are faced with “process debt.” This often hits software engineers the most. Companies switch to Linear to hit a hard reset on this process debt – ones like Scale cut their bug resolution in half after the switch. Check out Linear’s migration guide for details.—What’s it like to work as a software engineer inside one of the world’s biggest streaming companies?In this special episode recorded at Netflix’s headquarters in Los Gatos, I sit down with Elizabeth Stone, Netflix’s Chief Technology Officer. Before becoming CTO, Elizabeth led data and insights at Netflix and was VP of Science at Lyft. She brings a rare mix of technical depth, product thinking, and people leadership.We discuss what it means to be “unusually responsible” at Netflix, how engineers make decisions without layers of approval, and how the company balances autonomy with guardrails for high-stakes projects like Netflix Live. Elizabeth shares how teams self-reflect and learn from outages and failures, why Netflix doesn’t do formal performance reviews, and what new grads bring to a company known for hiring experienced engineers.This episode offers a rare inside look at how Netflix engineers build, learn, and lead at a global scale.—Timestamps(00:00) Intro(01:44) The scale of Netflix (03:31) Production software stack(05:20) Engineering challenges in production(06:38) How the Open Connect delivery network works(08:30) From pitch to play (11:31) How Netflix enables engineers to make decisions (13:26) Building Netflix Live for global sports(16:25) Learnings from Paul vs. Tyson for NFL Live(17:47) Inside the control room (20:35) What being unusually responsible looks like(24:15) Balancing team autonomy with guardrails for Live(30:55) The high talent bar and introduction of levels at Netflix(36:01) The Keeper Test (41:27) Why engineers leave or stay (44:27) How AI tools are used at Netflix
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more. Companies like Graphite, Notion, and Brex rely on Statsig to measure the impact of the pace they ship. Get a 30-day enterprise trial here.• Linear – The system for modern product development. Linear is a heavy user of Swift: they just redesigned their native iOS app using their own take on Apple’s Liquid Glass design language. The new app is about speed and performance – just like Linear is. Check it out.—Chris Lattner is one of the most influential engineers of the past two decades. He created the LLVM compiler infrastructure and the Swift programming language – and Swift opened iOS development to a broader group of engineers. With Mojo, he’s now aiming to do the same for AI, by lowering the barrier to programming AI applications.I sat down with Chris in San Francisco, to talk language design, lessons on designing Swift and Mojo, and – of course! – compilers. It’s hard to find someone who is as enthusiastic and knowledgeable about compilers as Chris is!We also discussed why experts often resist change even when current tools slow them down, what he learned about AI and hardware from his time across both large and small engineering teams, and why compiler engineering remains one of the best ways to understand how software really works.—Timestamps(00:00) Intro(02:35) Compilers in the early 2000s(04:48) Why Chris built LLVM(08:24) GCC vs. LLVM(09:47) LLVM at Apple (19:25) How Chris got support to go open source at Apple(20:28) The story of Swift (24:32) The process for designing a language (31:00) Learnings from launching Swift (35:48) Swift Playgrounds: making coding accessible(40:23) What Swift solved and the technical debt it created(47:28) AI learnings from Google and Tesla (51:23) SiFive: learning about hardware engineering(52:24) Mojo’s origin story(57:15) Modular’s bet on a two-level stack(1:01:49) Compiler shortcomings(1:09:11) Getting started with Mojo (1:15:44) How big is Modular, as a company?(1:19:00) AI coding tools the Modular team uses (1:22:59) What kind of software engineers Modular hires (1:25:22) A programming language for LLMs? No thanks(1:29:06) Why you should study and understand compilers—The Pragmatic Engineer deepdives relevant for this episod
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more. • Linear – The system for modern product development. —Addy Osmani is Head of Chrome Developer Experience at Google, where he leads teams focused on improving performance, tooling, and the overall developer experience for building on the web. If you’ve ever opened Chrome’s Developer Tools bar, you’ve definitely used features Addy has built. He’s also the author of several books, including his latest, Beyond Vibe Coding, which explores how AI is changing software development.In this episode of The Pragmatic Engineer, I sit down with Addy to discuss how AI is reshaping software engineering workflows, the tradeoffs between speed and quality, and why understanding generated code remains critical. We dive into his article The 70% Problem, which explains why AI tools accelerate development but struggle with the final 30% of software quality—and why this last 30% is tackled easily by software engineers who understand how the system actually works.—Timestamps(00:00) Intro(02:17) Vibe coding vs. AI-assisted engineering(06:07) How Addy uses AI tools(13:10) Addy’s learnings about applying AI for development(18:47) Addy’s favorite tools(22:15) The 70% Problem(28:15) Tactics for efficient LLM usage(32:58) How AI tools evolved(34:29) The case for keeping expectations low and control high(38:05) Autonomous agents and working with them(42:49) How the EM and PM role changes with AI(47:14) The rise of new roles and shifts in developer education(48:11) The importance of critical thinking when working with AI(54:08) LLMs as a tool for learning(1:03:50) Rapid questions—The Pragmatic Engineer deepdives relevant for this episode:• Vibe Coding as a software engineer• How AI-assisted coding will change software engineering: hard truths• AI Engineering in the real world• <a target="_blank" href="https://newsletter.pragmaticengineer.com/p/the-ai-eng
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more. Something interesting is happening with the latest generation of tech giants. Rather than building advanced experimentation tools themselves, companies like Anthropic, Figma, Notion and a bunch of others… are just using Statsig. Statsig has rebuilt this entire suite of data tools that was available at maybe 10 or 15 giants until now. Check out Statsig.• Linear – The system for modern product development. Linear is just so fast to use – and it enables velocity in product workflows. Companies like Perplexity and OpenAI have already switched over, because simplicity scales. Go ahead and check out Linear and see why it feels like a breeze to use.—What is it really like to be an engineer at Google?In this special deep dive episode, we unpack how engineering at Google actually works. We spent months researching the engineering culture of the search giant, and talked with 20+ current and former Googlers to bring you this deepdive with Elin Nilsson, tech industry researcher for The Pragmatic Engineer and a former Google intern.Google has always been an engineering-driven organization. We talk about its custom stack and tools, the design-doc culture, and the performance and promotion systems that define career growth. We also explore the culture that feels built for engineers: generous perks, a surprisingly light on-call setup often considered the best in the industry, and a deep focus on solving technical problems at scale.If you are thinking about applying to Google or are curious about how the company’s engineering culture has evolved, this episode takes a clear look at what it was like to work at Google in the past versus today, and who is a good fit for today’s Google.Jump to interesting parts:(13:50) Tech stack(1:05:08) Performance reviews (GRAD)(2:07:03) The culture of continuously rewriting things—Timestamps(00:00) Intro(01:44) Stats about Google(11:41) The shared culture across Google(13:50) Tech stack(34:33) Internal developer tools and monorepo(43:17) The downsides of having so many internal tools at Google(45:29) Perks(55:37) Engineering roles(1:02:32) Levels at Google <p
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more. Most teams end up in this situation: ship a feature to 10% of users, wait a week, check three different tools, try to correlate the data, and you’re still unsure if it worked. The problem is that each tool has its own user identification and segmentation logic. Statsig solved this problem by building everything within a unified platform. Check out Statsig.• Linear – The system for modern product development. In the episode, Armin talks about how he uses an army of “AI interns” at his startup. With Linear, you can easily do the same: Linear’s Cursor integration lets you add Cursor as an agent to your workspace. This agent then works alongside you and your team to make code changes or answer questions. You’ve got to try it out: give Linear a spin and see how it integrates with Cursor.—Armin Ronacher is the creator of the Flask framework for Python, was one of the first engineers hired at Sentry, and now the co-founder of a new startup. He has spent his career thinking deeply about how tools shape the way we build software.In this episode of The Pragmatic Engineer Podcast, he joins me to talk about how programming languages compare, why Rust may not be ideal for early-stage startups, and how AI tools are transforming the way engineers work. Armin shares his view on what continues to make certain languages worth learning, and how agentic coding is driving people to work more, sometimes to their own detriment. We also discuss: • Why the Python 2 to 3 migration was more challenging than expected• How Python, Go, Rust, and TypeScript stack up for different kinds of work • How AI tools are changing the need for unified codebases• What Armin learned about error handling from his time at Sentry• And much more Jump to interesting parts:• (06:53) How Python, Go, and Rust stack up and when to use each one• (30:08) Why Armin has changed his mind about AI tools• (50:32) How important are language choices from an error-handling perspective?
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more. Statsig built a complete set of data tools that allow engineering teams to measure the impact of their work. This toolkit is SO valuable to so many teams, that OpenAI - who was a huge user of Statsig - decided to acquire the company, the news announced last week. Talk about validation! Check out Statsig.• Linear – The system for modern product development. Here’s an interesting story: OpenAI switched to Linear as a way to establish a shared vocabulary between teams. Every project now follows the same lifecycle, uses the same labels, and moves through the same states. Try Linear for yourself.—What does it take to do well at a hyper-growth company? In this episode of The Pragmatic Engineer, I sit down with Charles-Axel Dein, one of the first engineers at Uber, who later hired me there. Since then, he’s gone on to work at CloudKitchens. He’s also been maintaining the popular Professional programming reading list GitHub repo for 15 years, where he collects articles that made him a better programmer. In our conversation, we dig into what it’s really like to work inside companies that grow rapidly in scale and headcount. Charles shares what he’s learned about personal productivity, project management, incidents, interviewing, plus how to build flexible skills that hold up in fast-moving environments. Jump to interesting parts:• 10:41 – the reality of working inside a hyperscale company• 41:10 – the traits of high-performing engineers• 1:03:31 – Charles’ advice for getting hired in today’s job marketWe also discuss:• How to spot the signs of hypergrowth (and when it’s slowing down)• What sets high-performing engineers apart beyond shipping• Charles’s personal productivity tips, favorite reads, and how he uses reading to uplevel his skills• Strategic tips f
Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more. Statsig built a complete set of data tools that allow engineering teams to measure the impact of their work. This toolkit is SO valuable to so many teams, that OpenAI - who was a huge user of Statsig - decided to acquire the company, the news announced last week. Talk about validation! Check out Statsig.• Linear – The system for modern product development. Here’s an interesting story: OpenAI switched to Linear as a way to establish a shared vocabulary between teams. Every project now follows the same lifecycle, uses the same labels, and moves through the same states. Try Linear for yourself.—The Pragmatic Engineer Podcast is back with the Fall 2025 season. Expect new episodes to be published on most Wednesdays, looking ahead.Code Complete is one of the most enduring books on software engineering. Steve McConnell wrote the 900-page handbook just five years into his career, capturing what he wished he’d known when starting out. Decades later, the lessons remain relevant, and Code Complete remains a best-seller.In this episode, we talk about what has aged well, what needed updating in the second edition, and the broader career principles Steve has developed along the way. From his “career pyramid” model to his critique of “lily pad hopping,” and why periods of working in fast-paced, all-in environments can be so rewarding, the emphasis throughout is on taking ownership of your career and making deliberate choices.We also discuss:• Top-down vs. bottom-up design and why most engineers default to one approach• Why rewriting code multiple times makes it better• How taking a year off to write Code Complete crystallized key lessons• The 3 areas software designers need to understand, and why focusing only on technology may be the most limiting • And much more!Steve rarely gives interviews, so I hope you enjoy this conversation, which we recorded in Seattle.—Timestamps(00:00) Intro(01:31) How and why Steve wrote Code Complete(08:08) What code construction is and how it differs from software development(11:12) Top-down vs. bottom-up design approach(14:46) Why design documents frustrate some engineers(16:50) The case for rewritin
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, Head of Insights at Carta, to break down how venture capital and startups themselves are changing.We go deep on the numbers: why fewer companies are getting funded despite record VC investment levels, how hiring has shifted dramatically since 2021, and why solo founders are on the rise even though most VCs still prefer teams. We also unpack the growing emphasis on ARR per FTE, what actually happens in bridge and down rounds, and why the time between fundraising rounds has stretched far beyond the old 18-month cycle.We cover what all this means for engineers: what to ask before joining a startup, how to interpret valuation trends, and what kind of advisor roles startups are actually looking for.If you work at a startup, are considering joining one, or just want a clearer picture of how venture-backed companies operate today, this episode is for you.—Timestamps(00:00) Intro(01:21) How venture capital works and the goal of VC-backed startups(03:10) Venture vs. non-venture backed businesses (05:59) Why venture-backed companies prioritize growth over profitability(09:46) A look at the current health of venture capital (13:19) The hiring slowdown at startups(16:00) ARR per FTE: The new metric VCs care about(21:50) Priced seed rounds vs. SAFEs (24:48) Why some founders are incentivized to raise at high valuations(29:31) What a bridge round is and why they can signal trouble(33:15) Down rounds and how optics can make or break startups (36:47) Why working at startups offers more ownership and learning(37:47) What the data shows about raising money in the summer(41:45) The length of time it takes to close a VC deal(44:29) How AI is reshaping startup formation, team size, and funding trends(48:11) Why VCs don’t like solo founders(50:06) How employee equity (ESOPs) work(53:50) Why acquisition payouts are often smaller than employees expect(55:06) Deep tech vs. software startups:(57:25) Startup advisors: What they do, how much equity they get(1:02:08) Why time between rounds is increasing and what tha
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 this episode of The Pragmatic Engineer, I’m joined by Laura Tacho, CTO at DX, to cut through the hype and share how well (or not) AI tools are actually working inside engineering orgs. Laura shares insights from DX’s research across 180+ companies, including surprising findings about where developers save the most time, why devs don’t use AI at all, and what kinds of rollouts lead to meaningful impact.We also discuss: • The problem with oversimplified AI headlines and how to think more critically about them• An overview of the DX AI Measurement framework• Learnings from Booking.com’s AI tool rollout• Common reasons developers aren’t using AI tools• Why using AI tools sometimes decreases developer satisfaction• Surprising results from DX’s 180+ company study• How AI-generated documentation differs from human-written docs• Why measuring developer experience before rolling out AI is essential• Why Laura thinks roadmaps are on their way out• And much more!—Timestamps(00:00) Intro(01:23) Laura’s take on AI overhyped headlines (10:46) Common questions Laura gets about AI implementation (11:49) How to measure AI’s impact (15:12) Why acceptance rate and lines of code are not sufficient measures of productivity(18:03) The Booking.com case study(20:37) Why some employees are not using AI (24:20) What developers are actually saving time on (29:14) What happens with the time savings(31:10) The surprising results from the DORA report on AI in engineering (33:44) A hypothesis around AI and flow state and the importance of talking to developers(35:59) What’s working in AI architecture (42:22) Learnings from WorkHuman’s adoption of Copilot (47:00) Consumption-based pricing, and the difficulty of allocating resources to AI (52:01) What DX Core 4 measures (55:32) The best outcomes of implementing AI (58:56) Why highly regulated industries are having the best results with AI rollout(1:00:30) Indeed’s structured AI rollout (1:04:22) Why migrations might be a good use case for AI (and a tip for doing it!) (1:07:30) Advice for engineer
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 the famous “Google Platforms Rant” and the evergreen “Get that job at Google” post. He spent 7 years at Amazon and 13 at Google, as well as some time at Grab before briefly retiring from tech. Now out of retirement, he’s building AI developer tools at Sourcegraph—drawn back by the excitement of working with LLMs. He’s currently writing the book Vibe Coding: Building Production-Grade Software With GenAI, Chat, Agents, and Beyond.In this episode of The Pragmatic Engineer, I sat down with Steve in Seattle to talk about why Google consistently failed at building platforms, why AI coding feels easy but is hard to master, and why a new role, the AI Fixer, is emerging. We also dig into why he’s so energized by today’s AI tools, and how they’re changing the way software gets built.We also discuss: • The “interview anti-loop” at Google and the problems with interviews• An inside look at how Amazon operated in the early days before microservices • What Steve liked about working at Grab• Reflecting on the Google platforms rant and why Steve thinks Google is still terrible at building platforms• Why Steve came out of retirement• The emerging role of the “AI Fixer” in engineering teams• How AI-assisted coding is deceptively simple, but extremely difficult to steer• Steve’s advice for using AI coding tools and overcoming common challenges• Predictions about the future of developer productivity• A case for AI creating a real meritocracy • And much more!—Timestamps(00:00) Intro(04:55) An explanation of the interview anti-loop at Google and the shortcomings of interviews(07:44) Work trials and why entry-level jobs aren’t posted for big tech companies(09:50) An overview of the difficult process of landing a job as a software engineer(15:48) Steve’s thoughts on Grab and why he loved it(20:22) Insights from the Google platforms rant that was picked up by TechCrunch(27:44) The impact of the Google platforms rant(29:40) What Steve discovered about print ads not working for Google (3
Supported by Our Partners• Statsig — The unified platform for flags, analytics, experiments, and more.• Graphite — The AI developer productivity platform. • Augment Code — AI coding assistant that pro engineering teams love.—Steve Huynh spent 17 years at Amazon, including four as a Principal Engineer. In this episode of The Pragmatic Engineer, I join Steve in his studio for a deep dive into what the Principal role actually involves, why the path from Senior to Principal is so tough, and how even strong engineers can get stuck. Not because they’re unqualified, but because the bar is exceptionally high.We discuss what’s expected at the Principal level, the kind of work that matters most, and the trade-offs that come with the title. Steve also shares how Amazon’s internal policies shaped his trajectory, and what made the Principal Engineer community one of the most rewarding parts of his time at the company.We also go into: • Why being promoted from Senior to Principal is one of the hardest jumps in tech• How Amazon’s freedom of movement policy helped Steve work across multiple teams, from Kindle to Prime Video• The scale of Amazon: handling 10k–100k+ requests per second and what that means for engineering• Why latency became a company-wide obsession—and the research that tied it directly to revenue• Why companies should start with a monolith, and what led Amazon to adopt microservices• What makes the Principal Engineering community so special • Amazon’s culture of learning from its mistakes, including COEs (correction of errors) • The pros and cons of the Principal Engineer role• What Steve loves about the leadership principles at Amazon• Amazon’s intense writing culture and 6-pager format • Why Amazon patents software and what that process looks like• And much more!—Timestamps(00:00) Intro(01:11) What Steve worked on at Amazon, including Kindle, Prime Video, and payments(04:38) How Steve was able to work on so many teams at Amazon (09:12) An overview of the scale of Amazon and the dependency chain(16:40) Amazon’s focus on latency and the tradeoffs they make to keep latency low at scale(26:00) Why companies should start with a monolith (26:44) The structure of engineering at Amazon and why Amazon’s Principal is so hard to reach(30:44) The Principal Engineering community at Amazon(36:06) The learning benefits of working for a tech giant (38:44) Five challeng
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. —What happens when a company goes all in on AI?At Shopify, engineers are expected to utilize AI tools, and they’ve been doing so for longer than most. Thanks to early access to models from GitHub Copilot, OpenAI, and Anthropic, the company has had a head start in figuring out what works.In this live episode from LDX3 in London, I spoke with Farhan Thawar, VP of Engineering, about how Shopify is building with AI across the entire stack. We cover the company’s internal LLM proxy, its policy of unlimited token usage, and how interns help push the boundaries of what’s possible.In this episode, we cover:• How Shopify works closely with AI labs• The story behind Shopify’s recent Code Red• How non-engineering teams are using Cursor for vibecoding• Tobi Lütke’s viral memo and Shopify’s expectations around AI• A look inside Shopify’s LLM proxy—used for privacy, token tracking, and more• Why Shopify places no limit on AI token spending • Why AI-first isn’t about reducing headcount—and why Shopify is hiring 1,000 interns• How Shopify’s engineering department operates and what’s changed since adopting AI tooling• Farhan’s advice for integrating AI into your workflow• And much more!—Timestamps(00:00) Intro(02:07) Shopify’s philosophy: “hire smart people and pair with them on problems”(06:22) How Shopify works with top AI labs (08:50) The recent Code Red at Shopify(10:47) How Shopify became early users of GitHub Copilot and their pivot to trying multiple tools(12:49) The surprising ways non-engineering teams at Shopify are using Cursor(14:53) Why you have to understand code to submit a PR at Shopify(16:42) AI tools' impact on SaaS (19:50) Tobi Lütke’s AI memo(21:46) Shopify’s LLM proxy and how they protect their privacy(23:00) How Shopify utilizes MCPs(26:59) Why AI tools aren’t the place to pinch pennies(30:02) Farhan’s projects and favorite AI tools(32:50) Why AI-first isn’t about freezing headcount and the value of hiring interns(36:20) How Shopify’s engineering department operates, including internal tools(40:31) Why Shopify added coding interviews for director-level and above hires(43:40) What has changed since
Supported by Our Partners• Statsig — The unified platform for flags, analytics, experiments, and more.• Graphite — The AI developer productivity platform. • Augment Code — AI coding assistant that pro engineering teams love—GitHub recently turned 17 years old—but how did it start, how has it evolved, and what does the future look like as AI reshapes developer workflows?In this episode of The Pragmatic Engineer, I’m joined by Thomas Dohmke, CEO of GitHub. Thomas has been a GitHub user for 16 years and an employee for 7. We talk about GitHub’s early architecture, its remote-first operating model, and how the company is navigating AI—from Copilot to agents. We also discuss why GitHub hires junior engineers, how the company handled product-market fit early on, and why being a beloved tool can make shipping harder at times.Other topics we discuss include:• How GitHub’s architecture evolved beyond its original Rails monolith• How GitHub runs as a remote-first company—and why they rarely use email • GitHub’s rigorous approach to security• Why GitHub hires junior engineers• GitHub’s acquisition by Microsoft• The launch of Copilot and how it’s reshaping software development• Why GitHub sees AI agents as tools, not a replacement for engineers• And much more!—Timestamps(00:00) Intro(02:25) GitHub’s modern tech stack(08:11) From cloud-first to hybrid: How GitHub handles infrastructure(13:08) How GitHub’s remote-first culture shapes its operations(18:00) Former and current internal tools including Haystack(21:12) GitHub’s approach to security (24:30) The current size of GitHub, including security and engineering teams(25:03) GitHub’s intern program, and why they are hiring junior engineers(28:27) Why AI isn’t a replacement for junior engineers (34:40) A mini-history of GitHub (39:10) Why GitHub hit product market fit so quickly (43:44) The invention of pull requests(44:50) How GitHub enables offline work(46:21) How monetization has changed at GitHub since the acquisition (48:00) 2014 desktop application releases (52:10) The Microsoft acquisition (1:01:57) Behind the scenes of GitHub’s quiet period (1:06:42) The release of Copilot and its impact(1:14:14) Why GitHub decided to open-source Copilot extensions(1:20:01) AI agents and the myth of disap
Supported by Our Partners• Sonar — Code quality and code security for ALL code. • Statsig — The unified platform for flags, analytics, experiments, and more.• Augment Code — AI coding assistant that pro engineering teams love.—Kent Beck is one of the most influential figures in modern software development. Creator of Extreme Programming (XP), co-author of The Agile Manifesto, and a pioneer of Test-Driven Development (TDD), he’s shaped how teams write, test, and think about code.Now, with over five decades of programming experience, Kent is still pushing boundaries—this time with AI coding tools. In this episode of Pragmatic Engineer, I sit down with him to talk about what’s changed, what hasn’t, and why he’s more excited than ever to code.In our conversation, we cover:• Why Kent calls AI tools an “unpredictable genie”—and how he’s using them• Why Kent no longer has an emotional attachment to any specific programming language• The backstory of The Agile Manifesto—and why Kent resisted the word “agile”• An overview of XP (Extreme Programming) and how Grady Booch played a role in the name • Tape-to-tape experiments in Kent’s childhood that laid the groundwork for TDD• Kent’s time at Facebook and how he adapted to its culture and use of feature flags• And much more!—Timestamps(00:00) Intro(02:27) What Kent has been up to since writing Tidy First(06:05) Why AI tools are making coding more fun for Kent and why he compares it to a genie(13:41) Why Kent says languages don’t matter anymore(16:56) Kent’s current project building a small talk server(17:51) How Kent got involved with The Agile Manifesto(23:46) Gergely’s time at JP Morgan, and why Kent didn’t like the word ‘agile’(26:25) An overview of “extreme programming” (XP) (35:41) Kent’s childhood tape-to-tape experiments that inspired TDD(42:11) Kent’s response to Ousterhout’s criticism of TDD(50:05) Why Kent still uses TDD with his AI stack (54:26) How Facebook operated in 2011(1:04:10) Facebook in 2011 vs. 2017(1:12:24) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:• —See the transcript and other references from the episode at <a target="_blank" href="htt
Supported by Our Partners• Statsig — The unified platform for flags, analytics, experiments, and more.• Sinch — Connect with customers at every step of their journey.• Modal — The cloud platform for building AI applications.—How has Microsoft changed since its founding in 1975, especially in how it builds tools for developers?In this episode of The Pragmatic Engineer, I sit down with Scott Guthrie, Executive Vice President of Cloud and AI at Microsoft. Scott has been with the company for 28 years. He built the first prototype of ASP.NET, led the Windows Phone team, led up Azure, and helped shape many of Microsoft’s most important developer platforms.We talk about Microsoft’s journey from building early dev tools to becoming a top cloud provider—and how it actively worked to win back and grow its developer base.In this episode, we cover:• Microsoft’s early years building developer tools • Why Visual Basic faced resistance from devs back in the day: even though it simplified development at the time• How .NET helped bring a new generation of server-side developers into Microsoft’s ecosystem• Why Windows Phone didn’t succeed • The 90s Microsoft dev stack: docs, debuggers, and more• How Microsoft Azure went from being the #7 cloud provider to the #2 spot today• Why Microsoft created VS Code• How VS Code and open source led to the acquisition of GitHub• What Scott’s excited about in the future of developer tools and AI• And much more!—Timestamps(00:00) Intro(02:25) Microsoft’s early years building developer tools(06:15) How Microsoft’s developer tools helped Windows succeed(08:00) Microsoft’s first tools were built to allow less technically savvy people to build things(11:00) A case for embracing the technology that’s coming(14:11) Why Microsoft built Visual Studio and .NET(19:54) Steve Ballmer’s speech about .NET(22:04) The origins of C# and Anders Hejlsberg’s impact on Microsoft (25:29) The 90’s Microsoft stack, including documentation, debuggers, and more(30:17) How productivity has changed over the past 10 years (32:50) Why Gergely was a fan of Windows Phone—and Scott’s thoughts on why it didn’t last(36:43) Lessons from working on (and fixing) Azure under Satya Na
Supported by Our Partners• Statsig — The unified platform for flags, analytics, experiments, and more.• Sinch — Connect with customers at every step of their journey.• Cortex — Your Portal to Engineering Excellence.—What does it take to land a job as an AI Engineer—and thrive in the role?In this episode of Pragmatic Engineer, I’m joined by Janvi Kalra, currently an AI Engineer at OpenAI. Janvi shares how she broke into tech with internships at top companies, landed a full-time software engineering role at Coda, and later taught herself the skills to move into AI Engineering: by things like building projects in her free time, joining hackathons, and ultimately proving herself and earning a spot on Coda’s first AI Engineering team.In our conversation, we dive into the world of AI Engineering and discuss three types of AI companies, how to assess them based on profitability and growth, and practical advice for landing your dream job in the field.We also discuss the following: • How Janvi landed internships at Google and Microsoft, and her tips for interview prepping• A framework for evaluating AI startups• An overview of what an AI Engineer does• A mini curriculum for self-learning AI: practical tools that worked for Janvi• The Coda project that impressed CEO Shishir Mehrotra and sparked Coda Brain• Janvi’s role at OpenAI and how the safety team shapes responsible AI• How OpenAI blends startup speed with big tech scale• Why AI Engineers must be ready to scrap their work and start over• Why today’s engineers need to be product-minded, design-aware, full-stack, and focused on driving business outcomes• And much more!—Timestamps(00:00) Intro(02:31) How Janvi got her internships at Google and Microsoft(03:35) How Janvi prepared for her coding interviews (07:11) Janvi’s experience interning at Google(08:59) What Janvi worked on at Microsoft (11:35) Why Janvi chose to work for a startup after college(15:00) How Janvi picked Coda (16:58) Janvi’s criteria for picking a startup now (18:20) How Janvi evaluates ‘customer obsession’ (19:12) Fast—an example of the downside of not doing due diligence(21:38) How Janvi made the jump to Coda’s AI team(25:48) What an AI Engineer does (27:30) How Janvi developed her AI Engineering skills th
Supported by Our Partners• WorkOS — The modern identity platform for B2B SaaS.• Modal — The cloud platform for building AI applications.• Cortex — Your Portal to Engineering Excellence.—Kubernetes is the second-largest open-source project in the world. What does it actually do—and why is it so widely adopted?In this episode of The Pragmatic Engineer, I’m joined by Kat Cosgrove, who has led several Kubernetes releases. Kat has been contributing to Kubernetes for several years, and originally got involved with the project through K3s (the lightweight Kubernetes distribution).In our conversation, we discuss how Kubernetes is structured, how it scales, and how the project is managed to avoid contributor burnout.We also go deep into: • An overview of what Kubernetes is used for• A breakdown of Kubernetes architecture: components, pods, and kubelets• Why Google built Borg, and how it evolved into Kubernetes• The benefits of large-scale open source projects—for companies, contributors, and the broader ecosystem• The size and complexity of Kubernetes—and how it’s managed• How the project protects contributors with anti-burnout policies• The size and structure of the release team• What KEPs are and how they shape Kubernetes features• Kat’s views on GenAI, and why Kubernetes blocks using AI, at least for documentation• Where Kat would like to see AI tools improve developer workflows• Getting started as a contributor to Kubernetes—and the career and networking benefits that come with it• And much more!—Timestamps(00:00) Intro(02:02) An overview of Kubernetes and who it’s for (04:27) A quick glimpse at the architecture: Kubernetes components, pods, and cubelets(07:00) Containers vs. virtual machines (10:02) The origins of Kubernetes (12:30) Why Google built Borg, and why they made it an open source project(15:51) The benefits of open source projects (17:25) The size of Kubernetes(20:55) Cluster management solutions, including different Kubernetes services(21:48) Why people contribute to Kubernetes (25:47) The anti-burnout policies Kubernetes has in place (29:07) Why Kubernetes is so popular(33:34) Why documentation is a good place to get started contributing to an open-source project(35:15) The structure of the Kubernetes release team (40:55) How responsibilities shift as engineers grow into senior positions(44:37) Using
Supported by Our Partners• Modal — The cloud platform for building AI applications• CodeRabbit — Cut code review time and bugs in half. Use the code PRAGMATIC to get one month free.—What happens when LLMs meet real-world codebases? In this episode of The Pragmatic Engineer, I am joined by Varun Mohan, CEO and Co-Founder of Windsurf. Varun talks me through the technical challenges of building an AI-native IDE (Windsurf) —and how these tools are changing the way software gets built. We discuss: • What building self-driving cars taught the Windsurf team about evaluating LLMs• How LLMs for text are missing capabilities for coding like “fill in the middle”• How Windsurf optimizes for latency• Windsurf’s culture of taking bets and learning from failure• Breakthroughs that led to Cascade (agentic capabilities)• Why the Windsurf teams build their LLMs• How non-dev employees at Windsurf build custom SaaS apps – with Windsurf!• How Windsurf empowers engineers to focus on more interesting problems• The skills that will remain valuable as AI takes over more of the codebase• And much more!—Timestamps(00:00) Intro(01:37) How Windsurf tests new models(08:25) Windsurf’s origin story (13:03) The current size and scope of Windsurf(16:04) The missing capabilities Windsurf uncovered in LLMs when used for coding(20:40) Windsurf’s work with fine-tuning inside companies (24:00) Challenges developers face with Windsurf and similar tools as codebases scale(27:06) Windsurf’s stack and an explanation of FedRAMP compliance(29:22) How Windsurf protects latency and the problems with local data that remain unsolved(33:40) Windsurf’s processes for indexing code (37:50) How Windsurf manages data (40:00) The pros and cons of embedding databases (42:15) “The split brain situation”—how Windsurf balances present and long-term (44:10) Why Windsurf embraces failure and the learnings that come from it(46:30) Breakthroughs that fueled Cascade(48:43) The insider’s developer mode that allows Windsurf to dogfood easily (50:00) Windsurf’s non-developer power user who routinely builds apps in Windsurf(52:40) Which SaaS products won’t likely be replaced(56:20) How engineering processes have changed at Windsurf (1:00:01) The fatigue that goes along with being a software engineer, and how AI tools can help(1:02:58) Why Windsurf chose to fork VS Code and built a plugin for JetBrains </
Supported by Our Partners• WorkOS — The modern identity platform for B2B SaaS.• The Software Engineer’s Guidebook: Written by me (Gergely) – now out in audio form as well.—How do you get product and engineering to truly operate as one team? Today, I’m joined by Ebi Atawodi, Director of Product Management at YouTube Studio, and a former product leader at Netflix and Uber.Ebi was the first PM I partnered with after stepping into engineering management at Uber, and we both learned a lot together. We share lessons from our time at Uber and discuss how strong product-engineering partnerships drive better outcomes, grow teams, foster cultures of ownership, and unlock agency, innovation, and trust.In this episode, we cover:• Why you need to earn a new team's trust before trying to drive change• How practices like the "business scorecard" and “State of the Union” updates helped communicate business goals and impact to teams at Uber• How understanding business impact leads to more ideas and collaboration• A case for getting to know your team as people, not just employees• Why junior employees should have a conversation with a recruiter every six months• Ebi’s approach to solving small problems with the bet that they’ll unlock larger, more impactful solutions• Why investing time in trust and connection isn't at odds with efficiency• The qualities of the best engineers—and why they’re the same traits that make people successful in any role• The three-pronged definition of product: business impact, feasibility, and customer experience• Why you should treat your career as a project• And more!—Timestamps(00:00) Intro(02:19) The product review where Gergely first met Ebi (05:45) Ebi’s learning about earning trust before being direct(08:01) The value of tying everything to business impact(11:53) What meetings looked like at Uber before Ebi joined(12:35) How Ebi’s influence created more of a start-up environment (15:12) An overview of “State of the Union” (18:06) How Ebi helped the cash team secure headcount(24:10) How a dinner out helped Ebi and Gergely work better together(28:11) Why good leaders help their employees reach their full potential(30:24) Product-minded engineers and the value of trust (33:04) Ebi’s approach to passion in work: loving the problem, the work, and the people(36:00) How Gergely and Ebi secretly bootstrapped a project then asked for headcount(36:55) How a real problem led to a novel solution that also led to a policy change(40:30) Ebi’s approach to solving problems and tying them to a bigger value unlock (43:58) How E
Supported by Our Partners• Graphite — The AI developer productivity platform. • Sentry — Error and performance monitoring for developers.—Reddit’s native mobile apps are more complex than most of us would assume: both the iOS and Android apps are about 2.5 million lines of code, have 500+ screens, and a total of around 200 native iOS and Android engineers work on them. But it wasn’t always like this.In 2021, Reddit started to double down on hiring native mobile engineers, and they quietly rebuilt the Android and iOS apps from the ground up. The team introduced a new tech stack called the “Core Stack” – all the while users remained largely unaware of the changes. What drove this overhaul, and how did the team pull it off?In this episode of The Pragmatic Engineer, I’m joined by three engineers from Reddit’s mobile platform team who led this work: Lauren Darcey (Head of Mobile Platform), Brandon Kobilansky (iOS Platform Lead), and Eric Kuck (Principal Android Engineer). We discuss how the team transitioned to a modern architecture, revamped their testing strategy, improved developer experience – while they also greatly improved the app’s user experience. We also get into: • How Reddit structures its mobile teams—and why iOS and Android remain intentionally separate • The scale of Reddit’s mobile codebase and how it affects compile time• The shift from MVP to MVVM architecture• Why Reddit took a bet on Jetpack Compose, but decided (initially) against using SwiftUI• How automated testing evolved at Reddit • Reddit’s approach to server-driven-mobile-UI• What the mobile platforms team looks for in a new engineering hire• Reddit’s platform team’s culture of experimentation and embracing failure • And much more!If you are interested in large-scale rewrites or native mobile engineering challenges: this episode is for you.—Timestamps(00:00) Intro(02:04) The scale of the Android code base(02:42) The scale of the iOS code base(03:26) What the compile time is for both Android and iOS(05:33) The size of the mobile platform teams (09:00) Why Reddit has so many mobile engineers (11:28) The different types of testing done in the mobile platform (13:20) The benefits and drawbacks of testing (17:00) How Eric, Brandon, and Lauren use AI in their workflows(20:50) Why Reddit grew its mobile teams in 2021(26:50) Reddit’s modern tech stack, Corestack (28:48) Why Reddit shifted from MVP architecture to MVVM(30:22) The architecture on the iOS side(32:08) The new design system(30:55) The impact of migrating from Rust to GraphQL(38:20) How the b
Supported by Our Partners• WorkOS — The modern identity platform for B2B SaaS.• Modal — The cloud platform for building AI applications• Vanta — Automate compliance and simplify security with Vanta.—What is it like to work at Amazon as a software engineer? Dave Anderson spent over 12 years at Amazon working closely with engineers on his teams: starting as an Engineering Manager (or, SDM in Amazon lingo) and eventually becoming a Director of Engineering. In this episode, he shares a candid look into Amazon’s engineering culture—from how promotions work to why teams often run like startups.We get into the hiring process, the role of bar raisers, the pros and cons of extreme frugality, and what it takes to succeed inside one of the world’s most operationally intense companies. We also look at how engineering actually works day to day at Amazon—from the tools teams choose to the way they organize and deliver work. We also discuss:• The levels at Amazon, from SDE L4 to Distinguished Engineer and VP• Why engineering managers at Amazon need to write well• The “Bar Raiser” role in Amazon interview loops • Why Amazon doesn’t care about what programming language you use in interviews• Amazon’s oncall process• The pros and cons of Amazon’s extreme frugality • What to do if you're getting negative performance feedback• The importance of having a strong relationship with your manager• The surprising freedom Amazon teams have to choose their own stack, tools, and ways of working – and how a team chose to use Lisp (!)• Why startups love hiring former Amazon engineers• Dave’s approach to financial independence and early retirement• And more!—Timestamps(00:00) Intro(02:08) An overview of Amazon’s levels for devs and engineering managers(07:04) How promotions work for developers at Amazon, and the scope of work at each level(12:29) Why managers feel pressure to grow their teams(13:36) A step-by-step, behind-the-scenes glimpse of the hiring process (23:40) The wide variety of tools used at Amazon(26:27) How oncall works at Amazon(32:06) The general approach to handling outages (severity 1-5)(34:40) A story from Uber illustrating the Amazon outage mindset(37:30) How VPs assist with outages(41:38) The culture of frugality at Amazon (47:27) Amazon’s URA target—and why it’s mostly not a big deal (53:37) How managers handle the ‘least effective’ employees(58:58) Why other companies are also cutting lower performers
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 Pa
Supported by Our Partners• Swarmia — The engineering intelligence platform for modern software organizations.• Sentry — Error and performance monitoring for developers.—Why did Meta build its own internal developer tooling instead of using industry-standard solutions like GitHub? Tomas Reimers, former Meta engineer and co-founder of Graphite, joins the show to talk about Meta's custom developer tools – many of which were years ahead of the industry.From Phababricator to Sandcastle and Butterflybot, Tomas shares examples of Meta’s internal tools that transformed developer productivity at the tech giant. Why did working with stacked diffs and using monorepos become best practices at Meta? How are these practices influencing the broader industry? Why are code reviews and testing looking to become even more critical as AI transforms how we write software? We answer these, and also discuss:• Meta's custom internal developer tools• Why more tech companies are transitioning from polyrepos to monorepos• A case for different engineering constraints within the same organization• How stacked diffs solve the code review bottleneck• Graphite’s origin story and pivot to their current product • Why code reviews will become a lot more important, the more we use AI coding tools• Tomas’s favorite engineering metric • And much more!—Timestamps(00:00) Intro(02:00) An introduction to Meta’s in-house tooling (05:07) How Meta’s integrated tools work and who built the tools(10:20) An overview of the rules engine, Herald (12:20) The stages of code ownership at Facebook and code ownership at Google and GitHub(14:39) Tomas’s approach to code ownership (16:15) A case for different constraints within different parts of an organization (18:42) The problem that stacked diffs solve for (25:01) How larger companies drive innovation, and who stacking diffs not for (30:25) Monorepos vs. polyrepos and why Facebook is transitioning to a monorepo(35:31) The advantages of monorepos and why GitHub does not support them (39:55) AI’s impact on software development (42:15) The problems that AI creates, and possible solutions(45:25) How testing might change and the testing AI coding tools are already capable of (48:15) How developer accountability might be a way to solve bugs and bad AI code(53:20) Why stacking hasn’t caught on and Graphite’s work (57:10) Graphite’s origin story (1:01:20) Engineering metrics that matter (1:06:07) Learnings fr
Supported by Our Partners• Graphite — The AI developer productivity platform. • Sonar — Code quality and code security for ALL code. • Chronosphere — The observability platform built for control.—How do you take a new product idea, and turn it into a successful product? Figma Slides started as a hackathon project a year and a half ago – and today it’s a full-on product, with more than 4.5M slide decks created by users. I’m joined by two founding engineers on this project: Jonathan Kaufman and Noah Finer.In our chat, Jonathan and Noah pull back the curtain on what it took to build Figma Slides. They share engineering challenges faced, interesting engineering practices utilized, and what it's like working on a product used by millions of designers worldwide.We talk about:• An overview of Figma Slides• The tech stack behind Figma Slides• Why the engineering team built grid view before single slide view• How Figma ensures that all Figma files look the same across browsers• Figma’s "vibe testing" approach• How beta testing helped experiment more• The “all flags on”, “all flags off” testing approach• Engineering crits at Figma• And much more!—Timestamps(00:00) Intro(01:45) An overview of Figma Slides and the first steps in building it(06:41) Why Figma built grid view before single slide view(10:00) The next steps of building UI after grid view (12:10) The team structure and size of the Figma Slides team (14:14) The tech stack behind Figma Slides(15:31) How Figma uses C++ with bindings (17:43) The Chrome debugging extension used for C++ and WebAssembly (21:02) An example of how Noah used the debugging tool(22:18) Challenges in building Figma Slides (23:15) An explanation of multiplayer cursors (26:15) Figma’s philosophy of building interconnected products—and the code behind them(28:22) An example of a different mouse behavior in Figma (33:00) Technical challenges in developing single slide view (35:10) Challenges faced in single-slide view while maintaining multiplayer compatibility(40:00) The types of testing used on Figma Slides(43:42) Figma’s zero bug policy (45:30) The release process, and how engineering uses feature flags (48:40) How Figma tests Slides with feature flags enabled and then disabled(51:35) An explanation of eng crits at Figma (54:53) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:• <a target="_blank" href="https://newsletter.p
Supported by Our Partners• WorkOS — The modern identity platform for B2B SaaS.• Vanta — Automate compliance and simplify security with Vanta.—Linux is the most widespread operating system, globally – but how is it built? Few people are better to answer this than Greg Kroah-Hartman: a Linux kernel maintainer for 25 years, and one of the 3 Linux Kernel Foundation Fellows (the other two are Linus Torvalds and Shuah Khan). Greg manages the Linux kernel’s stable releases, and is a maintainer of multiple kernel subsystems.We cover the inner workings of Linux kernel development, exploring everything from how changes get implemented to why its community-driven approach produces such reliable software. Greg shares insights about the kernel's unique trust model and makes a case for why engineers should contribute to open-source projects. We go into:• How widespread is Linux?• What is the Linux kernel responsible for – and why is it a monolith?• How does a kernel change get merged? A walkthrough• The 9-week development cycle for the Linux kernel• Testing the Linux kernel• Why is Linux so widespread?• The career benefits of open-source contribution• And much more!—Timestamps(00:00) Intro(02:23) How widespread is Linux?(06:00) The difference in complexity in different devices powered by Linux (09:20) What is the Linux kernel?(14:00) Why trust is so important with the Linux kernel development(16:02) A walk-through of a kernel change(23:20) How Linux kernel development cycles work(29:55) The testing process at Kernel and Kernel CI (31:55) A case for the open source development process(35:44) Linux kernel branches: Stable vs. development(38:32) Challenges of maintaining older Linux code (40:30) How Linux handles bug fixes(44:40) The range of work Linux kernel engineers do (48:33) Greg’s review process and its parallels with Uber’s RFC process(51:48) Linux kernel within companies like IBM(53:52) Why Linux is so widespread (56:50) How Linux Kernel Institute runs without product managers (1:02:01) The pros and cons of using Rust in Linux kernel (1:09:55) How LLMs are utilized in bug fixes and coding in Linux (1:12:13) The value of contributing to the Linux kernel or any open-source project (1:16:40) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:What TPMs do and what software engineers can learn from them<a target="_blank" href="https://newsletter.pragmaticengineer.com/p/the-past-and-fu
Supported by Our Partners• Sentry — Error and performance monitoring for developers.• The Software Engineer’s Guidebook: Written by me (Gergely) – now out in audio form as well.—In today’s episode of The Pragmatic Engineer, I am joined by former Uber colleague, Gautam Korlam. Gautam is the Co-Founder of Gitar, an agentic AI startup that automates code maintenance. Gautam was mobile engineer no. 9 at Uber and founding engineer for the mobile platform team – and so he learned a few things about scaling up engineering teams.We talk about:• How Gautam accidentally deleted Uber’s Java monorepo – really!• Uber's unique engineering stack and why custom solutions like SubmitQueue were built in-house• Monorepo: the benefits and downsides of this approach• From Engineer II to Principal Engineer at Uber: Gautam’s career trajectory• Practical strategies for building trust and gaining social capital • How the platform team at Uber operated with a product-focused mindset• Vibe coding: why it helps with quick prototyping• How AI tools are changing developer experience and productivity• Important skills for devs to pick up to remain valuable as AI tools spread• And more!—Timestamps(00:00) Intro(02:11) How Gautam accidentally deleted Uber’s Java Monorepo(05:40) The impact of Gautam’s mistake(06:35) Uber’s unique engineering stack(10:15) Uber’s SubmitQueue(12:44) Why Uber moved to a monorepo(16:30) The downsides of a monorepo(18:35) Measurement products built in-house (20:20) Measuring developer productivity and happiness (22:52) How Devpods improved developer productivity (27:37) The challenges with cloud development environments(29:10) Gautam’s journey from Eng II to Principal Engineer(32:00) Building trust and gaining social capital (36:17) An explanation of Principal Engineer at Uber—and the archetypes at Uber (45:07) The platform and program split at Uber(48:15) How Gautam and his team supported their internal users (52:50) Gautam’s thoughts on developer productivity (59:10) How AI enhances productivity, its limitations, and the rise of agentic AI(1:04:00) An explanation of Vibe coding(1:07:34) An overview of Gitar and all it can help developers with (1:10:44) Top skills to cultivate to add value and stay relevant(1:17:00) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:• The Platform and Program split at Uber<
Supported by Our Partners• WorkOS — The modern identity platform for B2B SaaS.• The Software Engineer’s Guidebook: Written by me (Gergely) – now out in audio form as well• Augment Code — AI coding assistant that pro engineering teams love—Not many people know that I have a brother: Balint Orosz. Balint is also in tech, but in many ways, is the opposite of me. While I prefer working on backend and business logic, he always thrived in designing and building UIs. While I opted to work at more established companies, he struck out on his own and started his startup, Distinction. And yet, our professional paths have crossed several times: at one point in time I accepted an offer to join Skyscanner as a Principal iOS Engineer – and as part of the negotiation, I added a clause to my contrac that I will not report directly or indirectly to the Head of Mobile: who happened to be my brother, thanks to Skyscanner acquiring his startup the same month that Skyscanner made an offer to hire me.Today, Balint is the founder and CEO of Craft, a beloved text editor known for its user-friendly interface and sleek design – an app that Apple awarded the prestigious Mac App of the Year in 2021.In our conversation, we explore how Balint approaches building opinionated software with an intense focus on user experience. We discuss the lessons he learned from his time building Distinction and working at Skyscanner that have shaped his approach to Craft and its development.In this episode, we discuss:• Balint’s first startup, Distinction, and his time working for Skyscanner after they acquired it• A case for a balanced engineering culture with both backend and frontend priorities • Why Balint doesn’t use iOS Auto Layout• The impact of Craft being personal software on front-end and back-end development• The balance between customization and engineering fear in frontend work• The resurgence of local-first software and its role in modern computing• The value of building a physical prototype • How Balint uses GenAI to assist with complicated coding projects • And much more!—Timestamps(00:00) Intro(02:13) What it’s like being a UX-focused founder (09:00) Why it was hard to gain recognition at Skyscanner (13:12) Takeaways from Skyscanner that Balint brought to Craft (16:50) How frameworks work and why they aren’t always a good fit(20:35) An explanation of iOS Auto Layout and its pros and cons
Supported by Our Partners• WorkOS — The modern identity platform for B2B SaaS.• Graphite — The AI developer productivity platform. • Formation — Level up your career and compensation with Formation.—In today’s episode of The Pragmatic Engineer, I am joined by a senior software engineer and cartoonist, Manu Cornet. Manu spent over a decade at Google, doing both backend and frontend development. He also spent a year and a half at Twitter before Elon Musk purchased it and rebranded it to X. But what Manu is most known for are his hilarious internet comics about the tech world, including his famous org chart comic from 2011 about Facebook, Apple, Amazon, and Microsoft.In today’s conversation, we explore many of his comics, discuss the meaning behind them, and talk about the following topics: • The viral org chart comic that captured the structure of Big Tech companies• Why Google is notorious for confusing product names• The comic that ended up on every door at Google• How Google’s 20% time fostered innovation—and what projects came from it• How one of Manu’s comics predicted Google Stadia’s failure—and the reasons behind it• The value of connecting to users directly • Twitter’s climate before and after Elon Musk’s acquisition and the mass layoffs that followed• And more!—Timestamps(00:00) Intro(02:01) Manu’s org structure comic (07:10) Manu’s “Who Sues Who” comic(09:15) Google vs. Amazon comic(14:10) Confusing names at Google(20:00) Different approaches to sharing information within companies(22:20) The two ways of doing things at Google(25:15) Manu’s code reviews comic(27:45) The comic that was printed on every single door of Google(30:55) An explanation of 20% at Google(36:00) Gmail Labs and Google Stadia(41:36) Manu’s time at Twitter and the threat of Elon Musk buying(47:07) How Manu helped Gergely with a bug on Twitter(49:05) Musk’s acquirement of Twitter and the resulting layoffs(59:00) Manu’s comic about his disillusionment with Twitter and Google(1:02:37) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:• How Manu creates comics• Consolidating technologies• <a target="_blank" href="https://newsletter.pragmatice
Supported by Our Partners• WorkOS — The modern identity platform for B2B SaaS• CodeRabbit — Cut code review time and bugs in half• Augment Code — AI coding assistant that pro engineering teams love—How do you architect a live streaming system to deal with more load than it’s ever been done before? Today, we hear from an architect of such a system: Ashutosh Agrawal, formerly Chief Architect of JioCinema (and currently Staff Software Engineer at Google DeepMind.)We take a deep dive into video streaming architecture, tackling the complexities of live streaming at scale (at tens of millions of parallel streams) and the challenges engineers face in delivering seamless experiences. We talk about the following topics: • How large-scale live streaming architectures are designed• Tradeoffs in optimizing performance• Early warning signs of streaming failures and how to detect them• Why capacity planning for streaming is SO difficult• The technical hurdles of streaming in APAC regions• Why Ashutosh hates APMs (Application Performance Management systems)• Ashutosh’s advice for those looking to improve their systems design expertise• And much more!—Timestamps(00:00) Intro(01:28) The world record-breaking live stream and how support works with live events(05:57) An overview of streaming architecture(21:48) The differences between internet streaming and traditional television.l(22:26) How adaptive bitrate streaming works(25:30) How throttling works on the mobile tower side (27:46) Leading indicators of streaming problems and the data visualization needed(31:03) How metrics are set (33:38) Best practices for capacity planning (35:50) Which resources are planned for in capacity planning (37:10) How streaming services plan for future live events with vendors(41:01) APAC specific challenges(44:48) Horizontal scaling vs. vertical scaling (46:10) Why auto-scaling doesn’t work(47:30) Concurrency: the golden metric to scale against(48:17) User journeys that cause problems (49:59) Recommendations for learning more about video streaming (51:11) How Ashutosh learned on the job(55:21) Advice for engineers who would like to get better at systems(1:00:10) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:• Software architect archetypes https://newsletter.pragmaticengineer.com/p/software-architect-archetypes </p
Supported by Our Partners• WorkOS — The modern identity platform for B2B SaaS• CodeRabbit — Cut code review time and bugs in half• Augment Code — AI coding assistant that pro engineering teams love—How do you architect a live streaming system to deal with more load than it’s ever been done before? Today, we hear from an architect of such a system: Ashutosh Agrawal, formerly Chief Architect of JioCinema (and currently Staff Software Engineer at Google DeepMind.)We take a deep dive into video streaming architecture, tackling the complexities of live streaming at scale (at tens of millions of parallel streams) and the challenges engineers face in delivering seamless experiences. We talk about the following topics: • How large-scale live streaming architectures are designed• Tradeoffs in optimizing performance• Early warning signs of streaming failures and how to detect them• Why capacity planning for streaming is SO difficult• The technical hurdles of streaming in APAC regions• Why Ashutosh hates APMs (Application Performance Management systems)• Ashutosh’s advice for those looking to improve their systems design expertise• And much more!—Timestamps(00:00) Intro(01:28) The world record-breaking live stream and how support works with live events(05:57) An overview of streaming architecture(21:48) The differences between internet streaming and traditional television.l(22:26) How adaptive bitrate streaming works(25:30) How throttling works on the mobile tower side (27:46) Leading indicators of streaming problems and the data visualization needed(31:03) How metrics are set (33:38) Best practices for capacity planning (35:50) Which resources are planned for in capacity planning (37:10) How streaming services plan for future live events with vendors(41:01) APAC specific challenges(44:48) Horizontal scaling vs. vertical scaling (46:10) Why auto-scaling doesn’t work(47:30) Concurrency: the golden metric to scale against(48:17) User journeys that cause problems (49:59) Recommendations for learning more about video streaming (51:11) How Ashutosh learned on the job(55:21) Advice for engineers who would like to get better at systems(1:00:10) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:• Software architect archetypes https://newsletter.pragmaticengineer.com/p/software-architect-archetypes </p
Reviews
No reviews yet.
If you like this...

Software Engineering Daily
Same topic · Same format · Same audience

The Changelog: Software Development, Open Source
Same topic · Same format · Same audience

CoRecursive: Coding Stories
Same topic · Same vibe · Same audience

The Stack Overflow Podcast
Same topic · Same audience · Same tone

Lenny's Podcast: Product | Career | Growth
Same format · Same audience · Same vibe

Acquired
Same audience · Same vibe · Same tone

Linux & Open Source News
Same topic · Same audience

The Kim Komando Show
Same topic · Same format

Kim Komando Daily Tech Update
Same topic
Explore more like this
Listening context
Discussion (0)
No comments yet. Be the first to start the discussion!