To effectively drive sustainable developer growth and engagement for products that serve developers, I created the Developer Empowerment flywheel. When connecting with developer audiences on behalf of an organization, driving developer growth and engagement needs to be cross-functional, measurable, and scalable.
My Developer Empowerment flywheel looks like this:
We want to inspire developers in the community in a variety of ways, including but not limited to:
- Ideas – Sharing inspiration on what the product’s capabilities are and how to begin. We want to start small: have fun and share basic examples with a low barrier to entry. Showcase possibilities and get people to an “aha!” moment as early as possible.
- Use cases – Show how building with the product helps in a practical sense. How does developing with our product solve pain points, enable new capabilities, and provide features that developers want to take advantage of in the real world?
- Showcases – Highlight the really cool, powerful, and / or unique projects that developers have built.
- Opportunities – Inspire developers to explore, experiment, and think much more broadly about how they can build awesome projects and accomplish things that they haven’t been able to accomplish previously, without our product.
Next we want to provide valuable learning resources to educate developers on how to build efficiently and effectively with our product.
- Documentation – Provide thorough, easy-to-follow documentation with an exceptional developer experience.
- Tutorials – Create and share tutorials, quick starts, blog posts and other learning content on a variety of mediums including written, video, interactive, and more.
- Demos – Share practical demos with real-world applicability; go beyond Hello World to provide value by showing developers how to build things that are practical and useful.
- Presentations – Talk about how to think about architecture, design patterns, principles, and best practices; provoke thought and be available to answer questions.
- Workshops – Dig deeper with more involved guided learning and teach interactively. Workshops are high value because of the depth of commitment involved.
Education also goes beyond technical content: it’s also about helping developers to think about strategic organizational problem solving, hacking productivity, and builder best practices.
Next we want to activate developers to start building and actively touching the product. This can take a few different shapes:
- Create New – Sign up and take an action (install an SDK, create an app, etc.)
- Commit code – Start writing code (commit code to a repository, make an API call, deploy to an environment, etc.)
- Subscribe – Subscribe to newsletters, course platforms, podcasts, YouTube channels, Twitch channels, etc. Commit to learning more on a regular basis.
- Join Community – Join a product-related developer community or user group.
- Reach Out – Activate developers to reach out to product advocates to have conversations, find out more, and ask questions as they’re getting started.
Once we’ve activated developers to get involved with the product, we want to engage with the developer community.
- Discussions – Engage developer users to participate in chats or discussions, such as communities, forums, and social platforms like Reddit, StackOverflow, etc.
- Program Participation – Engage developers to actively participate in activities like hackathons or longer-running developer initiatives like 100 Days of Code challenges; engage developers to join and actively contribute in developer community programs like ambassador or expert or certification
- Provide Feedback – Encourage developers in the community to engage in conversations providing value product and / or developer experience feedback.
- Ask Questions – Engage with product advocates to ask questions that aren’t in the docs and show active interest in learning more and going deeper.
Finally, we want to empower builders to inspire other developers and continue to perpetuate the Developer Empowerment cycle.
- Support – We want to provide support and resources to help developers teach others what they’ve learned.
- Enable – Let’s provide high-value opportunities for developers to learn from and work with advocacy teams at the organization.
- Promote – We should shine a spotlight on work developers in the community have done and promote resources they’ve created.
- Advocate – We should empower builders to become advocates themselves and teach others.
Empowerment can happen through a variety of different avenues. We can create experts and ambassadors programs, facilitate and support external community meetups, and put on developer conferences wherein we invite and highlight community speakers and contributors. We can also partner with community experts and content creators. By empowering developers who build with our products, we foster the continuation of the developer empowerment cycle.
Who are the participants and contributors in the Developer Empowerment flywheel?
Developer audience – Developers in the community with the potential to use the product are key to target in the Inspire and Educate phases.
Builders – Builders are developers who currently are in the process of learning to develop with the product, or are actively developing with it. This could include members of the wider developer ecosystem, developer customers, or internal engineers who work on the product itself. We want to ensure we are educating, activating, and engaging with Builders.
Champions – Champions are developers who actively advocate for the product in the community. Developer champions create educational content, provide product feedback, participate and contribute to developer community programs, and / or share the work they’ve done with the product and encourage others to use the product as well. Champions are developers who we want to empower so they can contribute to the flywheel by inspiring and educating more of the developer audience.
Cross-Functional Developer Growth and Engagement
Developer Relations is uniquely positioned to be capable of supporting, collaborating with, and facilitating the work done by almost every other department in an organization. Here are a few examples of cross-functional work and support that can be done in the Developer Empowerment flywheel fostering developer growth and engagement.
- Collect and execute product feedback
- Collect and execute developer experience feedback
- APIs and SDKs adoption, usage, and engagement
- Documentation feedback, improvements, and content contribution
- Guides, tutorials, and quick start content creation, promotion, and experimentation
- Developer tooling
- High-value feature identification on product roadmap in response to community insights and feedback
- Beta-testing, early access, and Developer Advisory groups
- Partner-developed integrations
- Technical case studies and demos
- Partner showcase
- Webinars and events
- Partner developer training and enablement
- Developer partner programs
- Product insiders
- Developer certification
- Developer Content
- Blog posts
- Demos and sample applications
- Quick starts and guides
- Videos, livestreams, office hours
- Live events, workshops, trainings, launch events
- Developer community
- Engage in conversations with developers (live and async)
- Promotion of developer projects and contributions
- Developer programs
- Developer Experts / Champions / Ambassadors
- Developer certification program
- Technical training
- Advocacy empowerment
Additional Cross-Functional Opportunities
In addition to the above, there are also many more opportunities for cross-functional work throughout the flywheel. Developer growth and engagement can work with Field and Sales teams to target specific regions or verticals, tilling and fertilizing the soil so Sales can plant seeds.
We can also work alongside Customer Success to “open source” common support questions and answers to create public FAQs, rotate forum staff, and create new resources while also performing ticket deflection.
Developer growth and engagement and developer relations also have opportunities to partner closely with Architecture or the Office of the CTO to ensure growth and engagement teams are consistently providing highest quality best practices and the most accurate information and resources to the developer community.
How to Measure Developer Growth and Engagement
The Developer Empowerment flywheel is measurable in a number of different ways.
Trusted metrics directly measure developer growth and engagement and conversion. Personally, I like to focus on percent of month over month growth over time rather than on specific “magic numbers.” Examples of trusted metrics include (but are not limited to):
- Growth in Monthly Active Users
- Growth in new tenants / apps / instances created
- Growth in projects deployed
- Growth in projects publicly distributed in marketplaces
- Subscriber growth (developer newsletters, courses, content channels such as Twitch, YouTube, etc.)
- Growth in monthly active participants in developer programs
- DevRel Qualified Leads
Insight metrics are helpful and informative, but should not be used to measure success in a strict sense — success should be measured through trusted metrics. These metrics help us to identify trends, patterns, and general awareness.
- Documentation traffic growth
- API and SDK usage
- New content developed
- Number of people reached through content, presentations, sponsorships, etc.
- GitHub metrics
- Package installation metrics
Read more about different types of metrics (trusted, untrusted, insight) in Kurt Kemple‘s excellent Developer Advocate’s Guide to Metrics and Reporting.
Key Performance Indicators
Key Performance Indicators (or KPIs) help us understand how we’re doing, growing, and making progress. KPIs should be used in conjunction with trusted metrics. Similarly, setting KPI goals that are measured by percentage growth month over month helps teams to focus on performing scalable efforts rather than fixating on a single goal number each month or quarter. When goals are set to grow over time, contributors concentrate their strategies, tactics, and overall efforts on initiatives that continue to grow exponentially to continually generate outcomes, rather than starting and concluding with one outcome.
- Growth in content and documentation traffic
- Improvements implemented as a result of developer feedback
- Developer experience feedback implemented
- Developer product feedback implemented
- Growth in people reached through trainings, workshops, presentations
- Developer program membership growth
- Developer community contributions
- Developers certified
- Developer campaign engagement
- Developers reached through partnership engagements
Scalable Developer Growth and Engagement
One of the most important key features of the Developer Empowerment flywheel is that it’s scalable. Scalability is vital when we are driving sustainable developer growth and engagement.
Company Developer Engagement and Advocacy
Within the organization, we ensure that we have developer growth and engagement as well as developer advocacy actively working to empower developer users and community. This includes making sure that we:
- Create scalable resources, content, programs, and initiatives
- Empower developers in the community by teaching, enabling, and supporting
- Have candid conversations and answer questions
- Collect and act on feedback to implement actionable changes and improvements
- Advocate on behalf of the developer users to the company
- Promote and share work and accomplishments from the developer community
Empower and engage with the developer community to:
- Use and share helpful resources
- Participate in learning campaigns, code challenges, hackathons, courses, etc.
- Provide product and developer experience feedback
- Build amazing things
- Subscribe to content (newsletters, content channels, forums)
- Share accomplishments
- Join developer programs
Sustainable Developer Empowerment
Sustainable developer empowerment means that we are continuously ensuring that we:
- Support developers in the community
- Teach beginner, intermediate, and advanced developers
- Solve problems
- Advocate for the developer experience
- Create a productive feedback cycle
- Empower developers in the community to inspire and educate others
- Share how to teach
- Promote the work and accomplishments of developers in the community
- Write the “missing manual” by identifying questions and pain points from active developers
- Spotlight great work
- Empower developer employees within the company
- Share what they’re working on
- Promote engineering and content work
- Support internal employee advocacy
Organizations that care deeply about developer products, developer experience, and developer users can take advantage of the Developer Empowerment flywheel to continually increase their developer growth and engagement.
If you would like to use it in your organization collateral, the Developer Empowerment flywheel graphic can be downloaded here.