Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
As applications built on Rails get larger and larger, and more and more engineers work in the same monolith, our community needs to think more about what sort of tooling and architectural changes will help us continue to scale. This talk shares ideas around a toolchain, and more importantly, the social and cultural programs needed to support that toolchain, that can be used to help engineers in an ever-growing Rails codebase continue to have high velocity, manage their complexity, and claim ownership over their own business subdomains.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk titled "Laying the Cultural and Technical Foundation for Big Rails" at RailsConf 2022, Alex Evanczuk addresses the challenges of scaling large Rails applications and the social and technical frameworks necessary for sustained growth. The discussion reflects on Gusto's journey as an organization transitioning from a smaller codebase to managing an increasingly complex Rails monolith. Evanczuk emphasizes that as the number of contributors grows, maintaining velocity and managing complexity becomes critically important. **Key Points Discussed:** - **Introduction and Background:** - Recognition of contributions made by the Rails community and the importance of the conference. - Explanation of Gusto’s system graph, illustrating its various subsystems and interconnections. - **Velocity Challenges:** - Acknowledgment of decreasing per-contributor velocity despite increasing team size. - Difficulties faced when implementing new features, which sometimes added complexity rather than simplifying it. - **Complexity Management:** - Strategies attempted by Gusto to manage growing complexity, including the use of gems and microservices with mixed results. - Evolution of the approach to focus more on societal and cultural changes alongside technical solutions. - **Big Rails Definition:** - Presentation of a definition for "big rails" as a system of socio-technical tools and practices that help scale Rails development. - Five principles formulating their approach: accountability and ownership, clear boundaries, thoughtful dependency management, gradual adoption, and sustainable feedback loops. - **Implementation Details:** - Development of tools like code ownership gems and teams to clarify ownership within the codebase. - Organizational restructuring to segment code based on business logic rather than the typical architectural layers. - Introduction of Packwork, a tool to manage dependencies and ensure clear communication between domain areas. - Cultivation of a culture where developers take responsibility for maintaining clean boundaries within their systems. - **Cultural and Behavioral Shifts:** - Focused effort on educating teams about the benefits of the new systems and advocating for accountability in managing dependencies. - Introduction of feedback loops to continuously engage developers with the system’s design and practices. **Conclusion:** Evanczuk concludes by encouraging the Ruby on Rails community to continue refining tools and practices to combat complexity in large applications. He invites collaboration and emphasizes that scaling a Rails application sustainably requires both cultural change and technical adaptation.
Suggest modifications
Cancel