In this article, I’m going to review some of the ways I’ve seen successful developer communities engage with their audience and build a solid, sustainable brand. I’m going to illustrate key points with some high-level examples that I recommend you check out further. I want to point out in advance that I’m not affiliated with any of the communities that I describe below (although I did once work for GRAKN.AI) and I don’t stand to benefit financially from them.
I have had some experience in the field of developer marketing, having worked with a number of communities over the years, including Forum Nokia, N-Gage Developer Zone, Symbian Developer Network, Symbian Foundation. I am a technical writer who has been a developer, so I have an informed opinion of how to present information and build a developer community around a product or platform.
Who Is Your Audience?
It would be clumsy to suggest that all developers are equal. For this very reason, engaging with the audience will never be an exact science since each member will have a unique personality and set of priorities. Your audience may be highly diverse: it could include hobbyists, students, engineers (in either startups or larger organizations), product managers, project managers or designers. The broader groups themselves break into finer-grained units.
When you target software engineers, are you trying to appeal to web developers, data scientists, DevOps or mobile developers, for example? Take a look at the 2017 Stack Overflow Developer Survey results, or Slash Data’s State of the Developer Nation reports to get further insight and figure out how your audience breaks down. Part of your early strategy must be to work out the key audience segments you want to engage since this will inform your later decisions.
Why are you trying to build brand engagement with developers? I’m assuming that you are primarily trying to reach out to encourage the use of a platform, product or service, either because you are a commercial organization and want to make money, or because you are another kind of entity (such as a free software foundation) and you want to increase awareness and uptake.
Let’s take it that the problem you want to solve is to get more awareness, uptake, and stickiness for your brand. Now, what is the problem that your audience is trying to solve? This is crucial. Even if you do it only implicitly, you need to be able to answer their question, “why you and not competitor X?” and to do that, you must be able to understand and address the problems your community is trying to solve.
What a Community Needs
So, you have worked out your audience segments and know what they are trying to solve. You want to build a community and need to know where to concentrate your resources and how to attract attention. Here are some things to consider…
A Developer Portal
You will need some level of online portal where developers can review documentation and example code, get support and otherwise find what they need to work with your product (such as API keys, SDK and tools downloads or a sandbox server to test upon).
At a bare minimum, your portal needs to show developers how to get up and running fast. You should provide quick links to get from nothing to Hello World as quickly as possible, and offer rapid support for when it fails. Even if you’re a small organization, you can provide responsive support if you choose the right platform for your team to use, such as Slack, a forum, a monitored email address or even a phone number.
While “getting started” documentation and a way to get support are essential to a portal, you don’t need to provide every other kind of tool on the portal since it’s possible to deliver much of what you need via other channels such as Stack Overflow, reddit, and GitHub, as long as you clearly signpost on your portal where to find you and promote them regularly, to your audience and to your staff. The team *must* buy into the importance of engagement (on the portal and beyond) otherwise it doesn’t really matter what you provide.
Document your product where it needs it, at a minimum, and build a community around your content, making it easy to extend, update and fix the documentation. Provide tutorials and how-to guides, code examples, and reference documentation, and encourage others to contribute by providing easy to fill templates, lists of where you need help, and a simple documentation platform or wiki. The Mozilla Developer Network is a fantastic example of making it easy to find and contribute documentation.
If you’re unsure of where to get started, and on a budget, GitHub pages are worth investigating as a way to build a basic site and provide documentation using Jekyll. The use of Markdown on Github makes it easy for your development team to get into documentation without having to step outside their comfort zone, and having the content in a simple format means you can re-purpose it later if you choose to. For these reasons, I’d recommend opting for a simple markdown solution to start with, rather than signing up with a proprietary portal for a basic community site or using a wiki that locks you into a particular text format.
As you write documentation, make sure you can version it as the product matures, and organize it well so as it grows it is easy to find what is needed. Aim to make it easy to translate for a global audience, if that is where you’re reaching, and always keep it simple, jargon-free and meaningful to the technical audience. This is not the place for marketing.
Is your community likely to be geographically disparate or are they focused in a particular region? If it’s the latter, you may well find a receptive audience turn up to real-life events such as meetups, hackathons and small workshops, which you can set up. Take along your team to meet the developer user-base and give them exposure to where the real issues arise. It’s worth filming presentations and providing downloads of the slide decks after the events.
If you ask attendees to provide email addresses, you can follow up to find out how to improve the event and give further support and information. You may be able to turn some of the attendees into your best advocates if you spend sufficient time listening, and you will almost certainly learn more about how to improve and extend your product.
For a remote audience, regular webinars can work well. It’s never going to be as engaging, and you can’t woo the audience with artisan sourdough pizza and beer, but you can still generate some useful feedback at a low cost.
When you’ve reached a critical mass, outreach is best encouraged by growing local community user groups. A good example of this is the global network that is the Unity Community of game developers.
Community user groups are just one example of how a community can benefit from early adopters who evangelize your product to others and help them get started by contributing support on forums, writing and sharing example code or by authoring articles to illustrate what they are building. There is huge benefit in gaining a set of developer advocates to help you capture the hearts and minds of others. Be sure to recognize and reward their contribution however you can, for example, by offering them early-access to SDKs, sending developer swag or perhaps offering them a free ticket at a conference that you’ll be attending, so you can meet and exchange ideas in person.
Not everyone likes these, particularly if they are trying too hard to sell something. You need to know your audience and have something relevant to communicate to be effective rather than mere noise in someone’s inbox. The SitePoint team have a good approach – they offer informative weekly newsletters (segmented for different aspects of web development), and a daily newsletter with curated links from around the web. Make it easy to track the data for your newsletter, because if you aren’t getting much interest in it, and you’re spending a chunk of time writing it, you should set it aside until you can streamline the production. You can always reach out to your audience through blogging and social media instead…
Blogging and Social Media
Content marketing through technical blogging is a good way to raise your visibility and provides the opportunity to share opinion and know-how. Some ideas of the type of blog posts you may write include technical white papers and case studies of successful developers in the community, tutorials and deep dives in areas where you don’t (yet) have documentation. A great example of this is the GRAKN.AI blog, where a developer had a small side project to create a Haskell library to interface with the Grakn knowledge graph, which is usually accessed through a Java API. It illustrates the overall power of the product but in an interesting way for those that may not already be aware of it or be using it. There was no other documentation available for the Haskell hooks, and this was a good way to raise awareness.
You want to build up confidence and understanding, encourage sharing and cross promotion. Don’t be clumsy and overdo the hype though. Nobody wants to read post after post of marketing dressed up as “thought leadership”. If you use your blog as a technical resource focused on what your audience wants to read you will generate return visits and shares, to boost your visibility.
A blog can also share news around a particular area – your subject of interest. I find a curated set of links to stories in the field are a good way to build trust that you aren’t just selling your product with every post. If you summarise other people’s (relevant) content on your blog, link to it, and let them know, you generate goodwill and often some interesting discussions and coalition with them.
You can do this with Twitter too, and speaking of which, make sure your social media presence is well tended. Twitter, LinkedIn, Facebook and YouTube are all good channels to target, but track what kind of content works well for each channel, and don’t hit them all with the same material. While YouTube is a great place to put how-to videos and recordings of webinars, you may not find your audience on Facebook to be that interested, while they may find your shares of content to build knowledge around the subject area to be more useful. Be prepared to drop any channel that doesn’t give you a good return on your time. Nothing looks worse than an unloved social media account though, so if you decide you don’t want to continue using a platform, close your account and delete it.
When it comes to blogging and social media, you can sink a chunk of time into it for limited returns. Before you start, work out what you want to focus on, and then work out how to measure your success, and find a (preferably automated) way to do it regularly. Are you trying to do something that isn’t measurable? Are you sure it is worth doing?
I’ve just scraped the surface with a few observations on what I’ve seen work well in developer community building. Developers: what are your favorite channels to find information and support? Who does it particularly well?