Ozymandias on Rails. The Pedestal Inscription
a day ago
- #System Maintenance
- #Rails Monolith
- #Software Legacy
- The article discusses the concept of legacy in software development, inspired by Percy Bysshe Shelley's poem "Ozymandias," which reflects on the transient nature of empires and monuments.
- As Ruby engineers, the author relates this to Rails monoliths that succeed but deteriorate over time due to scale, loss of institutional knowledge, and lack of ownership, leading to unmaintainable systems.
- The "vanilla Rails" approach is debated; while Rails defaults work well for small teams, they can become problematic as companies grow, with issues like invisible callbacks, ActiveRecord leaks, and polymorphic associations causing complexity.
- Ownership is crucial: horizontal ownership decays in large teams, leading to unowned code that degrades faster, while companies like GitLab, Shopify, and GitHub invest in tooling (e.g., Packwerk) to manage boundaries.
- Recovery involves incremental improvements rather than rewrites, focusing on understanding broken parts, assigning ownership, drawing boundaries, and making implicit dependencies explicit, all while maintaining system functionality.
- The series "Ozymandias on Rails" aims to address how to sustain and improve aging Rails systems for the next decade, emphasizing practicality over dramatic overhauls.