Making Software Crash Before It Breaks (with Isaac Van Doren)

Making Software Crash Before It Breaks (with Isaac Van Doren)

2.641 Lượt nghe
Making Software Crash Before It Breaks (with Isaac Van Doren)
At 23, Isaac is already jaded about software reliability - and frankly, he's got good reason to be. When your grandmother can't access her medical records because a username change broke the entire system, when bugs routinely make people's lives harder, you start to wonder: why do we just accept that software is broken most of the time? Isaac's answer isn't just better testing - it's a whole toolkit of techniques working together. He's advocating for scattering "little bombs" throughout your code via runtime assertions, adding in the right amount of static typing, building feedback loops that page you when invariants break, and running nightly SQL queries to catch the bugs that slip through everything else. All building what he sees as a pyramid of software reliability. Weaving into that, we also dive into the Roc programming language, its unique platform architecture that tailors development to specific domains. Software reliability isn’t just about the end user experience - Roc feeds in the idea we can make reliability easier by tailoring the language domain to the problem at hand. – Isaac’s Homepage: https://isaacvando.com/ Episode on Property Testing: https://youtu.be/wHJZ0icwSkc Property Testing Walkthrough: https://youtu.be/4bpc8NpNHRc Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices Support Developer Voices on YouTube: https://www.youtube.com/@DeveloperVoices/join Isaac on LinkedIn: https://www.linkedin.com/in/isaacvando/ Kris on Bluesky: https://bsky.app/profile/krisajenkins.bsky.social Kris on Mastodon: http://mastodon.social/@krisajenkins Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/ 0:00 Intro 3:58 Why Isaac Is Already Jaded About Software 7:06 Beyond Testing: A Toolkit for Reliable Software 13:04 Rolling Your Own Assertions 14:42 Selling "Little Bombs" to Your Team 16:51 Are Assertions A Poor Man's Typesystem? 18:22 When Type Systems Hit Their Limits 22:47 Making Sure Your Bombs Actually Explode 26:32 Languages That Embrace Failure 27:55 Roc vs Java: More Than Just Syntax 31:58 Building Domain-Specific Platforms in Roc 41:19 Why Roc Ditched Rust for Zig 47:55 SQL Queries as Bug Detectors 53:46 The Pyramid of Reliability 55:16 Outro