Building Windsurf with Varun Mohan
Building Windsurf with Varun MohanVarun Mohan, CEO of Windsurf, shares how building an AI-native IDE is reshaping software development—from optimizing LLM latency to enabling non-engineers to ship code.
Stream the Latest EpisodeListen and watch now on YouTube, Spotify and Apple. See the episode transcript at the top of this page, and timestamps for the episode at the bottom. Brought to You By
— In This EpisodeWhat 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:
TakeawaysSome of the most interesting topics discussed in the conversation were these: 1. Having a robust “eval suite” is a must-have for LLM products tools like Windsurf. Every time Windsurf considers integrating a new model — and releasing this model to customers — they need to answer the question: “is this model good enough?” To do so, they’ve built an eval suite to “score” these models. This is a pretty involved task. At the same time, any team building products on LLMs would be wise to take inspiration. “Eval testing” within AI product development feels like the equivalent of “unit testing” or “integration testing” in more classic software development. 2. AI-powered IDEs make engineers more “fearless” and could reduce mental load. I asked Varun how using Windsurf changed the workload and output of engineers — especially given how most of the team have been software engineers well before LLM coding assistants were a thing. A few of Varun’s observations:
Varun stressed that he doesn’t see tools like Windsurf eliminating the need for skilled engineers: it simply changes the nature of the work, and can increase potential output. 3. Forking VS Code the “right” way means doing a lot of invisible work. While VS Code is open source and can be forked: VS Code Marketplace and lots of proprietary extensions. For example, when forking VS Code, the fork is not allowed to use extensions like Python language servers, remote SSH, and dev containers. The Windsurf team had to build custom extensions from scratch — which took a bunch of time, and users probably did not even notice the difference! However, if Windsurf had not done this, and had broken the license of these extensions, they could have found themselves in legal hot water. So forking VS Code “properly” is not as simple as most devs would normally expect. 4. Could we see more non-developers create “work software?” Maybe. One of the very surprising stories was how Windsurf’s partnership lead (a non-developer) created a quoting tool by prompting Windsurf. This tool replaced a bespoke, stateless tool that the company paid for. Varun and I agreed that a complex SaaS that has lots of state and other features is not really a target to be “replaced internally.” However, simple pieces of software can now be “prompted” by business users. I have my doubts about how maintainable these will be in the long run: just thinking about how even Big Tech struggles with internal tools built by a single dev, and then when this dev leaves, no one wants to take it over. Interesting quotesOn optimizing GPU usage and latency at scale:
On the fill-in-the middle model capability, and why Windsurf had to build their own models:
The Pragmatic Engineer deepdives relevant for this episodeTimestamps(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 ReferencesWhere to find Varun Mohan: Mentions during the episode:
— Production and marketing by Pen Name. You’re on the free list for The Pragmatic Engineer. For the full experience, become a paying subscriber. Many readers expense this newsletter within their company’s training/learning/development budget. This post is public, so feel free to share and forward it. If you enjoyed this post, you might enjoy my book, The Software Engineer's Guidebook. Here is what Tanya Reilly, senior principal engineer and author of The Staff Engineer's Path said about it:
|
Comments
Post a Comment