The Pragmatic Engineer

Auteur(s): Gergely Orosz
  • Résumé

  • 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
    Gergely Orosz
    Voir plus Voir moins
Épisodes
  • Building Windsurf with Varun Mohan
    May 7 2025
    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—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 (1:07:15) Windsurf’s language server (1:08:30) The current use of MCP and its shortcomings (1:12:50) How coding used to work in C#, and how MCP may evolve (1:14:05) Varun’s thoughts on vibe coding and the problems non-developers encounter(1:19:10) The types of engineers who will remain in demand (1:21:10) How AI will impact the future of software development jobs and the software industry(1:24:52) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:• IDEs with GenAI features that Software Engineers love• AI tooling for Software Engineers in 2024: reality check• How AI-assisted coding will change software engineering: hard truths• AI tools for software engineers, but without the hype—See the transcript and other references from the episode at ⁠⁠https://newsletter.pragmaticengineer.com/podcast⁠⁠—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
    Voir plus Voir moins
    1 h et 28 min
  • How to work better with Product, as an Engineer with Ebi Atawodi
    Apr 30 2025
    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 Ebi developed her playbooks for vision setting, fundraising, and more(45:59) Why Gergely prioritized meeting people on his trips to San Francisco (46:50) A case for making in-person interactions more about connection(50:44) The genius-jerk archetype vs. brilliant people who struggle with social skills (52:48) The traits of the best engineers—and why they apply to other roles, too(1:03:27) Why product leaders need to love the product and the business (1:06:54) The value of a good PM(1:08:05) Sponsorship vs. mentorship and treating your career like a project(1:11:50) A case for playing the long game—The Pragmatic Engineer deepdives relevant for this episode:• The product-minded software engineer• Working with Product Managers as an Engineering Manager or Engineer• Working with Product Managers: advice from PMs• What is Growth Engineering?—See the transcript and other references from the episode at ⁠⁠https://newsletter.pragmaticengineer.com/podcast⁠⁠—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
    Voir plus Voir moins
    1 h et 15 min
  • Building Reddit’s iOS and Android app
    Apr 23 2025
    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 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—The Pragmatic Engineer deepdives relevant for this episode:• The platform and program split at Uber• Why and how Notion went native on iOS and Android• Paying down tech debt • Cross-platform mobile development—See the transcript and other references from the episode at ⁠⁠https://newsletter.pragmaticengineer.com/podcast⁠⁠—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
    Voir plus Voir moins
    1 h et 26 min

Ce que les auditeurs disent de The Pragmatic Engineer

Moyenne des évaluations de clients

Évaluations – Cliquez sur les onglets pour changer la source des évaluations.