Building Software Better: API Lifecycle Management for Developers • Erik Wilde • GOTO 2024

Erik Wilde

Learn best practices for managing APIs throughout their lifecycle, from design and testing to deployment and evolution. Key focus on OpenAPI, versioning, and platform thinking.

Key takeaways
  • APIs should be treated as products with clear value propositions, not just technical interfaces. Consider both internal and external consumers when designing APIs

  • The OpenAPI specification (formerly Swagger) has become the de-facto standard for describing REST APIs and enables better documentation, testing, and tooling integration

  • Key API lifecycle practices include:

    • Proper versioning and evolution strategies
    • Consistent design patterns and naming conventions
    • Automated testing including linting and fuzzing
    • Clear documentation and developer experience
    • Monitoring usage and retirement planning
  • Platform engineering and API-first approaches help organizations scale by:

    • Creating reusable digital building blocks
    • Enabling self-service for developers
    • Standardizing practices across teams
    • Reducing duplication of effort
  • Business value from APIs comes through:

    • Direct monetization (charging for API usage)
    • Indirect benefits (increased traffic, partnerships)
    • Internal efficiency gains
    • Enabling new digital capabilities
  • Tools and automation are essential for scaling API practices:

    • API gateways for security and management
    • Contract testing and validation
    • Code generation
    • Documentation generation
    • Usage analytics
  • Think “outside-in” when designing APIs by:

    • Understanding consumer needs first
    • Creating clear consumer journeys
    • Making interfaces intuitive and consistent
    • Supporting common use cases efficiently
  • APIs should be designed to evolve without breaking existing consumers through careful versioning and backward compatibility

  • Describing APIs using standards like OpenAPI enables better communication between teams and automated tooling support

  • Focus on building platforms and ecosystems rather than just individual APIs or systems