How to Build a Great Developer Experience: A Practical Guide

Time to read
9 min
Category
How to Build a Great Developer Experience: A Practical Guide
No Results Found
Table of Contents
  • Introducing Skyler Nesheim and Dwolla
  • What are the steps you should follow to build a great developer experience?
    • 1. Optimize all processes
    • 2. Automate developers’ workflow
    • 3. Provide customizable tools and techniques
    • 4. Provide clear API documentation
    • 5. Provide supportive tools
  • How to start improving the developer experience for your products right away?
    • 1. Assign integration consultants to clients
    • 2. Structure technical documentation to solve problems
  • What should you prioritize when building a great developer experience?
    • 1. Provide additional functionality
    • 2. Build a team that prioritizes the developer experience
  • Do you need to implement developer evangelism if you’re looking to build a great developer experience?
  • Final thoughts on building a great developer experience

Building great products that solve problems is time-consuming and demanding. Developers need to code creatively, learn new techniques and skills, and deploy products fast enough to meet users’ and organizations’ expectations.

It’s safe to say that a developer’s role is as tough as it gets already. But it can become tougher, unpleasant, and less productive if they are forced to navigate APIs and tools that are difficult to use or integrate. And with a wide range of technologies to choose from, developers are more likely to be won over by APIs and tools with a seamless user experience, and expect software providers to prioritize the usability and operability of their products.

As a result, the “developer experience” is not just a buzzword. Rather, it has become the standard expected of software providers building solutions for developers. Hence, prioritizing features and processes that will improve developers’ productivity may unlock higher conversion and retention rates for your products.

If you’re wondering what processes and changes you need to implement to ensure developers have a seamless experience when using your products, you’re in the right place. We had a chat with Skyler Nesheim, Senior Vice President of Technology at Dwolla, during one of our Tech Leaders Hub sessions.

Skyler shared strategies that Dwolla implements to make sure they always provide a great developer experience to Dwolla’s users, which you can use for yourself. Keep reading to learn how to optimize the developer experience for your products with Skyler’s tips!

Introducing Skyler Nesheim and Dwolla

Skyler Nesheim holds a BSc in Computer Science from Drake University in his hometown, Des Moines, Iowa, USA. He got his first tech role as a software engineer right out of school at a big insurance company, where he built commercial insurance products. Skyler soon started considering joining a startup and was excited to learn about Dwolla, a fintech startup in his hometown. He joined Dwolla during their early days in 2012 as a software engineer, working on the company’s products he refers to as “platforms.”

After working at the company for five years, he became interested in leading teams and projects there. In 2016, he became the Director of Engineering, leading the Platform Engineering team, and later took on the Vice President of Engineering role, acquiring additional responsibility in infotech, corporate IT, and salesforce. He is now the Senior Vice President of Technology at Dwolla and is responsible for all of the company’s technology.

Dwolla is a US-based fintech company that offers sophisticated A2A (account-to-account) payment solutions that power innovations for businesses of all sizes. Dwolla provides a single API integration that empowers users to integrate and embed several payment solutions to their software. As a software provider for developers, Dwolla values the developer experience and strives to ensure that their users can build and deploy products integrated with the Dwolla platform in mere days!

Skyler’s journey at Dwolla inspired him to start thinking deeply about the developer experience. He is passionate about making sure that the company’s procedures and processes are easy to use and enable developers to build products quicker.

In this article, we share details of our conversation with Skyler on the importance of a great developer experience for increased customer satisfaction and retention. If you’d prefer, you can watch the full recording of our discussion with Skyler via the link below:

 

What are the steps you should follow to build a great developer experience?

It’s a developer’s market. Companies tend to consult their engineering team when selecting tools and APIs, while developers rank service providers offering APIs and other interfacing tools based on their technology’s usability and functionality, the ease of integrating applications with the technology, and the technical support they would receive from these service providers.

Hence, to stand out in the market, you need to prioritize building a great developer experience to make your product irresistible to users. If you’re looking to do this, the following tips shared by Skyler are definitely worth considering:

1. Optimize all processes

Every process matters when building a great developer experience. Therefore, it would be best to improve the entire developer experience life cycle, which entails all interaction with your API or tool. In Skyler’s words, “You should optimize the entire process, starting from when developers sign up on your API or tool to when they start processing transactions with the product integrated with your API or tool.” Every feature or process should be optimized to improve the developers’ productivity and reduce time-to-value.

2. Automate developers’ workflow

If your services are intended to help developers deploy software faster, reducing the time developers spend on each process necessary to use or integrate your solution is a good place to start. You can significantly reduce the integration and deployment life cycle by automating the developers’ workflow.

Skyler recommends assessing and understanding your client’s business, how they will utilize your product and how their applications will interface with your product, and designing your developer experience around these discoveries. With this knowledge, you can automate processes to minimize the need for human intervention or support and promote self-service products.

3. Provide customizable tools and techniques

Building tools and APIs for developers in different industries may not be straightforward, since techniques and programming language preferences differ across developers. Therefore, it might not be easy to predict or customize APIs for each client without burning out.

Skyler recommends simplifying your technology and making it easy to use and understand to solve these problems. In his words, “You probably only need three API endpoints: the first endpoint for onboarding customers, the second endpoint for integrating with the customer’s systems, and the third endpoint to enable the customer to transact with their users using the API.” Additionally, you can offer code libraries in popular programming languages to simplify the process.

4. Provide clear API documentation

If your customers struggle to understand how your technology works, how to interact with your technology, or how to understand the API’s endpoints and terminology, sharing clear API documentation that will help your customers resolve these issues is a great way to improve the developer experience.

Hence, Skyler recommends creating detailed and sophisticated DevDocs that clearly explain how your API works and how to solve frequently occurring problems. The API documentation should be easy to read and understand. You may need to engage technical writers or developers passionate about simplifying API processes to write the API documentation.

5. Provide supportive tools

Apart from detailed API documentation, you can also improve the developer experience by providing supportive tools to your users. For instance, you can provide a software development toolkit that enables developers to integrate APIs quickly. Skyler’s team offers webhook infrastructure to enable developers to receive asynchronous notifications of events happening on their app and develop reactive applications.

Dwolla also features drop-in elements for user interface design that reduce the coding required to get started on their application. This has significantly reduced the time to value for Dwolla’s users. Incorporating similar value-added tools in your technology is a great way to improve the developer experience for your product.

How to start improving the developer experience for your products right away?

Building a great developer experience is a continuous process. There will always be room for improvement, and you can always rely on feedback from your users to keep improving. But if you’re looking to get started right away, Skyler recommends simplifying the integration process.

According to Skyler, developers won’t use your tools or products if they can’t figure out how to integrate them with their applications. Also, they may experience challenges when integrating the API with a product that needs to be slightly modified before integration. Hence, it would be best to focus on this right away.

If you’re wondering how to simplify the API integration processes for your users, these two pieces of advice from Skyler should help:

1. Assign integration consultants to clients

According to Skyler, you should have an army of account integration experts skilled and trained to solve integration challenges. This way, you can assign integration experts to clients facing integration challenges to resolve them faster.

Integration consultants are typically well-versed in the API, have expertise in using the technology implemented in different scenarios, and can lift out patterns that can be reimplemented and reused across different applications. They can help clients think through their designs and processes to ensure compatibility with the API or tool and help them walk through their integration processes.

Apart from ensuring a smoother integration process, integration consultants can also help your clients unlock valuable insights into that business and come in handy for complicated cases that guides or tutorials can’t resolve.

2. Structure technical documentation to solve problems

Skyler recommends working with a team of developer advocates to build and maintain DevDocs that simplify the integration process. In his words, developer advocates can approach technical documentation through the lens of the developers and leverage how developers work and integrate applications to APIs to structure and create relatable and easy-to-use technical documentation.

Developer advocates are just as talented and experienced as people on the software engineering team, but are passionate about giving developers the best experience through documentation and integration, taking the things learned from their discussions and building them into core products.

What should you prioritize when building a great developer experience?

If you’re in the process of improving the developer experience for your product, you may struggle to figure out what to prioritize in order to achieve the developer experience quicker. The ideal situation would be to optimize the entire process, though this may not be possible in reality. If you find yourself at these crossroads, here are some tips that can serve as a roadmap:

1. Provide additional functionality

In Skyler’s words, “Focus on implementing what makes sense as a logical next step to make the API more holistic and functional.” Improving the developer experience also entails anticipating developers’ needs and providing solutions for these needs.

For instance, you can take a cue from Dwolla, who provide a webhook infrastructure that allows customers to receive streams of all the events occurring on their application. Developers can leverage this to build reactive applications that react to events that occur asynchronously.

2. Build a team that prioritizes the developer experience

Skyler says, “It doesn’t matter how good you are as a leader or how hard you work; your responsibility is to get the right people working on your team at the end of the day.” Skyler likens a team that prioritizes the developer experience as a team with the infinite sum mindset that approaches improving the developer experience with the mindset that it is an infinite game with different ways for different players to win.

A team with the infinite sum mindset would be eager to assist developers in building and deploying quicker by improving the developer experience.

Do you need to implement developer evangelism if you’re looking to build a great developer experience?

A good developer experience can serve as a passive way of selling your technology to fellow developers. However, you still need to spread the word about your technology actively. To do so, Skyler recommends leveling up your developer evangelism.

Developer evangelism means your outward-facing initiative to get developers to discover and become interested in your technology. You can leverage knowledge sharing on social media platforms, blog posts, and case studies to create awareness about your technology.

Alternatively, you can set up meetings with potential customers to learn more about their challenges and enlighten them about how your product can solve their problems.

Final thoughts on building a great developer experience

The developer experience is much broader than writing code, getting responses from users, and reacting to such requests. It also includes the way your team interacts with customers, their feelings about your technology, and their experience when they need help.

Hence, if you’re looking to build a great developer experience, leave no stone unturned and start with improving your team’s experience.

Thank you for reading our article. If you found it interesting, you should also subscribe to our Tech Leaders Hub newsletter to never miss an upcoming live session and check out the following resources on our blog:

If you’re looking to build a product with a great developer experience, or you’re hoping to improve your product’s developer experience, we’d be happy to assist. Feel free to take a look at the software development services we provide, then reach out to us to help you start incorporating the tips from this article!

Get your free ebook

Download ebook
Download ebook
Content Writer
Share this post