Detangling Tightly-Coupled Legacy Codebases

At Stripe, we manage a codebase of tens of millions of lines of Ruby with many tightly coupled components. With our business shifting towards microservices, we found it necessary to decompose this code into reusable building blocks. How do you break apart a monolith a decade in the making? What practices could help a small codebase avoid unwanted technical debt?

Building on top of the Sorbet static type system for Ruby, we’ve created a suite of tools and approaches for managing and breaking up tangled dependency cycles, a practice we refer to as “detangling”. In this talk, we’ll cover the approaches we’ve used and the tooling we’ve built to cut apart a tightly-coupled codebase without sacrificing forward momentum on new features.


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

Date

Tuesday Nov 19 / 11:45AM PST ( 50 minutes )

Location

Pacific DEKJ

Share

From the same track

Session

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.

Speaker image - Chris Price

Chris Price

Software Engineer @Momento, Previously Launched New Video Streaming Services @AWS, 10+ Years in Engineering Leadership at Software Startups

Session

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?

Speaker image - Paula Kennedy

Paula Kennedy

Cofounder & COO @Syntasso, Previously Senior Director Platform Services @VMware and @Pivotal, 20+ Years in the IT Industry

Session

Persona-lized Problem Solving with Clojure

Tuesday Nov 19 / 02:45PM PST

Details coming soon.

Speaker image - Jordan  Miller

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

Session

Coding for a Greener Planet

Tuesday Nov 19 / 05:05PM PST

Details coming soon.

Session

Unconference: Programming Languages

Tuesday Nov 19 / 03:55PM PST