Developer Experience: A Comprehensive Framework (Part 1)
Part 1: Acquiring and Retaining Developers
Selling a product to developers within an enterprise is a delicate balancing act. Developers need to experience tangible value, while business decision-makers require clear ROI. So how do you effectively cater to both?
Over the years, I’ve developed a comprehensive framework to optimize Developer Experience (see image below). This framework helps map out strategies from acquisition to retention, ensuring both developers and business decision-makers find value.
(Hat tip to Shawn Wang for the visualization)
In this framework, the x-axis covers the journey from customer acquisition to retention, while the y-axis highlights the engagement of the two key personas: developers and business decision-makers. This post, Part 1, delves into the developer persona exploring strategies to effectively acquire and retain developer customers. Stay tuned for Part 2, which will focus on the operator/business persona.
The Developer Persona
Acquisition to Activation
The first quadrant focuses on developer acquisition and activation – the moment when a developer truly experiences the product’s value. A product-led growth (PLG) strategy is ideal here, as it leverages hands-on product usage to attract and engage developers. This bottom-up approach aligns perfectly with developers’ natural inclination towards hands-on product evaluation, making it highly effective for growing the user base.
The key elements of a strategy to grow the developer user base are:
Excellent documentation characterized by clarity, logical organization, a developer friendly user interface, and searchability. The documentation for Google maps is a great example. The main docs page features “search” front and center, with the first level navigation laid out across the top of the page. The rest of the page below the search box is organized by color to assist with visual navigation. Clicking on a tag leads to pages all laid out using the same template, with information such as best practices and pricing for the specific product included on the LHS navigation menu. The call to action is clear, persistent, and cannot be missed.
Content on a developer-focused landing page designed to provide relevant information efficiently and effectively. Here is a great primer from Ben Williams for how to build one.
A sandbox environment for developers to evaluate the product, supported by easy to use documentation and sample code. Mapbox provides an excellent sandbox with an interactive experience. The intuitive GUI requires no access tokens, supports both simple and complex use cases with multiple parameters, and allows developers to inspect API requests and responses. The webpages for each of the APIs follow a similar template, and a link to the documentation is strategically presented on the upper right, together with other relevant resources as a short scannable list. The page solicits user feedback employing an opt-in, progressive disclosure UI that encourages users to be as brief or verbose as they wish, offering developers another opportunity to get in touch.
Code snippets, templates, and integrations to expedite time to value for a developer, an extension of the “Time to First API call” metric. Stripe does this brilliantly, catering to a broad variety of developer personas ranging from the novice developer who might prefer a no/low-code solution to experienced developers who can search for sample code based on their platform, backends, and frontends of their choice. Recognizing that the overarching goal of the customer is to integrate Stripe, the LHS menu provides helpful big picture guidance on timelines and considerations including a checklist.
An active developer community that can provide trusted peer recommendations and timely help are critical to developer acquisition. A presence on Stack Overflow has become mandatory, with many companies also supporting developer communities on Discord and Slack.
From Activation to Retention
The second quadrant addresses the critical transition from activation to retention. Once developers have experienced the product’s value, retaining them requires ongoing support and engagement. Happy developers who feel heard and supported are more likely to become loyal customers. The key elements of a strategy to retain developers as customers are:
Ongoing engagement through regular release of updates, new features, and product improvements based on developer feedback. Github is an excellent example of a product with high developer retention. They regularly roll out new features, improvements, and fixes together with a detailed change log and release notes to keep developers informed about the latest updates. They first release new features in beta allowing developers to test and provide feedback, and ensure that the product is performant, reliable, and scaleable before the full rollout.
Tutorials, sample code, and learning paths that minimize time to value. MongoDB provides curated learning paths starting with an overview, followed by a series of tutorials to teach MongoDB skills. Pubnub’s semi-custom learning paths support common use cases, making it easier for developers to build with confidence. Learning paths support developers new to the product to navigate development from start to finish, without getting lost in the weeds of technical documentation.
A growing library of integrations to support seamless workflows. Retool leads with “Connect to anything with an API” and makes good on that with a long list of integrations they support. Heroku takes it to the next level with 24 categories of add-ons, 31 buttons, and 238 build packs. Third parties can opt to become add-on partners, further expanding the options available to developers. Both tools enjoy wide developer adoption, and benefit from being listed on partner marketplaces. For example, both Retool and Heroku are listed on the AWS marketplace and benefit from the mindshare of all developers using AWS who happen to be browsing that marketplace.
Access to a community of peers, consisting of fellow developers, developer advocates and external developer communities. Unity has one of the most vibrant and active communities in the game development industry. They actively collaborate and share knowledge through forums, social media groups, Discord servers, and local meetups. Online platforms like Unity Connect, Unity Forums, and Reddit's r/Unity3D provide spaces for developers to ask questions, share insights, and seek feedback. The community contributes to open-source projects, sharing code, libraries, and tools to help other developers and improve the ecosystem.
Feedback loops with proactive issue resolution. Regularly soliciting feedback from developers through surveys, user interviews, and community forums to understand their needs and pain points, followed by visible changes based on their input, demonstrates that their feedback is valued. This reinforces that developers’ opinions matter and encourages ongoing engagement. Postman does this brilliantly. The transparency and accountability goes a long way in building trust with their customers who happen to be developers.
In Part 2, we dive into the acquisition and retention strategies for the Operator/Business Persona.