You are viewing content from a past/completed conference.
Refactoring Stubborn, Legacy Codebases
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.
Speaker
Jake Zimmerman
Tech Lead of Sorbet @Stripe
Jake has been at Stripe for the last 7 years, 6 of which he's spent working on Sorbet, a type checker for Ruby. His focus is on using types to make Ruby developers more productive: improving the type system, building type-driven tooling, and making sure that type checking is fast.
Jake first became interested in types while attending CMU, meaning he's still a recovering Standard ML enthusiast. Outside of work, he loves anything that takes him outdoors.
Read more
Speaker
Getty Ritter
Ruby Infrastructure Engineer @Stripe
Getty has been an infrastructure engineer Stripe for over 5 years, working on the Ruby platform and related tooling to support engineers working at Stripe. He is passionate about finding ways to maintain a high quality and incentivize clean code without sacrificing developer velocity. Prior to his work at Stripe, Getty worked for several years doing research and implementation work at Galois with a focus on programming language theory and compiler implementation.
Read more
From the same track
Session
Programming languages
Moving Your Bugs Forward in Time: Language Trends That Help You Catch Your Bugs at Build Time Instead of Run Time
Tuesday Nov 19 / 10:35AM PST
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.
Chris Price
Software Engineer @Momento, Previously Launched New Video Streaming Services @AWS, 10+ Years in Engineering Leadership at Software Startups
Moving Your Bugs Forward in Time: Language Trends That Help You Catch Your Bugs at Build Time Instead of Run Time
Session
Platform Engineering
Platform Engineering: Evolution, Trends, and Future Impact on Software Delivery
Tuesday Nov 19 / 01:35PM PST
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?
Paula Kennedy
Cofounder & COO @Syntasso, Previously Senior Director Platform Services @VMware and @Pivotal, 20+ Years in the IT Industry
Platform Engineering: Evolution, Trends, and Future Impact on Software Delivery
Session
Staff Plus Engineering
Clojure 2024
Tuesday Nov 19 / 02:45PM PST
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#.
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
Clojure 2024
Session
Taming the Configuration Beast with Pkl!
Tuesday Nov 19 / 05:05PM PST
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.
Dan Chao
Software Engineer @Apple
Taming the Configuration Beast with Pkl!