Successful developer communities aren't built by marketing, and sometimes happen in spite of it.
Here's a tension every developer-focused company faces: you need to reach your audience, but traditional business-to-business marketing tactics aren't effective.
Developers famously ignore traditional B2B marketing campaigns like white papers, gated content, webinars, cold outreach, and paid advertising. The way that developers do learn about new tools and techniques is usually from other developers. Any message from a company that "smells like marketing" is likely to be ignored or met with skepticism.
Developers have, out of necessity, built up an immunity to traditional marketing tactics. — The New Kingmakers by Stephen O'Grady
So to get noticed, developer-focused companies need to think and act like developers themselves. What does that mean? It's all about getting more hands-on.
Developers learn by doing. They frequently share their newly acquired knowledge with their peers by writing blog posts, sending tweets, posting on DEV 🙌, giving talks and putting code up on GitHub. Dev-focused companies can do these same things and create more awareness for their product or service.
When an individual developer creates something exciting for their peers, it's usually called a side project_. When a dev-focused company creates a project to inspire their community, we call it a community project. They're a great way to connect with developers who are jaded by the usual marketing noise.
Developer community projects encourage hackers and explorers to learn about new technologies in a low-risk, hands-on environment.
These projects provide value to the developer community while simultaneously driving business results for the parent company. Yet, they can be hard to pull off, requiring not just writing code but a larger cross-functional effort that often includes design, product and marketing.
To help demystify the process, we've pulled together some of the most successful and compelling examples of developer community projects, along with a list of key criteria they share in common. We also spell out some of the benefits that make them a tool of choice for companies who market and sell to developers.
Community projects come in different shapes and sizes, but there are a few common attributes that stand out:
- Value to the community
- Depth and interactivity
- Unique brand & smart packaging
This is the most important criteria for a community project. More than just a thinly-veiled attempt to get developers to try your service without any payoff, it has to be useful.
One way to add value is to create an educational resource, like JWT.IO from Auth0. JWT.IO teaches developers how to use JSON web tokens (JWTs) in a straightforward and thorough way, and it adds a whole new dimension of value by including an interactive debugger.
Another way to give value is by making a tool that solves a problem, like Algolia's DocSearch. DocSearch makes it possible to search the documentation websites of open source projects, addressing a historical pain point with docs that are published to the web. It's completely free for any open source project maintainer and Algolia engineers personally help new maintainers get onboarded.
A third way to add value is to create an open source library, plugin, or framework that helps developers build their applications. Look no further than Stripe and their gorgeous open source page to see this approach in full swing. Many of these projects have developer communities of their own and are especially powerful awareness generators and brand builders for Stripe.
Developers learn by doing, so a repository of code that can be cloned and run locally will be more engaging and effective than a static blog post. The more hands-on, the better.
If a community project aims to teach, it's good to have a demo along with step-by-step instructions for walking through it. Some of the best projects spice things up with an interesting data set or a few fun GIFs.
And then there's TwilioQuest. TwilioQuest turns the experience of learning to use the Twilio API into a full-on role-playing game complete with retro graphics, custom avatars, personalized missions, and experience points.
"TwilioQuest is an interactive, self-paced game where you learn how to Twilio. TwilioQuest introduces Twilio products, features, and concepts while rewarding you with experience points and loot." 👾
Another way to get depth is to showcase a variety of technologies working together, which was Stream's approach when they created a React & Redux tutorial called Cabin. More than a simple lesson, Cabin is a platform for learning 6 different APIs. Each API gets its own unique tutorial and adds useful functionality to the end product: a full-fledged image sharing app that developers build as they progress through the lessons.
Community projects commonly have their own branding, logo, and colors, often tied to the company's brand but separate enough to making the experience feel too commercial and raising skepticism. A community-friendly identity will also make the project feel more inviting to participants and contributors.
One great example of project branding is MJML from Mailjet, which is an open source project that makes it easy to create responsive email designs. MJML stands for "Mailjet Markup Language," but on the landing page the company reference is subtle, and the project has its own unique and attractive visual identity. In fact, the parent brand is mentioned only in the footer of the landing page. This approach leaves the impression that, with MJML, Mailjet cares more about providing a useful tool to developers than about promoting its brand or pushing signups.
But packaging goes beyond branding and design alone. Developer-focused analyst firm Redmonk describes the concept of packaging in software as it relates to ease of setup and use, quality of documentation and how well its story is told and understood.
Good community projects excel at packaging and delivering a great overall developer experience by having:
- Clear, up-to-date documentation including a README
- A getting started guide with tutorials for common use cases
- Clear contribution guides and a code of conduct
- A known path to report bugs or get help, e.g. issues and PRs
- A way to get project updates, e.g. through twitter, chat or email
One well-packaged community project is Probot by Brandon Keepers of GitHub. The custom logo, docs, and gallery of community-built apps all inspire confidence and make it seem fun and easy to dive right in.
When companies build community projects, developers come away with new tools and knowledge, but they're not the only ones who stand to gain. A company's successful community project will benefit every one of its teams. It gives the marketing and sales teams something interesting to talk about on the blog, at conferences and on sales calls. For every team, it builds morale as something to be proud of, and increases everyone's understanding of how the developer-customer thinks.
Let's look at each of the following benefits in more detail:
- User acquisition, activation, and retention
- Reaching developers years ahead of time
- Inspiring content, product, and culture
- Building the community reputation
- Helping recruit top engineers
When developers find a cool project, they naturally become curious about who's behind it. That curiosity often leads them to click through and check out the company who made it.
"JWT.IO is right now one of the top referrers for traffic and signups to Auth0. It's also visited by millions of developers every month." — Martin Gontovnikas, on his blog at gon.to
Another serious traffic driver is StaticGen from Netlify, which tracks the popularity of static site generators. The leaderboard changes frequently but Netlify's scripts keep the site up-to-date, incentivizing developers to come back and check often. A few years old now and a topical authority, StaticGen is an example of a community project with tremendous SEO value.
Cristiano Betta, in his article Understanding Developers, considers a developer's relationship with a new tool or technology in light of their levels of motivation and persistence.
The groups he dubs hackers and explorers are the most likely to try out new tools for the sake of learning or curiousity, and not because they have an exact problem to solve. By far, they represent the largest groups of potential new users.
Community projects help companies connect with these two groups, widening the marketing funnel and creating an opportunity to put a tool in a developer's hand months or years before it might have otherwise. When the developer eventually finds themself in a position to recommend or buy the company's product, the work the company did to connect with that developer early and stay top of mind will pay off.
Community projects tend to be long-lived and evergreen, making them a recurring opportunity for dev-friendly content that can be repurposed across blogs, social media, podcasts, newsletters, and even in sales situations as a value-offering conversation opener.
Just look at how MailJet extends the impact of MJML across all its channels. They’ve written around 20 articles that incorporate MJML, from basic project updates to comprehensive tutorials covering subjects like “How To Code An Abandoned Cart Email With MJML.”
Sometimes, community projects are so successful they lead to product spin-offs, which is exactly what MailJet did when they released their MJML desktop app.
Last but not least, community projects influence internal culture. They're something new that everybody in the company can get excited about, benefit from, and usually contribute to. This increases developer empathy across the board, improving the effectiveness of both engineers and folks in customer facing-roles.
"Open source projects have really had an impact on Algolia as a whole, they changed the the way we develop and really inspired the community." — Vincent Voyer, Lead developer support engineer, Algolia
Valuable contributions build trust that a company is a positive actor in the developer community. Coming to every conference just to sponsor or pitch their product does not.
An active community track record makes everything easier down the road, like securing high-profile sponsorships, keynote speaking slots, getting introductions to influencers, and being offered opportunities to partner with companies further upfield.
Algolia was able to build relationships with hundreds of open source maintainers by freely giving away DocSearch amongst other initiatives including the Yarn package search and a commitment to financially back open source projects.
Software engineers want to work for a company that values community participation and offers learning and contribution opportunities for their employees. In fact, according to the 2018 StackOverflow Developer Survey, 56% of professional developers contributed to open source.
Although Stripe's open source page is certainly appealing to potential users of Stripe, its most influenced audience might be engineers who are considering where to work next. As the presence of the "By Stripes" category implies, public participation in open source projects backed by well-respected companies is a sought-after resume and career builder.
But Stripe's not alone. Even though AirBnb's customers aren't developers, they have a super impressive page to show off their community contributions that undoubtedly helps them attract top talent, claiming that "Open source is at the heart of what we do at Airbnb."
Community projects combine a valuable resource, a good user and developer experience, and a unique identity to make something useful for developers, raising awareness naturally for the project's creator in the process. It's a win-win situation.
Are you interested in launching your own now? 🛠️ 😄 Have a favorite community project that wasn't mentioned but devs should know about? Leave a comment and let's discuss 🤓