We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Eileen Uchitelle - The Myth of the Modular Monolith - Rails World 2024
Learn why modular monoliths aren't a silver bullet for Rails apps. Eileen Uchitelle explains how engineering culture and team dynamics impact code quality more than architecture.
-
The modular monolith approach promises better structure and less coupling, but cannot solve fundamental human and cultural problems in engineering organizations
-
Architectural issues like tight coupling and lack of boundaries are caused by engineering cultures that prioritize shipping features over code quality and maintenance
-
Organizational problems (slow onboarding, code ownership battles, siloed teams) stem from misaligned incentives and blame-based cultures rather than technical architecture
-
True isolation between modules is extremely difficult to achieve in Rails applications - attempting strict boundaries often leads to worse patterns like primitive obsession and code duplication
-
New developers need proper education and indoctrination in Rails philosophy and conventions, not just technical training
-
Tools like Packwork can help identify dependencies but cannot teach good design or fix existing technical debt
-
Leadership needs to actively reward and prioritize maintenance work, technical debt reduction, and quality improvements - not just feature shipping
-
Start with minimal modularization and focus on functional isolation rather than strict domain boundaries
-
Evaluate architectural choices based on team needs rather than following trends - what works for one organization may not work for another
-
Engineering culture improvements and developer education are more important than architectural changes for maintaining healthy Rails applications at scale