Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Breaking changes are sad. We’ve all been there; someone else changes their API in a way you weren’t expecting, and now you have a live-ops incident you need to fix urgently to get your software working again. Of course, many of us are on the other side too: we build APIs that other people’s software relies on.
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 at Euruko 2021, Lisa Karlin Curtis, a software engineer at GoCardless, addresses the challenges faced by developers in maintaining API compatibility and preventing unintended consequences that may arise when altering APIs—commonly referred to as breaking changes. She emphasizes that breaking changes can lead to significant issues for users of an API, including urgent live operations incidents that necessitate immediate fixes. The presentation outlines key strategies for developers to work more effectively with their API integrators and avoid causing disruptions. **Key Points Discussed:** - **Understanding Integrators:** Lisa defines integrators as those who use APIs either within the same company or as customers. Recognizing their needs and behaviors is crucial for API reliability. - **Examples of Breaking Changes:** Common changes that can break integrator code include adding mandatory fields, removing endpoints, changing validation logic, adjusting rate limits, modifying error responses, and altering batch processing timeliness. - **Real-World Anecdotes:** A central story involves a developer fixing a performance issue in one endpoint, which inadvertently led to database degradation for another team relying on that endpoint due to unexpected load changes. - **Documentation and Communication:** Lisa stresses the need for comprehensive and accessible API documentation to minimize incorrect assumptions by integrators. This should include edge cases and exploration of observed behaviors that could lead to smooth interaction with the API. - **Managing Assumptions:** Discussion about explicit and implicit assumptions made by integrators; she suggests that developers should engage in better communication, provide clear documentation, and foster a collaborative approach to reduce the likelihood of assumptions leading to issues. - **Approach to Changes:** Lisa proposes considering the probability and severity of breaking changes rather than a binary approach of breaking or not breaking, encouraging empathy with integrator experiences to anticipate the impact of changes. - **Versioning and Rollbacks:** The presentation touches upon semantic versioning and discusses the importance of supporting previous versions of APIs to manage transitions well. Lisa highlights the utility of limited incremental changes to monitor potential impacts before a full rollout. **Conclusion and Takeaways:** Lisa concludes that while completely avoiding breaking changes is nearly impossible, steps can be taken to manage risks effectively. Building transparent communication channels, continuously updating documentation, and ensuring responsive support mechanisms are vital in fostering trust with API integrators. Understanding the developer's responsibilities to their integrators can lead to a more reliable and supportive API ecosystem.
Suggest modifications
Cancel