The Pragmatic Engineer
DHH’s new way of writing code
updated
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.
—
Brought to by:
• Graphite — The AI developer productivity platform https://gt.dev/pragmatic
• Sentry — Error and performance monitoring for developers sentry.io/pragmatic/?
—
The Pragmatic Engineer deepdives relevant for this episode:
• The platform and program split at Uber newsletter.pragmaticengineer.com/p/program-platform-split-uber
• Why and how Notion went native on iOS and Android newsletter.pragmaticengineer.com/p/notion-going-native-on-ios-and-android
• Paying down tech debt newsletter.pragmaticengineer.com/p/paying-down-tech-debt
• Cross-platform mobile development newsletter.pragmaticengineer.com/p/cross-platform-mobile-development
—
Where to find Lauren Darcey:
• LinkedIn: linkedin.com/in/perlgurl
Where to find Brandon Kobilansky:
• LinkedIn: linkedin.com/in/brandon-kobilansky-45097860
• X: https://x.com/bkobilansky
Where to find Eric Kuck:
• LinkedIn: linkedin.com/in/eric-kuck-3bbb7680
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(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 backend drove the GraphQL migration and why it was worth the pain
(43:17) Why the iOS team is replacing SliceKit with SwiftUI
(48:08) Why the Android team took a bet on Compose
(51:25) How teams experiment with server-driven UI—when it worked, and when it did not
(54:30) Why server-driven UI isn’t taking off, and why Lauren still thinks it could work
(59:25) The ways that Reddit’s modernization has paid off, both in DevX and UX
(1:07:15) The overall modernization philosophy; fixing pain points
(1:09:10) What the mobile platforms team looks for in a new engineering hire
(1:16:00) Why startups may be the best place to get experience
(1:17:00) Why platform teams need to feel safe to fail
(1:20:30) Rapid fire round
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
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!
—
Brought to by:
• WorkOS — The modern identity platform for B2B SaaS. workos.com
• Modal — The cloud platform for building AI applications. modal.com/pragmatic
• Vanta — Automate compliance and simplify security with Vanta. http://vanta.com/pragmatic
—
The Pragmatic Engineer deepdives relevant for this episode:
• Inside Amazon’s engineering culture newsletter.pragmaticengineer.com/p/amazon
• A day in the life of a senior manager at Amazon newsletter.pragmaticengineer.com/p/a-day-in-the-life-of-a-senior-manager
• Amazon’s Operational Plan process with OP1 and OP2 newsletter.pragmaticengineer.com/p/annual-planning
—
Where to find Dave Anderson:
• X: https://x.com/scarletinked
• LinkedIn: linkedin.com/in/scarletink
• Newsletter: scarletink.com
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(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
(59:55) Dave’s advice for engineers struggling with performance feedback
(1:04:20) Why good managers are expected to bring talent with them to a new org
(1:06:21) Why startups love former Amazon engineers
(1:16:09) How Dave planned for an early retirement
(1:18:10) How a LinkedIn post turned into Scarlet Ink
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
• CodeRabbit — Cut code review time and bugs in half https://www.coderabbit.ai. Use the code PRAGMATIC to get one month free.
• Modal — The cloud platform for building AI applications modal.com/pragmatic
—
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 at newsletter.pragmaticengineer.com/p/how-linux-is-built-with-greg-kroah)
—
The Pragmatic Engineer deepdives relevant for this episode:
• Engineering Planning with RFCs, Design Documents and ADRs newsletter.pragmaticengineer.com/p/rfcs-and-design-docs
• Paying down tech debt newsletter.pragmaticengineer.com/p/paying-down-tech-debt
• Software architect archetypes newsletter.pragmaticengineer.com/p/software-architect-archetypes
• Building Bluesky: a distributed social network newsletter.pragmaticengineer.com/p/bluesky
—
Where to find John Ousterhout:
• X: https://x.com/johnousterhout
• Website: https://engineering.stanford.edu/people/john-ousterhout
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(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 Patterns are less popular now
(17:04) Two general approaches to designing software
(18:56) Two ways to deal with complexity
(19:56) A case for not going with your first idea
(23:24) How Uber used design docs
(26:44) Deep modules vs. shallow modules
(28:25) Best practices for error handling
(33:31) The role of empathy in the design process
(36:15) How John uses design reviews
(38:10) The value of in-person planning and using old-school whiteboards
(39:50) Leading a planning argument session and the places it works best
(42:20) The value of doing some design upfront
(46:12) Why John wrote A Philosophy of Software of Design
(48:40) An overview of John’s class at Stanford
(52:20) A tough learning from early in Gergely’s career
(55:48) Why John disagrees with Robert Martin on short methods
(1:10:40) John’s current coding project in the Linux Kernel
(1:14:13) Updates to A Philosophy of Software Design in the second edition
(1:19:12) Rapid fire round
(1:01:08) John’s criticisms of TDD and what he favors instead
(1:05:30) Why John supports the use of comments and how to use them correctly
(1:09:20) How John uses ChatGPT to help explain code in the Linux Kernel
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
From Phabricator 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!
—
Brought to by:
• Swarmia — The engineering intelligence platform for modern software organizations swarmia.com/pragmatic
• Sentry — Error and performance monitoring for developers sentry.io/pragmatic/?
—
The Pragmatic Engineer deepdives relevant for this episode:
• Stacked Diffs (and why you should know about them) newsletter.pragmaticengineer.com/p/stacked-diffs
• Inside Meta’s engineering culture newsletter.pragmaticengineer.com/p/facebook
• Shipping to production newsletter.pragmaticengineer.com/p/shipping-to-production
• How Uber is measuring engineering productivity newsletter.pragmaticengineer.com/p/uber-eng-productivity
—
Where to find Tomas Reimers:
• X: https://x.com/tomasreimers
• LinkedIn: linkedin.com/in/tomasreimers
• Website: tomasreimers.com
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(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 from building a company for developers
(1:08:41) Rapid fire round
(1:12:41) Closing
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
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!
—
Brought to by:
• Graphite — The AI developer productivity platform https://gt.dev/pragmatic
• Sonar — Code quality and code security for ALL code http://sonarsource.com/pragmaticsecurity
• Chronosphere — The observability platform built for control http://chronosphere.io/pragmatic
—
The Pragmatic Engineer deepdives relevant for this episode:
• Inside Figma’s engineering culture newsletter.pragmaticengineer.com/p/inside-figmas-engineering-culture
• Quality Assurance across the tech industry newsletter.pragmaticengineer.com/p/qa-across-tech
• Shipping to production newsletter.pragmaticengineer.com/p/shipping-to-production
• Design-first software engineering newsletter.pragmaticengineer.com/p/design-first-software-engineering
—
Where to find Jonathan Kaufman:
• X: https://x.com/kauffecup
• LinkedIn: linkedin.com/in/jkaufman5
• Website: jkaufman.io
Where to find Noah Finer:
• X: https://x.com/finerflame
• LinkedIn: linkedin.com/in/noahfiner
• Website: noahfiner.com
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(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
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
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!
—
Brought to by:
• WorkOS — The modern identity platform for B2B SaaS.
• Vanta — Automate compliance and simplify security with Vanta.
—
The Pragmatic Engineer deepdives relevant for this episode:
• What TPMs do and what software engineers can learn from them: newsletter.pragmaticengineer.com/p/what-tpms-do
• The past and future of modern backend practices: newsletter.pragmaticengineer.com/p/the-past-and-future-of-backend-practices
• Backstage: an open-source developer portal: newsletter.pragmaticengineer.com/p/backstage
—
Where to find Greg Kroah-Hartman:
• Social: social.kernel.org/gregkh
• Website: http://www.kroah.com/log/about
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(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
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
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!
—
Brought to by:
• Sentry — Error and performance monitoring for developers sentry.io/pragmatic
• The Software Engineer’s Guidebook: Written by me (Gergely) – now out in audio form as well engguidebook.com/#buy
—
The Pragmatic Engineer deepdives relevant for this episode:
• The Platform and Program split at Uber newsletter.pragmaticengineer.com/p/program-platform-split-uber?utm_source=publication-search
• How Uber is measuring engineering productivity newsletter.pragmaticengineer.com/p/uber-eng-productivity?utm_source=publication-search
• Inside Uber’s move to the Cloud newsletter.pragmaticengineer.com/p/uber-move-to-cloud?utm_source=publication-search
• How Uber built its observability platform newsletter.pragmaticengineer.com/p/how-uber-built-its-observability-platform?utm_source=publication-search
• Software Architect Archetypes newsletter.pragmaticengineer.com/p/software-architect-archetypes
—
Where to find Gautam Korlam:
• X: https://x.com/kageiit
• LinkedIn: linkedin.com/in/gautamkorlam
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(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
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
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!
—
Brought to by:
• WorkOS — The modern identity platform for B2B SaaS workos.com
• The Software Engineer’s Guidebook: Written by me (Gergely) – now out in audio form as well engguidebook.com/#buy
• Augment Code — AI coding assistant that pro engineering teams love http://augmentcode.com/pragmatic
—
The Pragmatic Engineer deepdives relevant for this episode:
• The AI hackathon at Craft Docs newsletter.pragmaticengineer.com/p/hackathons
• Engineering career paths at Big Tech and scaleups newsletter.pragmaticengineer.com/p/engineering-career-paths
• Thriving as a Founding Engineer: lessons from the trenches newsletter.pragmaticengineer.com/p/thriving-as-a-founding-engineer
• The past and future of modern backend practices newsletter.pragmaticengineer.com/p/the-past-and-future-of-backend-practices
—
Where to find Balint Orosz:
• X: https://x.com/balintorosz
• LinkedIn: linkedin.com/in/balintorosz
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(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
(23:13) Why Balint doesn’t use Auto Layout
(24:23) Why Craft has one code base
(27:46) Craft’s unique toolbar features and a behind the scenes peek at the code
(33:15) Why frontend engineers have fear around customization
(37:11) How Craft’s design system differs from most companies
(42:33) Behaviors and elements Craft uses rather than having a system for everything
(44:12) The back and frontend architecture in building personal software
(48:11) Shifting beliefs in personal computing
(50:15) The challenges faced with operating system updates
(50:48) The resurgence of local-first software
(52:31) The value of opinionated software for consumers
(55:30) Why Craft’s focus is on the user’s emotional experience
(56:50) The size of Craft’s engineering department and platform teams
(59:20) Why Craft moves faster with smaller teams
(1:01:26) Balint’s advice for frontend engineers looking to demonstrate value
(1:04:35) Balint’s breakthroughs using GenAI
(1:07:50) Why Balint still writes code
(1:09:44) Rapid fire round
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
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!
—
Brought to by:
• WorkOS — The modern identity platform for B2B SaaS workos.com
• Graphite — The AI developer productivity platform https://gt.dev/pragmatic
• Formation — Level up your career and compensation with Formation https://fm.dev/pragmatic
—
The Pragmatic Engineer deepdives relevant for this episode:
• How Manu creates comics newsletter.pragmaticengineer.com/p/manu
• Consolidating technologies newsletter.pragmaticengineer.com/p/consolidating-technologies
• Is Big Tech becoming more cutthroat? newsletter.pragmaticengineer.com/p/is-big-tech-becoming-more-cutthroat
—
Where to find Manu Cornet:
• Mastodon: https://twit.social/@manu
• LinkedIn: linkedin.com/in/manucornet
• Website: https://ma.nu/
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(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
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
In this conversation, we discuss Nicole’s frameworks for productivity, the evolution of engineering metrics, and the role of developer experience.
We discuss the following:
• Why PRs and Diffs are incomplete as a solo metric and how to view them in context
• The importance of a holistic set of metrics for evaluating productivity
• An overview of DORA’s four key metrics, its strengths, and its limitations
• The evolution of processes and tools since DORA, including SPACE
• What developer experience is—and concrete ways to improve it
• Common characteristics of highly productive engineering teams
• How faster onboarding might challenge Brook’s Law
• How AI tooling is impacting developer productivity and best practices for experimentation
• And much more!
—
Brought to by:
• DX — An engineering intelligence platform designed by leading researchers getdx.com/?utm_source=pragmaticengineer
• Sentry — Error and performance monitoring for developers sentry.io/pragmatic/?
—
The Pragmatic Engineer deepdives relevant for this episode:
• Measuring Developer Productivity: Real-World Examples newsletter.pragmaticengineer.com/p/measuring-developer-productivity-bae
• A new way to measure developer productivity – from the creators of DORA and SPACE newsletter.pragmaticengineer.com/p/developer-productivity-a-new-framework
• Measuring Engineering Efficiency at LinkedIn newsletter.pragmaticengineer.com/p/linkedin-engineering-efficiency
• How Uber is Measuring Engineering Productivity newsletter.pragmaticengineer.com/p/uber-eng-productivity
• Measuring software engineering productivity newsletter.pragmaticengineer.com/p/engineering-productivity
—
Where to find Dr. Nicole Forsgren:
• X: https://x.com/nicolefv
• LinkedIn: linkedin.com/in/nicolefv
• Website: nicolefv.com
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(00:00) Intro
(02:03) PRs and Diffs and how to view them in the right context
(07:42) EngThrive at Microsoft
(10:26) The importance of having a holistic set of metrics in evaluating productivity
(17:00) The four key metrics of DORA
(23:57) The evolution of processes and tools since DORA, including SPACE
(26:40) An explanation of developer experience — and ways to improve it
(30:44) Devex at startups vs. larger companies
(34:20) Why measuring developer productivity is so difficult
(39:05) How to make a case for platform teams
(44:34) Common characteristics of highly productive teams
(51:01) Brook’s law and how faster onboarding might make it irrelevant
(52:49) Onboarding for internal transfers
(54:18) Shifting culture towards technology first
(58:36) How middle management can improve engineering culture
(1:03:36) How AI tooling is impacting developer productivity
(1:06:42) Potential use cases for AI
(1:08:40) A case for experimenting with AI coding tools and how to maintain flow state
(1:15:30) Rapid fire round
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
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!
—
Brought to by:
• WorkOS — The modern identity platform for B2B SaaS workos.com
• CodeRabbit — Cut code review time and bugs in half https://www.coderabbit.ai. Use the code PRAGMATIC to get one month free.
• Augment Code — AI coding assistant that pro engineering teams love http://augmentcode.com/pragmatic
—
The Pragmatic Engineer deepdives relevant for this episode:
• Software architect archetypes newsletter.pragmaticengineer.com/p/software-architect-archetypes
• Engineering leadership skill set overlaps newsletter.pragmaticengineer.com/p/engineering-leadership-skillset-overlaps
• Software architecture with Grady Booch newsletter.pragmaticengineer.com/p/software-architecture-with-grady-booch
Episode summary and transcript: newsletter.pragmaticengineer.com/p/live-streaming-at-world-record-scale
—
Where to find Ashutosh Agrawal:
• X: https://x.com/theprogrammerin
• LinkedIn: linkedin.com/in/theprogrammerin
• Medium: medium.com/@theprogrammerin
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(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
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
In this conversation, we dive into the evolving field of AI Engineering and explore key insights from Chip’s book, including:
• How AI Engineering differs from Machine Learning Engineering
• Why fine-tuning is usually not a tactic you’ll want (or need) to use
• The spectrum of solutions to customer support problems – some not even involving AI!
• The challenges of LLM evals (evaluations)
• Why project-based learning is valuable—but even better when paired with structured learning
• Exciting potential use cases for AI in education and entertainment
• And more!
—
Brought to by:
• Swarmia — The engineering intelligence platform for modern software organizations swarmia.com/pragmatic
• Graphite — The AI developer productivity platform https://gt.dev/pragmatic
• Vanta — Automate compliance and simplify security with Vanta http://vanta.com/pragmatic
—
The Pragmatic Engineer deepdives relevant for this episode:
• Applied AI Software Engineering: RAG newsletter.pragmaticengineer.com/p/rag
• How do AI software engineering agents work? newsletter.pragmaticengineer.com/p/ai-coding-agents
• AI Tooling for Software Engineers in 2024: Reality Check newsletter.pragmaticengineer.com/p/ai-tooling-2024
• IDEs with GenAI features that Software Engineers love newsletter.pragmaticengineer.com/p/ide-that-software-engineers-love
—
Where to find Chip Huyen:
• X: https://x.com/chipro
• LinkedIn: linkedin.com/in/chiphuyen
• Website: huyenchip.com
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(00:00) Intro
(01:31) A quick overview of AI Engineering
(06:45) How Chip ensured her book stays current amidst the rapid advancements in AI
(11:35) A definition of AI Engineering and how it differs from Machine Learning Engineering
(18:15) Simple first steps in building AI applications
(24:38) An explanation of BM25 (retrieval system)
(25:28) The problems associated with fine-tuning
(29:40) Simple customer support solutions for rolling out AI thoughtfully
(35:29) Chip’s thoughts on staying focused on the problem
(37:04) The challenge in evaluating AI systems
(40:03) Use cases in evaluating AI
(43:09) The importance of prioritizing users’ needs and experience
(48:09) Common mistakes made with Gen AI
(53:57) A case for systematic problem solving
(54:57) Project-based learning vs. structured learning
(1:00:07) Why AI is not the end of engineering
(1:04:56) How AI is helping education and the future use cases we might see
(1:08:58) Rapid fire round
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
Jonas takes us through the journey of creating Thronefall from start to finish, offering insights into the world of indie game development. We explore:
• Why indie developers often skip traditional testing and how they find bugs
• The developer workflow using Unity, C# and Blender
• The two types of prototypes game developers build
• Why Jonas spent months building game prototypes in 1-2 days
• How Jonas uses ChatGPT to build games
• Jonas’s tips on making games that sell
• And more!
—
Brought to by:
• Formation — Level up your career and compensation with Formation https://fm.dev/pragmatic
• WorkOS — The modern identity platform for B2B SaaS workos.com
• Vanta — Automate compliance and simplify security with Vanta http://vanta.com/pragmatic
—
The Pragmatic Engineer deepdives relevant for this episode:
• Game development basics newsletter.pragmaticengineer.com/p/game-development-basics
• Building a simple game using Unity newsletter.pragmaticengineer.com/p/building-a-simple-game
—
Where to find Jonas Tyroller:
• X: https://x.com/jonastyroller
• LinkedIn: linkedin.com/in/jonas-tyroller-213a63144
• YouTube: youtube.com/c/JonasTyroller
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(00:00) Intro
(02:07) Building in Unity
(04:05) What the shader tool is used for
(08:44) How a Unity build is structured
(11:01) How game developers write and debug code
(16:21) Jonas’s Unity workflow
(18:13) Importing assets from Blender
(21:06) The size of Thronefall and how it can be so small
(24:04) Jonas’s thoughts on code review
(26:42) Why practices like code review and source control might not be relevant for all contexts
(30:40) How Jonas and Paul ensure the game is fun
(32:25) How Jonas and Paul used beta testing feedback to improve their game
(35:14) The mini-games in Thronefall and why they are so difficult
(38:14) The struggle to find the right level of difficulty for the game
(41:43) Porting to Nintendo Switch
(45:11) The prototypes Jonas and Paul made to get to Thronefall
(46:59) The challenge of finding something you want to build that will sell
(47:20) Jonas’s ideation process and how they figure out what to build
(49:35) How Thronefall evolved from a mini-game prototype
(51:50) How long you spend on prototyping
(52:30) A lesson in failing fast
(53:50) The gameplay prototype vs. the art prototype
(55:53) How Jonas and Paul distribute work
(57:35) Next steps after having the play prototype and art prototype
(59:36) How a launch on Steam works
(1:01:18) Why pathfinding was the most challenging part of building Thronefall
(1:08:40) Gen AI tools for building indie games
(1:09:50) How Jonas uses ChatGPT for editing code and as a translator
(1:13:25) The pros and cons of being an indie developer
(1:15:32) Jonas’s advice for software engineers looking to get into indie game development
(1:19:32) What to look for in a game design school
(1:22:46) How luck figures into success and Jonas’s tips for building a game that sells
(1:26:32) Rapid fire round
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
Our conversation explores the ever-changing world of observability, covering these topics:
• What is observability? Charity’s take
• What is “Observability 2.0?”
• Why Charity is a fan of platform teams
• Why DevOps is an overloaded term: and probably no longer relevant
• What is cardinality? And why does it impact the cost of observability so much?
• How OpenTelemetry solves for vendor lock-in
• Why Honeycomb wrote its own database
• Why having good observability should be a prerequisite to adding AI code or using AI agents
• And more!
—
Brought to by:
• Sonar — Trust your developers – verify your AI-generated code sonarsource.com/pragmatic
• Vanta — Automate compliance and simplify security with Vanta http://vanta.com/pragmatic
—
The Pragmatic Engineer deepdives relevant for this episode:
• How Uber Built its Observability Platform newsletter.pragmaticengineer.com/p/how-uber-built-its-observability-platform
• Building an Observability Startup newsletter.pragmaticengineer.com/p/chronosphere
• How to debug large distributed systems newsletter.pragmaticengineer.com/p/antithesis
• Shipping to production newsletter.pragmaticengineer.com/p/shipping-to-production
—
Where to find Charity Majors:
• X: https://x.com/mipsytipsy
• LinkedIn: linkedin.com/in/charity-majors
• Blog: https://charity.wtf/
Where to find Gergely Orosz:
• X: https://x.com/GergelyOrosz
• LinkedIn: linkedin.com/in/gergelyorosz
• Bluesky: https://bsky.app/profile/gergely.pragmaticengineer.com
• Newsletter and blog: pragmaticengineer.com
—
In this episode, we cover:
(00:00) Intro
(04:20) Charity’s inspiration for writing Observability Engineering
(08:20) An overview of Scuba at Facebook
(09:16) A software engineer’s definition of observability
(13:15) Observability basics
(15:10) The three pillars model
(17:09) Observability 2.0 and the shift to unified storage
(22:50) Who owns observability and the advantage of platform teams
(25:05) Why DevOps is becoming unnecessary
(27:01) The difficulty of observability
(29:01) Why observability is so expensive
(30:49) An explanation of cardinality and its impact on cost
(34:26) How to manage cost with tools that use structured data
(38:35) The common worry of vendor lock-in
(40:01) An explanation of OpenTelemetry
(43:45) What developers get wrong about observability
(45:40) A case for using SLOs and how they help you avoid micromanagement
(48:25) Why Honeycomb had to write their database
(51:56) Companies who have thrived despite ignoring conventional wisdom
(53:35) Observability and AI
(59:20) Vendors vs. open source
(1:00:45) What metrics are good for
(1:02:31) RUM (Real User Monitoring)
(1:03:40) The challenges of mobile observability
(1:05:51) When to implement observability at your startup
(1:07:49) Rapid fire round
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
See the summary of the talk, and the transcript here: newsletter.pragmaticengineer.com/p/the-coding-machine-at-meta
In our conversation, we talk about what it was like working at Meta and dive into its engineering culture. Michael shares his journey of quickly climbing the ranks from intern to principal-level and gives level-headed advice on leveling up your career. Plus, we discuss his work at Formation, where he helps engineers grow and land roles at top tech companies.
In this episode, we cover:
• An overview of software architect archetypes at Meta, including “the coding machine”
• Meta’s org structure, levels of engineers, and career trajectories
• The importance of maintaining a ‘brag list’ to showcase your achievements and impact
• Meta’s engineering culture and focus on building internal tools
• How beating Mark Zuckerberg in a game of Risk led to him accepting Michael’s friend request
• An inside look at Meta’s hiring process
• Tips for software engineers on the job market on how to do better in technical interviews
• And more!
—
Brought to by:
• Vanta — Automate compliance and simplify security with Vanta http://vanta.com/pragmatic
• WorkOS — The modern identity platform for B2B SaaS workos.com
—
The Pragmatic Engineer deepdives relevant for this episode:
• Inside Meta’s engineering culture: newsletter.pragmaticengineer.com/p/facebook
• Stacked diffs (and why you should know about them) newsletter.pragmaticengineer.com/p/stacked-diffs
• Engineering career paths at Big Tech and scaleups: newsletter.pragmaticengineer.com/p/engineering-career-paths
• Inside the story of how Meta built the Threads app: newsletter.pragmaticengineer.com/p/building-the-threads-app
—
Where to find Michael Novati:
• X: https://x.com/michaelnovati
• LinkedIn: linkedin.com/in/michaelnovati
• Facebook: facebook.com/mn
Where to find Gergely:
• Newsletter: pragmaticengineer.com
• LinkedIn: linkedin.com/in/gergelyorosz
• X: https://x.com/GergelyOrosz
—
In this episode, we cover:
(00:00) Intro
(01:45) An explanation of archetypes at Meta, including “the coding machine”
(09:14) The organizational structure and levels of software engineers at Meta
(10:05) Michael’s first project re-writing the org chart as an intern at Meta
(12:42) A brief overview of Michael’s work at Meta
(15:29) Meta’s engineering first culture and how Michael pushed for even more for ICs
(20:03) How tenure at Meta correlated with impact
(23:47) How Michael rose through the ranks at Meta so quickly
(29:30) The engineering culture at Meta, including how they value internal tools
(34:00) Companies that began at Meta or founded by former employees
(36:11) Facebook’s internal tool for scheduling meetings
(37:45) The product problems that came with scaling Facebook
(39:25) How Michael became Facebook friends with Mark Zuckerberg
(42:05) The “Zuck review” process
(44:30) How the French attacks crashed Michael’s photo inlay prototype
(51:15) How the photo inlay bug was fixed
(52:58) Meta’s hiring process
(1:03:40) Insights from Michael’s work at Formation
(1:09:08) Michael’s advice for experienced engineers currently searching for a job
(1:11:15) Rapid fire round
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
In our conversation, Blake shares recruitment insights from his time at Facebook, Google, and Uber and his experience running his own tech recruitment agency. We discuss topics such as:
• A step-by-step breakdown of hiring processes at Big Tech and startups
• How to get the most out of your tech recruiter, as a candidate
• Best practices for hiring managers to work with their recruiter
• Why you shouldn’t disclose salary expectations upfront, plus tips for negotiating
• Where to find the best startup opportunities and how to evaluate them—including understanding startup compensation
• And much more!
—
Brought to by:
• DX — DX is an engineering intelligence platform designed by leading researchers. getdx.com/?utm_source=pragmaticengineer
• Vanta — Automate compliance and simplify security with Vanta. http://Vanta.com/pragmatic
—
The Pragmatic Engineer deepdives relevant for this episode:
• How GenAI is reshaping tech hiring newsletter.pragmaticengineer.com/p/how-genai-changes-tech-hiring
• Hiring software engineers newsletter.pragmaticengineer.com/p/hiring-software-engineers
• Hiring an Engineering Manager newsletter.pragmaticengineer.com/p/hiring-engineering-managers
• Hiring Junior Software Engineers newsletter.pragmaticengineer.com/p/hiring-junior-engineers
—
Where to find Blake Stockman:
• LinkedIn: linkedin.com/in/blake-stockman
Where to find Gergely:
• Newsletter: pragmaticengineer.com
• LinkedIn: linkedin.com/in/gergelyorosz
• X: https://x.com/GergelyOrosz
—
In this episode, we cover:
(00:00) Intro
(01:40) Tips for working with recruiters
(06:11) Why hiring managers should have more conversations with recruiters
(09:48) A behind-the-scenes look at the hiring process at big tech companies
(13:38) How hiring worked at Uber when Gergely and Blake were there
(16:46) An explanation of calibration in the recruitment process
(18:11) A case for partnering with recruitment
(20:49) The different approaches to recruitment Blake experienced at different organizations
(25:30) How hiring decisions are made
(31:34) The differences between hiring at startups vs. large, established companies
(33:21) Reasons desperate decisions are made and problems that may arise
(36:30) The problem of hiring solely to fill a seat
(38:55) The process of the closing call
(40:24) The importance of understanding equity
(43:27) Tips for negotiating
(48:38) How to find the best startup opportunities, and how to evaluate if it’s a good fit
(53:58) What to include on your LinkedIn profile
(55:48) A story from Uber and why you should remember to thank your recruiter
(1:00:09) Rapid fire round
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
In our conversation, he shares how to successfully deliver projects in large tech companies.
Drawing from his experiences at GitHub and Zendesk, Sean reflects on key lessons learned, and we discuss the following topics:
• Why shipping cannot exclude keeping management happy
• How to work on stuff the company actually values
• Why you should take on extra responsibility to get projects done
• Why technical skills are still more important than soft skills
• Soft skills you should learn: including learning the “management lingo”
• First-hand remote work learnings: advantages, disadvantages, and how to thrive in this setup
• … and much more!
—
Brought to you by DX. DX is an engineering intelligence platform designed by leading researchers getdx.com/?utm_source=pragmaticengineer
—
The Pragmatic Engineer deepdives relevant for this episode:
• Software Engineers Leading Projects newsletter.pragmaticengineer.com/p/engineers-leading-projects
• Shipping to production newsletter.pragmaticengineer.com/p/shipping-to-production
• Paying down tech debt newsletter.pragmaticengineer.com/p/paying-down-tech-debt
—
Where to find Sean Goedecke:
• X: https://x.com/sjgoedecke
• LinkedIn: linkedin.com/in/sean-goedecke-5495a7137
• Website: seangoedecke.com
• GitHub: github.com/sgoedecke
Where to find Gergely:
• Newsletter: pragmaticengineer.com
• LinkedIn: linkedin.com/in/gergelyorosz
• X: https://x.com/GergelyOrosz
—
In this episode, we cover:
(00:00) Intro
(01:50) What does shipping mean?
(05:35) Reasons management may choose to ship something customers don’t love
(09:20) A humbling learning from Sean’s time at Zendesk
(13:27) The importance of learning which rules need to be broken for good business outcomes
(15:28) Common obstacles to shipping
(18:13) DRI: Directly responsible individual
(23:06) The value of strong technical skills and why moving fast is imperative
(28:44) How to leverage your technical skills the right way
(32:16) Advice on earning the trust of leadership
(36:10) A time Gergely shipped a product for a political reason
(38:30) What GenAI helps software engineers do more easily
(41:08) Sean’s thoughts on GenAI making engineers more ambitious
(43:20) The difficulty of building AI tools
(46:10) Advantages of working remotely and strategies for making it work
(52:34) Who is best suited to remote work
(54:48) How the pandemic provided a remote work trial for Sean
(56:45) Rapid questions
—
See the transcript and other references from the episode at newsletter.pragmaticengineer.com/podcast
—
Production and marketing by penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.


