The Pragmatic Engineer
The Pragmatic Engineer

Building Windsurf with Varun Mohan

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 V

Featured Speakers

Varun Mohan Guest

Topics Discussed

Episode Summary

Executive Summary: Varun Mohan explains how Windsurf evolved from GPU infrastructure and Codium into an AI-first coding platform, emphasizing that code is uniquely verifiable, searchable, and evaluable. He argues AI lowers software-building costs, should increase ambition and output, and will shift engineers toward higher-leverage problem solving rather than eliminate them. The discussion covers model evaluation, retrieval, latency, enterprise compliance, MCP, and the future of software engineering.

Main Topics: Why Windsurf built its own models: Mohan explains that code completion required fill-in-the-middle behavior and other code-specific capabilities that general text LLMs lacked, forcing the team to train and run its own models early. Evaluation infrastructure for coding models: He describes Windsurf’s multi-layer testing approach: retrieval accuracy, intent generation, edit quality, redundant changes, and executable outcomes, inspired by simulation/evaluation systems from autonomous vehicles. Product and company evolution from Exafunction to Codium to Windsurf: The company began as GPU virtualization infrastructure, shifted into coding tools as LLMs became viable, and then rebuilt around an agentic IDE experience because VS Code constrained the product vision. Retrieval, indexing, and codebase understanding: Windsurf combines embeddings, keyword search, AST/knowledge-graph signals, and additional computation at retrieval time to achieve higher recall and precision across large repositories. Latency and inference as core product challenges: Mohan stresses that developer UX depends on sub-second response times, requiring careful GPU utilization, batching, speculative decoding, and geographic placement of infrastructure. Enterprise adoption, compliance, and infrastructure choices: The team kept systems simple and self-hostable to support enterprise customers, achieve FedRAMP High compliance, and handle large, regulated codebases without unnecessary dependencies. How AI changes software engineering work: Mohan argues AI increases developer leverage, reduces friction, and broadens who can build software, but strong engineers will remain valuable because they can reason across layers and solve complex problems.

Key Arguments: Code is unusually amenable to automated evaluation because it is executable, testable, and has ground truth in repositories and commits. General text-model behavior is insufficient for coding because code often requires in-the-middle completion and token patterns that are out of distribution. Fine-tuning provided only modest gains compared with better retrieval and personalization, so the team prioritized those higher-value improvements. Embedding search alone is too lossy; effective retrieval requires combining embeddings, keywords, AST/graph signals, and post-retrieval computation. Latency is a first-order product constraint because even small delays materially reduce developer willingness to use the tool. AI should not reduce the need for software engineers; it should make them more productive and increase the amount of software companies build. The best engineers are problem solvers who can move across abstraction layers, not just boilerplate writers. Many enterprise or business tools can be replaced by smaller, custom internal apps as software creation gets cheaper, but complex stateful systems like Workday or Salesforce are unlikely to disappear soon. MCP is promising for connecting tools and services, but the spec is still too freeform and likely needs better access-control and workflow primitives. The company intentionally embraces failure on experimental bets, because learning from non-working ideas is part of product development.

Data Points: Team size: a bit over 50 people - Mohan describes the Windsurf engineering team as small relative to large engineering projects. Product trial adoption: well over a million developers tried the product within a couple months - Used to illustrate rapid growth after launch. ARR growth: over eight figures in ARR within a month of pricing launch - Indicates strong commercial traction once pricing was introduced. Daily code-token processing: well over 500 billion tokens of code every day - Scale of Windsurf’s model/retrieval system workload. Latency sensitivity: a 10-millisecond increase in latency affects willingness to use the product materially - Highlights how small inference delays can hurt developer UX. Target response time: sub a couple hundred milliseconds time to first token - Performance target for Windsurf’s passive coding experience. Compute vs memory bandwidth: GPUs have over two orders of magnitude more compute than CPUs, but only an order of magnitude more memory bandwidth - Explains why batching/parallelism trade-offs affect latency. Company goal: reduce the time it takes to build applications by 99% - Mohan’s long-term ambition for the product/company. Current improvement estimate: pre-Windsurf about 20%; post-Windsurf over 40% - His rough estimate of progress toward reducing build time. Distance to goal: 60x away from 99% - A rough comparison of current state to the 99% target. User behavior threshold: hundreds of milliseconds - Mohan says developers expect very fast feedback and would rage quit if every keystroke lagged by a few hundred ms. Enterprise compliance: FedRAMP High - Windsurf claims to be the only AI software assistant with FedRAMP High compliance. Internal engineering split: close to half the engineering team - Working on projects not yet publicly launched. Agent/product timing: agents became viable in the middle of last year - Mohan says model quality finally reached the threshold needed for the agentic product. Non-developer internal usage: one of the biggest power users is a partnerships lead with no prior software experience - Illustrates that non-engineers can build useful internal apps with Windsurf.

Pivotal Quotes: "What should you be doing? You should be building more." — Varun Mohan: His response to the claim that AI will reduce the number of software engineers. "If you make a developer wait, the answer better be 100% correct." — Varun Mohan: Explaining why latency and quality are tightly coupled in developer tools. "We think that the ground truth is just very hard. You don’t even know if the ground truth is great." — Varun Mohan: Describing why coding products are easier to evaluate than many other AI applications.

Implications: AI coding tools are likely to expand software output, not just replace engineers. The winners will combine fast models, high-recall retrieval, low latency, and strong enterprise trust, while developers who can reason across systems will remain highly valuable.

🔓 Sign Up for Unlimited Episode Search

About The Pragmatic Engineer

View all episodes from The Pragmatic Engineer