Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Rails APIs: The Next Generation by Derek Carter This is a sponsored talk by Procore. Building a consistent API for a large and long-running monolithic API on a tool-segmented engineering team can sometimes feel like herding cats. REST, serializers, and Swagger: Oh my! Learn what worked (and didn’t!) as we go behind the scenes building Procore’s first open API.
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 this video titled **"Rails APIs: The Next Generation,"** Derek Carter discusses Procore's journey in building a comprehensive API for their extensive web application. Procore, a cloud-based construction management software company, operates with a large team and a complex application architecture that consists of over 40 distinct tools and more than 500 controllers. During the talk, Derek elaborates on the challenges faced by their tool-segmented engineering teams while developing a consistent API across their diverse applications. Key points discussed include: - **The Importance of APIs:** Building an API creates a natural separation of concerns, fostering a modular architecture while also increasing developer happiness and customer trust. It allows seamless integration with other systems and expands the application's capabilities by encouraging third-party development. - **Characteristics of a Good API:** Derek outlines that a good API should be predictable, consistent, static, simple, and flexible. Each of these qualities reduces developer errors and enhances the overall usability of the API. - **Development Strategies:** Carter highlights the use of a squad model, where Procore's engineering teams are organized into squads which autonomously own specific tools. He discusses the introduction of a ‘guide squad’ that oversees API development to maintain consistency across squads. - **Contracts and Communication:** The importance of API contracts is emphasized, where agreements on endpoint functionalities are established amongst stakeholders to ensure clarity prior to development. This aids parallel development, allowing front and back-end teams to work simultaneously on agreed requirements. - **Serialization Challenges:** Derek discusses the switch from JBuilder to Active Model Serializer for better performance and organizational capabilities, explaining how it allows for clearer API definitions while reducing duplication of efforts across various endpoints. - **Documentation:** A significant portion of the talk is dedicated to API documentation, where Derek stresses that an undocumented API is virtually useless. He outlines how Procore utilizes Swagger (the Open API Specification) for documenting their APIs, facilitating easier maintenance and integration with third-party tools. In conclusion, Derek Carter urges developers to prioritize API design quality, consistent documentation, and the establishment of supportive frameworks to enhance API efficacy. His key takeaways include fostering an environment that minimizes unnecessary decisions for developers, building comprehensive style guides, encouraging collaboration among teams, and passionately advocating for thorough API documentation.
Suggest modifications
Cancel