Speaker
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
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.
Part of the track
Programming Languages and Paradigms for the Next Decade Hosted by Julie Qiu Uber Tech Lead, Google Cloud SDK @GoogleFrom 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 As we grow as engineers, one of the key realizations that we inevitably come to is that the maintainability of our codebases is of paramount importance to their long-term success. 11:45 Ballroom A Session Types and Programming Languages Refactoring Stubborn, Legacy Codebases Jake Zimmerman, Getty Ritter 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. 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 Platform Engineering is frequently hailed as the latest paradigm shift enabling developers to ship code faster - but is it simply a return to the pre-DevOps era of siloed teams focusing on narrow parts of the software lifecycle? 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 In 2007, Rich Hickey introduced Clojure with a clear mission: to offer the simplicity of functional programming with the practicality of languages like Java and C#. 15:55 Seacliff D Unconference Unconference: Programming Languages 17:05 Pacific DEKJ Session Taming the Configuration Beast with Pkl! Dan Chao Software Engineer @Apple Infrastructure-as-code has revolutionized the way that infrastructure and applications get managed, increasing velocity and scalability. However, this same philosophy has introduced its own problems.