SE Radio 685: Will Wilson on Deterministic Simulation Testing

SE Radio 685: Will Wilson on Deterministic Simulation Testing

Author: SE-Radio Team September 10, 2025 Duration: 1:01:14
In this episode, Will Wilson, CEO and co-founder of Antithesis, explores Deterministic Simulation Testing (DST) with host Sriram Panyam. Wilson was part of the pioneering team at FoundationDB that developed this revolutionary testing approach, which was later acquired by Apple in 2015. After seeing that even sophisticated organizations lacked robust testing for distributed systems, Wilson co-founded Antithesis in 2018 to make DST commercially available. Deterministic simulation testing runs software in a fully controlled, simulated environment in which all sources of non-determinism are eliminated or controlled. Unlike traditional testing or chaos engineering, DST operates in a separate environment from production, allowing for aggressive fault injection without risk to live systems. The key breakthrough is perfect reproducibility -- any bug found can be recreated exactly using the same random seed. Antithesis built "The Determinator," a custom deterministic hypervisor that simulates entire software stacks including virtual hardware, networking, and time. The system can compress years of stress testing into shorter timeframes by running simulations faster than wall-clock time. All external interfaces that could introduce non-determinism (network calls, disk I/O, system time) are mocked or controlled by the simulator. The approach has proven effective with major organizations including MongoDB, Palantir, and Ethereum. For Ethereum's critical "Merge" upgrade in 2022, Antithesis found and helped fix several serious bugs that could have been catastrophic for the live network. The platform typically finds bugs that traditional testing methods miss entirely -- such as those arising from rare race conditions, complex timing issues, and unexpected system interactions. This episode is sponsored by Monday Dev

For developers who think deeply about their craft, Software Engineering Radio-The Podcast for Professional Software Developers offers a steady, thoughtful conversation about building software. This isn't about chasing headlines or quick tips; it's a deliberate exploration of the principles, patterns, and hard-won insights that define lasting work in the field. The SE-Radio Team creates each episode as original, standalone content, ensuring you get focused depth rather than recycled conference talks. Every ten days, a new installment arrives, alternating between detailed tutorial-style deep dives on specific technologies or methodologies and candid interviews with influential voices and practitioners from across the industry. Tuning in means joining a continuous learning journey where complex topics are broken down with clarity, from system architecture and language design to team dynamics and career development. This podcast serves as a reliable educational archive, a resource you can return to as your experience grows, always anchored in the realities and challenges faced by professional developers every day.
Author: Language: en-us Episodes: 100

Software Engineering Radio - The Podcast for Professional Software Developers
Podcast Episodes
SE Radio 676: Samuel Colvin on the Pydantic Ecosystem [not-audio_url] [/not-audio_url]

Duration: 1:02:06
Samuel Colvin, the CEO and founder of Pydantic, speaks with host Gregory M. Kapfhammer about the ecosystem of Pydantic's Python frameworks, including Pydantic, Pydantic AI, and Pydantic Logfire. Along with discussing the…
SE Radio 675: Brian Demers on Observability into the Toolchain [not-audio_url] [/not-audio_url]

Duration: 47:41
Brian Demers, Developer Advocate at Gradle, speaks with host Giovanni Asproni about the importance of having observability in the toolchain. Such information about build times, compiler warnings, test executions, and any…
SE Radio 674: Vilhelm von Ehrenheim on Autonomous Testing [not-audio_url] [/not-audio_url]

Duration: 49:49
Vilhelm von Ehrenheim, co-founder and chief AI officer of QA.tech, speaks with SE Radio's Brijesh Ammanath about autonomous testing. The discussion starts by covering the fundamentals, and how testing has evolved from ma…
SE Radio 673: Abhinav Kimothi on Retrieval-Augmented Generation [not-audio_url] [/not-audio_url]

Duration: 55:55
In this episode of Software Engineering Radio, Abhinav Kimothi sits down with host Priyanka Raghavan to explore retrieval-augmented generation (RAG), drawing insights from Abhinav's book, A Simple Guide to Retrieval-Augm…
SE Radio 672: Luca Palmieri on Rust In Production [not-audio_url] [/not-audio_url]

Duration: 57:46
Luca Palmieri, author of Zero to Production in Rust and Principal Engineering Consultant at MainMatter, speaks with SE Radio host Gavin Henry about Rust in production. They discuss what production Rust means, how to get…
SE Radio 671: Carson Gross on HTMX [not-audio_url] [/not-audio_url]

Duration: 1:15:39
In this episode, SE Radio host Sriram Panyam explores HTMX with its creator, Carson Gross, who is also creator of Hyperscript, the mind behind the Grug Brained Developer, a professor of software engineering at Montana St…
SE Radio 670: Matthias Endler on Prototype in Rust [not-audio_url] [/not-audio_url]

Duration: 1:01:01
Matthias Endler, Rust developer, open-source maintainer, and consultant through his company Corrode, speaks with SE Radio host Gavin Henry about prototyping in Rust. They discuss prototyping and why Rust is excellent for…
SE Radio 669: Will McGugan on Text-Based User Interfaces [not-audio_url] [/not-audio_url]

Duration: 51:26
Will McGugan, the CEO and founder of Textualize, speaks with host Gregory M. Kapfhammer about how to use packages such as Rich and Textual to build text-based user interfaces (TUIs) and command-line interfaces (CLIs) in…
SE Radio 667: Ashley Peacock on Cloudflare [not-audio_url] [/not-audio_url]

Duration: 1:04:31
Ashley Peacock, the author of Serverless Apps on Cloudflare, speaks with host Jeremy Jung about content delivery networks (CDNs). Along the way, they examine dependency injection with bindings, local development, serverl…