The Pragmatic Engineer

Gergely Orosz

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

  1. Building WhatsApp with Jean Lee

    3 HR AGO

    Building WhatsApp with Jean Lee

    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: • How Meta built Threads • How Big Tech runs tech projects and the curious absence of Scrum • Performance calibrations at tech companies • Software engineers leading projects — Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

    1h 11m
  2. From IDEs to AI Agents with Steve Yegge

    11 MAR

    From IDEs to AI Agents with Steve Yegge

    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: • Vibe coding as a software engineer • The full circle of developer productivity with Steve Yegge • AI Tooling for Software Engineers in 2026 • The AI Engineering Stack — Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

    1h 31m
  3. Building Claude Code with Boris Cherny

    4 MAR

    Building Claude Code with Boris Cherny

    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 • Real-world engineering challenges: building Cursor — Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

    1h 37m
  4. Mitchell Hashimoto’s new way of writing code

    25 FEB

    Mitchell Hashimoto’s new way of writing code

    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: • AI Engineering in the real world • The AI Engineering stack • Pressure on commercial open source to make more money – and HashiCorp changing its license • How Linux is built with Greg Kroah-Hartman — Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

    1h 58m
  5. The programming language after Kotlin – with the creator of Kotlin

    12 FEB

    The programming language after Kotlin – with the creator of Kotlin

    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 Swift was built – with Chris Lattner, the creator of the language • Building Reddit’s iOS and Android app • Notion: going native on iOS and Android • Is there a drop in native iOS and Android hiring at startups? — Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

    1h 44m
  6. The third golden age of software engineering – thanks to AI, with Grady Booch

    4 FEB

    The third golden age of software engineering – thanks to AI, with Grady Booch

    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 happens to software engineering?  • Inside a five-year-old startup’s rapid AI makeover • Software architecture with Grady Booch • What is old is new again — Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

    1h 17m
  7. 28 JAN

    The creator of Clawd: "I ship code I don't read"

    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 today  (1:11:10) How planning has changed with AI  (1:21:14) Building Clawdbot (now: Moltbot) (1:34:22) AI’s impact on large companies (1:38:38) “I don’t care about CI” (1:40:01) Peter’s process for new features  (1:44:48) Advice for new grads (1:50:18) Rapid fire round — The Pragmatic Engineer deepdives relevant for this episode: • Inside a five-year-old startup’s rapid AI makeover • When AI writes almost all code, what happens to software engineering? • Why it’s so dramatic that “writing code by hand is dead” • AI Engineering in the real world • The AI Engineering stack — Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

    1h 54m
  8. How AWS S3 is built

    21 JAN

    How AWS S3 is built

    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 a software engineer – with Dave Anderson Amazon papers recommended by Mai-Lan: • Using lightweight formal methods to validate a key-value storage node in Amazon S3 • Formally verified cloud-scale authorization • Analyzing metastable failures • Amazon’s engineering tenets — Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

    1h 18m

About

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

You Might Also Like