For developers to embrace their APIs, banks need to invest in creating an awesome developer experience (DX).
Get it right and banks can differentiate themselves from the crowd by building sustainable developer communities. Get it wrong and they may struggle to keep up with the competition.
So what makes an awesome API Developer Experience?
The article Building Effective API Programs: Developer Experience (DX) provides a good explanation of the key elements that contribute to a positive developer experience.
To provide an overall best practice guide, I have embellished the main themes from this article with other best practices from additional reference sources.
The article Why API Developer Experience Matters More Than Ever suggests the following measurements can help validate a well designed API;
- Task Invocation Ratio
- Minimise the number of API calls required to achieve a developer goal.
- Ensure the developer can easily navigate the request/response to add or access information.
- Developer Stack Size
- Minimise the number of additional tools and libraries.
- Error Handling
- Provide helpers for the developer to track errors and identify where they are happening.
- Minimise the vocabulary the developer needs to understand to use the API.
- Create filters to help the developer access the data they require more efficiently.
- Allow data to be searched via the API.
This is the main developer entry point to sign up, access and use the API.
- API Design
- The API should be standards based, well designed, flexible and simple to use.
- Clear explanation of the purpose and benefits of the API.
- Ability to try the API pre-signup.
- Easy on-boarding, simple and frictionless to get started.
- Getting started guides and quick start tutorials
- Interactive API documentation based on industry standards (i.e Swagger/OpenAPI).
- Code snippets that can be cut and pasted.
- Diagrams and detailed tutorials to explain complex concepts that form part of the API, such as OAUTH exchanges.
- Developer friendly language in documentation and avoid an authoritative tone.
- Software Development Kits (SDKs) for popular languages.
- The DX should cater for language, gender, race, disability, ethnicity, etc.
- A dashboard provides developers with key information, such as their requests, callbacks and log information for anything that has gone wrong. This can help developers save time.
- Provide metrics on the reliability of the API.
- Feedback Loop
- Provide developers with a feedback loop to help them raise and track issues or ideas to further improve the developer experience.
Community building is enabled through physical and virtual interactions with developers.
- Physical Interations
- Developer events/conferences, hackathons, workshops, boot camps, etc
- Face to face developer meetings
- Virtual Presence
- Chatrooms, such as a Slack channel can help developers share best practice, ask questions and collaborate.
The developer evangelist is described by Manfred Bortenschlager as a “technology person trapped inside a marketing person’s body”. The evangelist provides:
- Diverse Skill-Set
- Strong web presence
- Public speaking comes naturally
- Presents and give talks
- Organises and hosts hackathons and developer days
- Newsletters and blogs
- RSS Feeds
- Social media comms
- Videos and webinars
- Content Creation
- Sample code
- Quick start guides
- Market Sensing
- Feedback loop to improve the developer experience
Pilot Partners and Case Studies
Pilot partners are early adopters who can help test and provide initial feedback to improve the APIs and experience. They can also be used to provide early case studies for marketing and promotional activities.
Acceleration via Ecosystem Partners
Identify alliances and partnerships that can be formed with complementary APIs that can extend the value offered to developers.
Measurement helps understand the effectiveness of the developer portal. Measures can include:
- Page visits
- API traffic
- Support Requests
In future articles, we will be using these themes to develop a scorecard. This will allow us to evaluate bank DXs in a methodical way and determine who is truly creating awesome DXs.
Best In Class Developer Experiences
The following are examples of best in class developer experiences;
The following articles provided the reference material for this blog;