Building Windsurf with Varun Mohan
· Summarized
Key takeaways
- Windsurf aims to redefine the software development landscape by focusing on optimizing LLMs specifically for coding tasks, emphasizing features like latency and collaborative efficiencies.
- The culture at Windsurf celebrates learning from failures, fostering an environment where experimentation is crucial for innovation.
- AI tools are seen as enablers that will change the workflow of developers, allowing them to focus on higher-level problem-solving rather than mundane coding tasks.
- Forking existing IDEs like Visual Studio Code allows Windsurf to build on established workflows while stripping away unnecessary proprietary restrictions.
- Developers need to prepare for a changing landscape where coding skills will still be valuable, but the nature of the work will evolve with AI tools.
Summary
Introduction to Windsurf and Varun Mohan
In this episode, the host welcomes Varun Mohan, CEO and Co-Founder of Windsurf. They dive into the technical challenges faced while developing an AI-native IDE and how these tools are transforming software development. Varun discusses how the Windsurf team tests new models and the company’s origin story, highlighting the learning journey from previous ventures.
Windsurf’s Technical Innovations
The discussion shifts towards the technical challenges that Windsurf addresses, focusing on the inherent limitations of existing LLMs for coding tasks, such as the missing 'fill in the middle' capability. Varun explains Windsurf’s approach to optimizing latency and how they enhance the coding experience for developers.
Building an AI-Driven IDE Culture
Varun elaborates on the company culture at Windsurf, which encourages experimentation and learning from failures. The team places a high value on taking bets, and Varun shares specific instances where features, like the code review tool, didn’t meet expectations, but the team embraced these failures, learning and iterating from them.
Effect of AI Tools on Software Engineering
The conversation also covers the evolving landscape of software engineering due to AI advancements. Varun expresses optimism about the role of developers, even as AI is projected to take over majority code generation tasks. He emphasizes that developers will still be responsible for higher-level problem solving and collaboration.
The Future of Coding and Non-Developer Interactions
They discuss how non-engineers within Windsurf utilize the tool to build custom applications, showcasing its accessibility beyond typical developer use cases. This opens up discussions on the future scope of coding as more people from varied backgrounds engage with coding tools.
The Forking of VS Code and Language Server
Varun explains the strategic decision to fork Visual Studio Code to build Windsurf, focusing on the importance of providing a familiar environment while avoiding proprietary restrictions. He details how the architecture allows for shared binaries between various IDEs, enhancing the flexibility and reach of Windsurf.
MCP and Security Considerations
The discussion on Model Communication Protocol (MCP) reveals both excitement and caution regarding its implications for security and access control. Varun articulates the importance of balancing flexible access for user efficiency while maintaining strict security protocols.
Sponsors
- 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
Show notes
Supported by Our Partners
• Modal — The cloud platform for building AI applications
• CodeRabbit — Cut code review time and bugs in half. Use the code PRAGMATIC to get one month free.
—
What happens when LLMs meet real-world codebases? In this episode of The Pragmatic Engineer, I am joined by Varun Mohan, CEO and Co-Founder of Windsurf. Varun talks me through the technical challenges of building an AI-native IDE (Windsurf) —and how these tools are changing the way software gets built.
We discuss:
• What building self-driving cars taught the Windsurf team about evaluating LLMs
• How LLMs for text are missing capabilities for coding like “fill in the middle”
• How Windsurf optimizes for latency
• Windsurf’s culture of taking bets and learning from failure
• Breakthroughs that led to Cascade (agentic capabilities)
• Why the Windsurf teams build their LLMs
• How non-dev employees at Windsurf build custom SaaS apps – with Windsurf!
• How Windsurf empowers engineers to focus on more interesting problems
• The skills that will remain valuable as AI takes over more of the codebase
• And much more!
—
Timestamps
(00:00) Intro
(01:37) How Windsurf tests new models
(08:25) Windsurf’s origin story
(13:03) The current size and scope of Windsurf
(16:04) The missing capabilities Windsurf uncovered in LLMs when used for coding
(20:40) Windsurf’s work with fine-tuning inside companies
(24:00) Challenges developers face with Windsurf and similar tools as codebases scale
(27:06) Windsurf’s stack and an explanation of FedRAMP compliance
(29:22) How Windsurf protects latency and the problems with local data that remain unsolved
(33:40) Windsurf’s processes for indexing code
(37:50) How Windsurf manages data
(40:00) The pros and cons of embedding databases
(42:15) “The split brain situation”—how Windsurf balances present and long-term
(44:10) Why Windsurf embraces failure and the learnings that come from it
(46:30) Breakthroughs that fueled Cascade
(48:43) The insider’s developer mode that allows Windsurf to dogfood easily
(50:00) Windsurf’s non-developer power user who routinely builds apps in Windsurf
(52:40) Which SaaS products won’t likely be replaced
(56:20) How engineering processes have changed at Windsurf
(1:00:01) The fatigue that goes along with being a software engineer, and how AI tools can help
(1:02:58) Why Windsurf chose to fork VS Code and built a plugin for JetBrains
(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
Follow this show on AudioBrevity and new episodes get summarized for you. Create a free account