All posts

8 min read

Essential elements of a great developer experience

Essential elements of a great developer experience

Depending on which industry leader you speak to, the definition of developer experience varies. I like Kurt Kemple’s version: “an event or occurrence within an ecosystem that leaves an impression on a developer.Definitions from other leaders focus on developer experience being the interactions with your product and documentation.

We’ll dive into this later, but a great developer experience (or DX) includes a place for developers to ask questions and find support. A community forum is the most commonly leveraged resource for answering developers' questions. The definitions of DX that speak to interactions with your product and documentation do not adequately include community and its impact on great developer experience.

Kurt’s view also raises a valuable question: should the functions that serve the developer audience be named “developer relations” or “developer experience”?

Cassidy Williams, a well-known developer audience expert, has the title “Head of Developer Experience.” My own title is “Head of Developer Relations.” We both focus on developer audiences and what’s in their best interest with our company's product offerings.

Why developer experience matters

When you consider developers’ preferences, you can ensure they continue to assess your product versus immediately moving on to your competitor who is accommodating developers' preferences.

A few things you should know about developers:

  • They prefer facts over marketing jargon
  • They prefer to self-learn by doing
  • They’re critical problem solvers
  • They usually influence decision-makers
  • They take pride in being able to say: “I made that!”

To win over a developer, you need to have a great developer experience from when they first discover your product to after they’ve launched and are looking to do more.

Who is responsible for developer experience?

The responsibility of developer experience usually falls across multiple stakeholders, depending on your company structure.

  • In most cases, your product team has a developer experience sub-team that focuses on the overall experience for developers & users of your product.
  • You also likely have a developer relations or developer experience team who supports, inspires, and advocates for your developer audience—they care deeply about great developer experiences. You may also have an engineering function accountable for developer experience. For example, your engineering team may be responsible for SDKs and code samples.

The ownership of developer experience doesn’t fall to just one team; it’s a cross-functional effort when done correctly. Developer Relations functions should be your developer experience owners. They have the most knowledge about the developer audience and should be closest to their feedback & sentiment to lead this focus successfully.

Essential elements of a great developer experience

Concise getting started guides

Getting started guides answer several questions for developers, such as how long it will take to implement as well as what languages and tech stack are required. It’s a high-level view of what they’re getting themselves into if they choose to leverage your product. Getting started guides are a crucial resource developers leverage when evaluating if your product will meet their needs and then utilize when they’ve decided to adopt your product.

Example: AWS Amplify docs: Getting started

SDKs or code libraries in popular languages

SDKs (software development kits) or libraries are installable packages of software that developers use to build applications with your product. When offering these packages, you must consider your audience and their preferred programming languages. Offering these packages in various programming languages will provide familiarity and comfort with your product. If developers can see you support their preferred language, they’re more likely to consider leveraging your product.

Examples: Stripe docs: Stripe SDKs

Self-serve product sign-up

Developers do not want to sit through a demo or have to engage with a sales representative to obtain access to your product. The best way to pique their interest is to offer a self-serve sign-up process with a free tier or trial that allows developers to evaluate your product more easily. Often developers are looking for a solution immediately, and your team may not be available when these instances occur.

Example: Try Twilio Free sign-up page

Clear pricing page

Alongside signing up for your product without human intervention, a clearly defined pricing page is another critical element of the developer experience. Developers need to understand what your product costs before they can decide to leverage it in production. As I shared previously, developers do not want to engage with your team. Don’t hide your pricing information if developers are a crucial audience for your product. I can’t stress enough how important it is to offer a free tier or trial so developers can dive in for themselves before making a decision.

Example: Digital Ocean pricing

Easy-to-find documentation

Documentation is an area where developers will immediately look to decide if your product will meet their needs. Ensure that your documentation is prominently located in the main navigation of your website or developer hub. On top of being easy to find, ensure your documentation is thorough and answers any questions developers may have when evaluating your product. If a developer has an excellent first impression of your documentation, they’re more likely to adopt your product.

Example: dbt Labs homepage and docs

Up-to-date reference guides

Developers leverage reference guides as a source of truth for your API offering. Ensure that your reference guides are precise and up-to-date. Developers will leverage your reference guides alongside your getting started guides, SDKs, and other forms of documentation.

Example: SendGrid OpenAPI-generated documentation

Product changelog & API status

Developers want to ensure your product & API are reliable. Historical transparency with uptime and latency can speak volumes. A changelog is critical while they’re building with your product. Developers must understand recent changes to ensure their application remains up-to-date, secure, and stable. A visible changelog can also help promote new features and drive user adoption.

Example: Twitter changelog, GitHub status page

A place to ask questions

As mentioned previously, developers want to know they have a place to ask questions and obtain support. Most developers will seek out whatever you refer to as your community. Some companies do this through Slack or Discord, but the best way is through a public community forum. Community forums that are publicly accessible can drive SEO value for your product and attract developers. Offering a community isn’t where this element stops; your community needs to be active with recently answered questions and activities to validate that the developer will find support there.

Example: Harness community forum

Sample apps & code

Sample apps and code snippets are different from SDKs and libraries. Sample apps should display a common use case of your product and allow developers to envision how their application could be built. These are especially helpful for less-experienced developers as they can learn how to build with your product through your sample code. These are also incredibly valuable in reducing “time to hello world” (TTHW), a metric that helps companies understand how complex their product setup is and how valuable their resources are in removing hurdles & blockers.

Example: Plaid docs: Quickstart & example apps

Interactive docs & cURL commands

Allowing developers to engage with your product and run live API calls within your documentation is becoming a gold standard for a great developer experience. It helps developers quickly understand what data an API accepts and returns. Documentation that helps create a code snippet, including the developer's API key, can help decrease the developer's TTHW.

Example: Dropbox chooser

Inspiring & informative content

Driving inspiration is a crucial task for developer relations or developer experience teams. Developers want to be able to envision a use case and see how it may solve their problem. They can see how their peers leverage your product through inspiring and informative content. If your product has a developer blog, link to it throughout your developer experience touch points referenced above.

Example: Render blog

Developer experience & community engagement

Developers' preferred method to engage with your product & team, and their peers, is through a community. As I shared above, they’ll look to your community forum as a way to ask the questions they have and search for pre-existing answers. An active community can speak volumes to developers evaluating your product to solve their problems.

Supporting developers by answering their questions or elevating other members to help one another is a great way to build developer trust and win over a developer considering leveraging your product.

How Common Room can help

Common Room is an intelligent community growth platform that helps organizations educate, empower, and enable their community of developers. It allows DevRel and DX teams to scale and measure impact with intelligent insights, automated workflows, and custom reporting—all in service of a great developer experience.

Common Room exposes frequent surface areas of your community, from member engagement and activity to sentiment and recurring topics. Using inputs from your community, topics, and trending conversations can inform your developer education roadmap by exposing frequently asked questions across platforms and developer sentiment.

Through an aggregation of GitHub commits, members’ preferred programming languages can be used to identify SDK and sample app opportunities to close gaps in developer experience.

Ensuring your forum or other “place-to-ask-questions” remains active and well-responded to is also critical to long-term community health. Common Room makes it possible to measure community responsiveness, identify your most impactful users, and configure team alerts to reduce lag time.

For more DevRel and DX insights and resources, check out the Common Room blog. Learn more about Common Room’s solution for DevRel teams if you're looking for an intelligent community growth platform to educate, empower, and enable your community.

Learn, share, and connect with community leaders.