Refactoring Stubborn, Legacy Codebases

QCon San Francisco 2024

Session Types and Programming Languages

Refactoring Stubborn, Legacy Codebases

Tuesday Nov 19 / 11:45AM PST, Ballroom A

Abstract

At Stripe, we manage a codebase of tens of millions of lines of Ruby. Like any large codebase, people have no shortage of complaints about it, and it's our job to fix those complaints. Fixing them means refactoring the problems away, and over the years we've learned what it takes for these sweeping refactors to be successful: it comes down to leverage and ratcheting.

We'll use two examples to talk about what it means to have leverage over a codebase and how to ratchet increment progress: how we built a Ruby type checker to make developers happier, and how we're building a Ruby package system to introduce modularity. The ideas will be high-level, and apply to basically any team that wants to run a migration in a large, stubborn codebase.

Click here to view the live version of the slides.

Topics

Types and Programming Languages Developer Productivity Ruby
76% senior dev or higher
1:11 speaker ratio
60+ practitioners

QCon San Francisco 2024 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.

Share

From the same track

Tuesday 19 November

10:35 Pacific DEKJ Session Programming languages Moving Your Bugs Forward in Time: Language Trends That Help You Catch Your Bugs at Build Time Instead of Run Time Chris Price Software Engineer @Momento, Previously Launched New Video Streaming Services @AWS, 10+ Years in Engineering Leadership at Software Startups 11:45 Ballroom A Session Types and Programming Languages Refactoring Stubborn, Legacy Codebases Jake Zimmerman, Getty Ritter 13:35 Ballroom BC Session Platform Engineering Platform Engineering: Evolution, Trends, and Future Impact on Software Delivery Paula Kennedy Cofounder & COO @Syntasso, Previously Senior Director Platform Services @VMware and @Pivotal, 20+ Years in the IT Industry 14:45 Pacific DEKJ Session Staff Plus Engineering Clojure 2024 Jordan Miller Sociotechnical Staff Engineer @Nubank, Co-Founder of Clojure Camp, Host/Producer of Lost in Lambduhhhs Podcast, Co-Author Clojure Brain Teasers, Co-Orga Heart of Clojure EU 15:55 Seacliff D Unconference Unconference: Programming Languages 17:05 Pacific DEKJ Session Taming the Configuration Beast with Pkl! Dan Chao Software Engineer @Apple