Static Analysis for Ruby with Jake Zimmerman

Static Analysis for Ruby with Jake Zimmerman

Author: softwareengineeringdaily.com October 14, 2025 Duration: 48:15
Dynamic languages, like Ruby, Python, and JavaScript, determine the types of variables at runtime rather than at compile time. This flexibility allows for rapid development and concise code, but it also makes it harder to catch certain classes of bugs before execution. Type checkers for dynamic languages add structure and safety without compromising their expressive power. Sorbet is a static type checker developed by the Stripe team and designed specifically for Ruby. The motivation behind Sorbet stemmed from the growing complexity of production Ruby applications, where developers needed stronger guarantees and more scalable code quality tools than dynamic typing alone could offer. Jake Zimmerman is a software engineer at Stripe and leads development on Sorbet. He joins the podcast with Josh Goldberg to discuss his background, the challenges of typing in Ruby, the motivation behind Sorbet, its architecture, performance optimizations, and more. This episode is hosted by Josh Goldberg, an independent full-time open-source developer. Josh works on projects in the TypeScript ecosystem, most notably TypeScript ES Slint, the tooling that enables ES Slint and Prettier to run on TypeScript code. Josh is also the author of the O'Reilly Learning TypeScript book, a Microsoft MVP for developer technologies, and a live code streamer on Twitch. Find Josh on Bluesky, Mastodon, Twitter, Twitch, YouTube, and .com as Joshua K. Goldberg. Please click here to see the transcript of this episode. Sponsorship inquiries: sponsor@softwareengineeringdaily.com

For anyone curious about how the code running our world actually gets built, Software Engineering Daily offers a clear and consistent look behind the curtain. This isn't about hype cycles or surface-level news; it's a deep, technical conversation with the engineers, architects, and thinkers who are shaping our digital infrastructure. Each episode focuses on a specific technology, practice, or problem, breaking down complex systems into understandable parts. You'll hear detailed discussions on everything from database architectures and programming language design to the organizational challenges of scaling teams and the real-world trade-offs made in production systems. Hosted by softwareengineeringdaily.com, the podcast serves as a reliable source for developers who want to stay informed and inspired, translating the rapid pace of technological change into substantive, lasting knowledge. It’s for professionals who believe that understanding the "how" and "why" is just as important as knowing the "what." By dedicating time to thorough exploration, this podcast provides context that shorter formats simply cannot, making it an essential resource for anyone building the future, one line of code at a time. Tune in to hear unfiltered insights from the people on the front lines, discussing the tools and decisions that define modern software engineering.
Author: Language: en-us Episodes: 100

Software Engineering Daily
Podcast Episodes
Flox, Nix, and Reproducible Software Systems with Michael Stahnke [not-audio_url] [/not-audio_url]

Duration: 55:16
Modern software development is more complex than ever. Teams work across different operating systems, chip architectures, and cloud environments, each with its own dependency quirks and version mismatches. Ensuring that…
VS Code and Agentic Development with Kai Maetzel [not-audio_url] [/not-audio_url]

Duration: 1:09:00
Visual Studio Code has become one of the most influential tools in modern software development. The open-source code editor has evolved into a platform used by millions of developers around the world, and it has reshaped…
Blender and Godot in Game Development with Simon Thommes [not-audio_url] [/not-audio_url]

Duration: 36:13
Blender Studio is the creative arm of the Blender Foundation and it’s dedicated to producing films, games, and other projects that showcase the full potential of Blender. The studio functions as both an art and technolog…
Node.js in 2026 with Rafael Gonzaga [not-audio_url] [/not-audio_url]

Duration: 54:42
JavaScript has grown far beyond the browser. It now powers millions of backend systems, APIs, and cloud services through Node.js, which is one of the most widely deployed runtimes on the planet. Keeping such a critical p…
Building Games at Zachtronics with Zach Barth [not-audio_url] [/not-audio_url]

Duration: 1:28:37
Zachtronics is a legendary independent game studio known for creating intricate, engineering-focused puzzle games that merge logic, creativity, and code. The studio was founded by Zach Barth in 2011, and it has become a…
Rivals of Aether with Dan Fornace [not-audio_url] [/not-audio_url]

Duration: 46:05
Rivals of Aether and Rivals of Aether II are indie fighting games that combine fast-paced platform combat with elemental-themed characters. The game takes inspiration from Super Smash Bros. and emphasizes skillful moveme…
Aviation Cybersecurity with Serge Christiaans [not-audio_url] [/not-audio_url]

Duration: 51:00
Aviation cybersecurity is becoming an urgent priority as modern aircraft increasingly rely on complex digital systems for navigation, communication, and engine performance. These systems were once isolated but are now in…
Blocking Software Supply Chain Attacks with Feross Aboukhadijeh [not-audio_url] [/not-audio_url]

Duration: 48:49
Modern software relies heavily on open source dependencies, often pulling in thousands of packages maintained by developers all over the world. This accelerates innovation but also creates serious supply chain risks as a…
Pydantic AI with Samuel Colvin [not-audio_url] [/not-audio_url]

Duration: 57:33
Python’s popularity in data science and backend engineering has made it the default language for building AI infrastructure. However, with the rapid growth of AI applications, developers are increasingly looking for tool…