Dmitry Petrashko
Dmitry Petrashko

Dmitry works on developer productivity at Stripe, Making it easy to confidently write maintainable, fast, and reliable code at Stripe by improving language, core abstractions, tools and educational materials. Before this, Dmitry co-architected Dotty, the compiler slated to become Scala3.

Typing millions of lines of Ruby @ Stripe with Sorbet

Stripe maintains an extremely large and growing Ruby code base in which the vast majority of Stripe's engineers do most of their work. Continuing to scale development in that code base is one of the most critical tasks to maintaining product velocity and the productivity of Stripe engineering.

We have developed a typesystem for Ruby at Stripe with a goal of helping developers understand code better, write code with more confidence, and detect+prevent significant classes of bugs.

This talk shares experience of Stripe successfully adopting Sorbet in our codebase had millions lines of code that were written before typechecker has been conceived. The talk will describe: - the process used to add typing to existing code; - many tools developed to support this process; - impact of this type system on safety and productivity at Stripe.

The talk does not require any previous knowledge of types and should be accessible to a broad audience.