$30 off During Our Annual Pro Sale. View Details »

BALANCING BETWEEN INTERNAL AND EXTERNAL DEVELOPER (API) EXPERIENCE

BALANCING BETWEEN INTERNAL AND EXTERNAL DEVELOPER (API) EXPERIENCE

Presented at APIDays Finland 2019 in June 4th.

Jarkko Moilanen, PhD

June 04, 2019
Tweet

More Decks by Jarkko Moilanen, PhD

Other Decks in Business

Transcript

  1. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    BALANCING BETWEEN
    INTERNAL AND
    EXTERNAL DEVELOPER
    (API) EXPERIENCE
    Jarkko Moilanen
    Developer eXperience Lead
    @jarkko_moilanen

    View Slide

  2. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    ANNUAL LOSS 85$ BILLION
    Developers spend approximately
    four hours a week on “bad code,”
    which equates to nearly $85
    billion worldwide in opportunity
    cost lost annually
    Bad Developer eXperience is the
    Joker of the API Economy, burning
    billions of dollars while just
    watching the flames.
    @Jarkko_Moilanen

    View Slide

  3. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    LACK OF DEVELOPERS
    The amount of skilled developers
    is limiting development
    More easily usable tools and APIs
    can increase the developer base
    and speed in development
    @Jarkko_Moilanen

    View Slide

  4. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    REDUCED TIME TO MARKET
    Getting product to markets fast is
    essential.
    Great Developer eXperience with
    tools and APIs can significantly
    reduce the time to market
    timespan.
    @Jarkko_Moilanen

    View Slide

  5. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    DATA LINKING
    PLATFORM
    we make your
    data flow easily,
    with marginal of
    cost while you
    rule your data
    @Jarkko_Moilanen

    View Slide

  6. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    DX LEAD GOAL
    Provide easy access to data and
    efficient tools to foster creation of
    applications.
    Make world more developer
    friendly
    Improve the developer experience
    in everything
    @Jarkko_Moilanen

    View Slide

  7. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    API DEVELOPER EXPERIENCE
    Creates value (solves a problem)
    Reliable
    Low learning curve
    Self-service
    Up-to-date accurate
    documentation
    Support
    Unified and consistent
    @Jarkko_Moilanen

    View Slide

  8. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    DX LEAD GOAL WITH LIMITATIONS
    Maximum positive developer
    experience for the platform
    (developer) consumers
    without killing the internal
    developer experience.
    @Jarkko_Moilanen

    View Slide

  9. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    APIS PLAY CRUCIAL ROLE
    @Jarkko_Moilanen
    The Developer Coefficient report 2018, Stripe & Harris Pol, More than 1,000 developers and more than 1,000 C-level executives

    View Slide

  10. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    LANDSCAPE
    @Jarkko_Moilanen
    API Docs
    API
    management
    Sandbox
    environment
    Data Product
    creation
    Data
    Consuming
    Developer
    Portal
    API Design
    Guide
    CLI tools and
    libraries
    Analytics

    View Slide

  11. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    3 CASES FROM PAST 6 MONTHS
    @Jarkko_Moilanen
    Architecture
    vs
    exposed APIs
    RAML
    vs
    OpenAPI spec
    Postman
    vs
    Insomnia
    Related to API Docs

    View Slide

  12. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows @Jarkko_Moilanen
    ARCHITECTURE EXPOSED APIS
    • Microservices architecture
    • Lots of internal APIs
    • Identity API
    • Broker API
    • Product API
    • ….
    • Developer needs logical
    entities
    • Product and data from
    same
    • As few API calls as possible
    • No chatty APIs
    ”Your and my primary concern requires compromises. Let’s use
    HAProxy / API management to solve this”

    View Slide

  13. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows @Jarkko_Moilanen
    RAML OPEN API
    • Internal choice
    • Reuse efficiency
    • Fading ecosystem
    • Not possible to use in
    Slate based
    documentation
    • ”Consumer’s choice”
    • Default and expected
    • Growing ecosystem
    • Tooling grows
    • Can be used in Slate
    ”Use RAML, I’ll make a tool to handle gap between Slate and
    RAML”

    View Slide

  14. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows @Jarkko_Moilanen
    Github Custom tool Slate Github
    RAML
    6
    Code
    examples
    40+
    Open
    API
    spec
    Slate formatted
    markdown
    Build static html
    pages
    Stripe style 3
    column API
    documentation
    Served via
    Github pages
    under own
    domain
    Change in Github master automatically fires regeneration and deployment of API Docs
    ALWAYS UP-TO-DATE API DOCUMENTATION
    docs.oftrust.net

    View Slide

  15. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows @Jarkko_Moilanen
    INSOMNIA POSTMAN
    Both provide pretty much the same capabilities to test APs

    View Slide

  16. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows @Jarkko_Moilanen
    INSOMNIA
    “They [Insomnia] tend to address the
    bugs and feature requests in GitHub
    pretty fast”.
    “I initially switched to it [Insomnia]
    simply because the `hosts` bug made
    Postman unusable”
    [Insomnia] easier for both new users
    and experienced users, as well as just
    having more useful features, and most
    critically - less bugs.

    View Slide

  17. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows @Jarkko_Moilanen
    INTERNAL
    EFFICIENCY
    WINS
    Internal developer experience is
    more important in the beginning
    to assure development speed
    Find tools or build processes to
    satisfy 3rd party DX needs
    derived from internal DX.

    View Slide

  18. Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows
    Platformoftrust.net @PlatformOfTrust #dataliikkuu #dataflows @Jarkko_Moilanen
    BECOMING
    OPERATIONAL IN 2019!
    Psst! Sandbox is open already
    and free for all.
    developers.oftrust.net

    View Slide