New Rails features like Hotwire, Kamal, and Solid AllTheThings are super cool, but not everyone uses them daily. Many of us work on Rails apps that have grown large and complex. To keep these apps thriving, we need to stay up to date, deal with technical debt, and add new features that are important for our business needs while ensuring nothing breaks for our customers.
In this talk, I’ll give you a real-life look at how a small team of engineers keeps an almost 20-year-old monolithic Rails application at Harvest running strong and ready for the future. I’ll share how our workflows have changed (like how we write PR descriptions or how we advocate for refactoring through exploration), how we stay up to date with Rails updates (including why we chose to utilize new out-of-the-box technologies and why we decided to keep older libraries in other situations), and the practical lessons and strategies we use to keep things running smoothly, like observability, feature flags, and other utils and gems like scientist.