Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
GORUCO 2018: I've Made a Huge Mistake: We Did Services All Wrong by Kelly Sutton
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 her talk titled "I've Made a Huge Mistake: We Did Services All Wrong" presented at GoRuCo 2018, Kelly Sutton discusses the challenges faced by startups when breaking apart a Rails monolith and shares critical insights drawn from her experience at Gusto, a company handling payroll, benefits, and HR software for small businesses. The central theme revolves around understanding when and how to dismantle a monolithic codebase effectively, as well as the lessons learned from various missteps along the way. Key Points Discussed: - **Introduction of the Speaker**: Kelly Sutton introduces herself and her background, mentioning her experience with Rails since 2005 and her role at Gusto. - **The Rails Monolith Problem**: Sutton highlights that while Rails is often criticized for scalability, this perception can be misleading. The growth from a small team to a larger engineering force can lead to difficulties managing a monolith. - **Understanding the 'Swamp'**: She describes the concept of a 'swamp,' which denotes a large and unwieldy monolith that slows development over time due to its size and complexity. This can manifest in long startup times and complicated test suites. - **Team Dynamics and Burnout**: Sutton shares about her team's struggle with burnout while trying to extract the HR domain from their complex codebase, emphasizing the need for collaborative efforts between engineers, product managers, and designers. - **Application vs. Service**: She makes a distinction between applications and services, explaining that an application operates as its own entity while a service may share resources with the monolith and might even run within it. - **Best Practices for Transition**: Sutton concludes with five concrete tips for tackling service extraction, including: - Avoiding circular dependencies in code. - Using value objects for inter-service communications to reduce tight coupling. - Minimizing the use of callbacks to prevent complex dependencies. - Thinking services first before building new applications to establish clear boundaries. - Moving slowly through the transition process to ensure stability and thorough integration. - **Incremental Change**: She stresses the importance of proceeding incrementally and trusting the team to manage the complexities involved in breaking up a monolith. - **Final Thoughts**: Sutton wraps up by reinforcing the idea that while breaking apart a Rails monolith is challenging, it is a necessary process that can lead to better long-term application architecture and team happiness. In summary, Kelly Sutton provides invaluable lessons for developers and startups wrestling with their Rails monoliths, advocating for careful planning and incremental approaches to building a service-oriented architecture.
Suggest modifications
Cancel