Published Sep 3, 2019

Episode 143: API Design with Jim des Rivieres

Jim des Rivieres delves into API-first design, revealing how detailed pre-implementation specifications enhance development and user experience, while balancing consumer needs and implementation flexibility. He also shares insights on maintaining API stability over time, using storytelling, diverse roles, and strategic versioning to create functional, maintainable systems.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • API-First Design

    Jim des Rivieres advocates for an API-first design approach, emphasizing the importance of creating API specifications before implementation. He argues that writing the API specs first allows developers to focus on the consumer experience, ensuring that the API is intuitive and functional. This method not only guides the subsequent development of tests and implementation but also provides a clear specification for clients to use the API effectively 1.

    Write the API specs, then tests and implementation will follow naturally from that.

    ---

    Jim notes that while many programmers prefer to jump straight into coding, crafting detailed specifications can be as engaging as programming itself 2.

       

    Test-Driven Dev

    Test-driven development (TDD) complements API design by ensuring that APIs are robust and meet their intended functionality. Jim des Rivieres highlights that while TDD focuses on writing tests alongside code, incorporating API specifications at the outset can enhance the process. This approach not only results in a well-tested program but also provides a narrative that guides clients in using the API effectively 3.

    You're writing this cover story for the client.

    ---

    Jim suggests that starting with API specs can lead to even better outcomes than traditional TDD, as it aligns the development process with the client's perspective from the beginning 1.

Related Episodes