Talks
Speakers
Events
Topics
Contribute
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Contribute
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
As we enter a decade of applications developed with Ruby on Rails, many teams are starting to feel growing pains relating to design decisions that were made in the past. Development slows down, and morale declines. Fresh competitors without the cruft of legacy code slowing them down easily deliver new features. This change of speed is not a natural part of the growth of a software project, but a common symptom of the design decisions made, and techniques practiced, to develop the software in the first place. In this talk you will learn how to identify common (and not so common) issues that teams face as their applications age. You will learn about principles of software design, techniques, and practices to solve these problems. You will also gain valuable knowledge about how to make your software more maintainable and extensible to ensure you don't run into these problems in the future.
Date
Slides URL
For optimal experience, please provide the URL of the slides. Speakerdeck.com is recommended as it allows us to embed the slides with a player on the site.
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
The video titled 'Maintainable Ruby on Rails' features Steven Baker discussing the challenges faced by Ruby on Rails applications as they age and how to address these growing pains through effective design choices and practices. As applications near their decade of existence, teams often encounter issues stemming from past design decisions which slow development and impact team morale. Baker emphasizes the importance of a long-term perspective when developing software, suggesting that today's choices significantly influence future maintainability. Key points covered in the talk include: - **Maintaining Applicability**: The need for applications to evolve while avoiding common pitfalls associated with legacy code. - **Practical Experiences**: Baker shares anecdotes from his personal coding journey and projects, including his first program at a young age which became unmaintainable, emphasizing lessons learned over time. - **Long-term Vision**: The importance of planning for application maturity from the beginning and recognizing that what works now might hinder future development. - **Renovation Mindset**: Baker draws parallels between home construction and software development, advocating for thoughtful enhancements rather than complete overhauls when applications face challenges. - **Conventions over Configuration**: Adoption of sensible defaults in applications to facilitate easier onboarding and maintenance. - **Documentation**: Maintaining thorough documentation to support team members and ensure clarity around design choices. - **Tackling Technical Debt**: The accumulation of technical debt due to poor design choices needs to be proactively addressed, emphasizing the need for gradual resolution of these issues. - **Signal from Tests**: The health of the codebase can be gauged through tests, noting that slow tests and fragile tests are indicators of potential problems. Baker concludes by stressing the necessity of continuous discussions within the development community to foster improvement in application design, advocating for proactivity in addressing technical debt and urging developers to enhance existing codebases rather than simply fixing immediate issues. By incorporating these strategies, developers can ensure their Ruby on Rails applications remain maintainable and extensible into the future.
Suggest modifications
Cancel