DX 101: Few tricks for businesses to get started

DX developer experience Why How

Even only two years ago, the term Developer eXperience (DX) was not so familiar or well understood as it is today. Even now, not all businesses need to consider contributing additional effort in ensuring good DX for their products or services. However, if your business offers a digital product (platforms, libraries, services, tools, etc.) that has touchpoints used by third-party developers, then undoubtedly it will have DX of some sort.

So, businesses offering integration solutions or platforms to accommodate 3rd party service development should consider providing flawless Developer eXperience if they want to grow and earn the trust and advocacy of their target developer community.

DX - What? Why?

In simpler terms, the Developer eXperience of your service is determined by how do developers feel while they are interacting with the APIs to build new services. Given the choice of two APIs, most developers (unless bound by company regulations) would use the one that has faster onboarding and adequate resources, which enables them to produce faster-time-to-market services catering to versatile needs for different user segments. Developers exercise significant autonomy and influence over enterprise purchasing decisions (PaaSView and Developer Executive Summary Report 2019 - International Data Corporation) for a company. So DX at the core can aid the widespread expansion of your business and offering technology solutions.

“Developers exercise significant autonomy and influence over enterprise purchasing decisions.”
PaaSView
 – and Developer Executive Summary Report 2019, International Data Corporation


DX - with examples drawn from Twitter

Differences in User Experience (UX) and Developer eXperience (DX) can be drawn from the very well-known social media platform to carry out conversations around topics - Twitter. Twitter can accommodate general users following the #metoo movement for support and expression, people from the marketing department of a company promoting their services, and developers following some latest trends with APIs. All these people have some common activities on Twitter: browsing tweets with trending hashtags, sending tweets, replying to tweets, and retweeting favorite ones.

With a bit of advanced usage, the Chief Marketing Officer might make automation in HubSpot to automatically send tweets or retweet shared contents by company employees. But for the developer persona, s/he may want to curate tweets with the #metoo hashtag and project some trends on the conversation pattern. Now, this is a really different use-case scenario than usual activities across Twitter. How Twitter accommodates this need? By providing an API and necessary resources to onboard. The ease of finding such API, learning what functionalities it supports, and finally starting to use it to implement the analysis apps ensures how good experience the developer gets from Twitter.

DX developer experience in Twitter

Picture 1: Twitter accommodates Developer eXperience via their self-service portal developer.twitter.com

Easy way to get started

If you are planning to bring a new, out of the box integration solution or platform to the market, the following can help you to start accommodating third-party developers to try out the technology you are offering. Remember, achieving satisfactory DX isn't just one day's journey. It takes time where you will have hiccups and the learning will be filled with trial and error. However, you can already have a good start and continue towards more improvement, if you ensure to own and maintain the following:

1. API Documentation

In integration or platform business, your core APIs enhance your solution capabilities to allow 3rd-party developers to create added functionality and services to benefit totally new user segments. This technical content describes how to use and integrate with available APIs. API documentation is a key element towards great DX because it determines how easy it is for the developers to discover them, learn the usage, and finally integrate with the APIs.

Nowadays, Swagger/Open API Specification (OAS) has made it easier to generate, automate and maintain API documentation that can be used by people from any domain. Good API documentation should ensure: References to guides and tutorials, authorization means, sample use-cases and links to additional ones, and code samples in multiple language frameworks aiding quick start to the development.

stripe-api-doc.gif

Picture 2: Stripe is popular amongst developers for providing API documentation containing descriptions on endpoints and objects, copiable code examples, and references to onboarding guides and additional use-cases.

2. Onboarding Process

Your product might bring great value to the problem you are aiming to solve, but it is comprised of more than one APIs with interrelated functionalities. Developers are busy people and will be looking for means to start using your service in the shortest time possible. Here, the onboarding process comes in hand. This can be a guide, a video, or an automated tutorial in the logged-in view of your service. The process comprises of simple step by step instructions starting from registering to the end, executing some commands to complete a given workflow. Steps might additionally include API calls, recommended guides for further reading, and resources to carry out.

The intention is to start using your product features as fast as possible without drowning in technical jargon and complexities.

3. Resource

Resources are really helpful, specifically for onboarding developers and young newbie developers starting their journey. An example of a good developer resource is REST API workspace (Insomnia) or collection (Postman) to familiarize with APIs without diving too deep into their functional complexity. In addition, Libraries, SDKs, associated guides to using them can make really good options for helping the developers familiarize themselves with your service and start using it in the shortest possible time.

4. Developer Portal

A developer portal is the self-service tools for your developer customers to make the onboard faster. The developer portal works as an interface to your APIs, SDKs, different interactive tools, and related stakeholders. The above-mentioned resources can also be facilitated via the developer portal.

Amazon Web Service (AWS) and Microsoft Azure provide out-of-the-box Developer Portal along with their API Management System. Pronovix is a dedicated company that conducts extensive research and development for Developer Portal.

5. Sandbox

Sandbox is a playground environment for developers where they can carry out their app development or integration works in a secured and isolated manner.  You can plan your product monetization schemes in such a way, that developers can try out the technology you are offering under free or freemium price tag before committing themselves and start using the solution in the production environment. 

Sandbox could be a GUI showcasing your feature offerings or even simply listed cURL commands to send HTTP requests to your APIs. The underneath idea is to have your APIs being implemented and deployed to multiple environments (e.g. Development, Sandbox, Production, etc.) and allowing third-party developers to try them out from a specific development.

Your sandbox should cater to the service in such a way, so that after committing and selecting a pricing plan, developers can simply push their integration project to the production environment with very minor configuration works, not starting from scratch into a new environment.

6. Feedback

You may provide a great onboarding process, rich API documentation, and additional resources. But once in a while, your developer customer may feel the need of adding new resources or might want to report an undiscovered bug. In addition, if you are using design-driven development in API implementation, developers, acting as your customers, can evaluate API specs to see if it covers business requirements and technical expectations. Rapid Feedback and response to it facilitate the growth of trust and advocacy from your developer customer.

A very simple solution to collect feedback could be a repository under your organization in GitHub, with CTAs from your developer portal redirecting users in specific issue templates to describe their pain. There are other services like Zendesk to collect customer requests as tickets.

7. FAQ

Like the commercial website for your product or company, you can also create a Frequently Asked Question - FAQ page to cater to your developer customer. However, here you can be innovative and consider StackOverflow to use as a FAQ page. StackOverflow can be a great place to promote your product and gain the much-coveted developer advocacy and trust. I wrote a separate about Proactive Engagement in StackOverflow, so you can check it out for more details.

8. Developer Newsletter

As you start facilitating Developer eXperience via your product/service, you should put emphasis on developer marketing as well. Developer newsletter is a marketing tool that can aid you to engage the developers.  you can talk about upcoming releases in your products, new resources, use-cases blogposts, developer events, and many things that would surely catch their attention. But do keep in your mind to make the newsletter concise and concrete, so that it doesn’t bring extra noise to them.

Make sure you proofread your newsletter with the person responsible for your company's marketing and communication-related duties.

What are your thoughts about the list above? Do you agree? Or you have doubts or your own ideas for starting to ensure a flawless Developer eXperience for your service? Let me know in the comments.




Nazia.jpg

Hi, I'm Nazia Hasan!

I am working as a Head of Design in Platform of Trust and I focus on Developer Experience and API Designing. Very soon we’ll be migrating to our Developer Portal version 2.0 that would grant customers better experiences in interacting and trying out Platform APIs in Sandbox and access to all resources we provide for a smooth and fast onboarding. Being a person coming from the User Experience field, I’ll talk about measures we take in Platform of Trust to maintain a satisfying developer experience in “human-friendly” blogposts.

Feel free to reach me via, Phone: +358465760561, Email: nazia.hasan@oftrust.net, Twitter: @NazarahTheCat or LinkedIn: https://www.linkedin.com/in/naziahasan/