Published Sep 3, 2019

Episode 113: Building Platforms with Jeff McAffer

Discover the art of building robust platforms with Jeff McAffer, as he delves into the nuances of platform versus frameworks, the critical role of API design, and overcoming challenges in maintaining balance and vision in development.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Platform Basics

    provides insights into what defines a platform, distinguishing it from frameworks and applications. He explains that a platform is akin to middleware, offering the essential components needed to build applications without having to create everything from scratch 1. Unlike applications, which are specific compositions of functionalities, platforms are generic and versatile, allowing for various applications to be built upon them 2. Jeff also notes that while platforms can be domain-specific, their core characteristics remain consistent, focusing on providing a foundation for diverse application development 3.

    A platform is something that you sort of stand on and you build upon and you do things on top of.

    ---

    This distinction is crucial for developers to understand the flexibility and potential of platforms in software engineering.

       

    Effective Platforms

    Building an effective platform hinges on robust API design and understanding consumer needs. emphasizes the importance of having numerous consumers early in the development process to gather diverse perspectives and ensure the platform's flexibility and extensibility 4. He highlights the concept of binary compatibility, where changes to an API must not break existing implementations, underscoring the need for careful API evolution 5. Jeff also stresses that clear and functional APIs act as contracts, maintaining stability and usability across different implementations 6.

    Good fences make good neighbors. If you have clear API and the API is functional enough, people don't need to reach in and use internal stuff.

    ---

    This approach ensures that platforms remain reliable and adaptable over time.

Related Episodes