5 steps for building a thriving developer community

Every API or platform that has been successful long term owes a large part of their success to a thriving developer community — including Slack. As the lead of our Developer Relations team and a senior marketing manager, we oversee the Slack Platform Community. The community has grown quickly, so we’re both often asked how to successfully build a similar group.

At Slack, our app ecosystem has expanded alongside the product. The Slack App Directory contains 2,200 apps and over 600,000 custom apps (apps people build just for their teams) are used every week. No technology company creates its ecosystem alone. The growth in ours is part of a wider trend, as the total number of APIs has increased by 30% over the last few years. We’re also currently experiencing a surge in app submissions as more workforces operate entirely at home, and companies need tools to support remote operations. In early April, we saw a 100% increase in app submissions week-over-week.

As more developers try a platform, community support is critical to everyone — the platform company, new developers and those who have been developing for years. If your platform doesn’t have a developer community yet, creating one takes a few purposeful steps. Here are some of the best practices we’ve learned over nearly three decades’ worth of combined work in developer communities.

Start (and continue) listening

You can’t build a community without participating in one first. If you already have people developing on your platform, and they’re open to receiving contact from you, reach out! Get to know the people behind the integrations you’re seeing built.

If you’re trying to find your first developers, join existing communities with aligned interests, and get involved. You might look for groups on related platforms, like an Android meetup group if you’re building mobile tooling, or general interests, like a group focused on agile methods if your platform provides project management tools.

Elizabeth often sees companies talk about themselves too early when building relationships with their developer communities. Instead, step back; let the community members guide you on what they want and need. Listen to what they say, understand their challenges and learn what drives them. Then, you’ll discover how their ideas can be incorporated into your roadmap.

Listening should also be a consistent action even after your community is established. We spend time every day hearing from developers in a variety of ways — from interacting in channels and on GitHub to Slack webinars and meetups (when in-person events were taking place).

Provide a welcoming, authentic place to gather

Once you have the right amount of momentum — that is, you see developers consistently interested in chatting about your platform specifically — break off into a dedicated community for your platform, API or open-source project. Making a space welcoming means investing in a great joining experience. Ideally, you’ll provide friendly, easy-to-navigate spaces that enable people to learn from one another and work together.

Our community meets, of course, in a Slack workspace that uses apps like GreetBot and Slack-native workflows to orient people when they first arrive. When someone joins, they’re connected with other members and organizers right away. This workspace has different channels for local meetup chapters (for when in-person events resume), sharing designs for new apps and asking questions when Slack leaders join in for community AMAs. With so much happening, an informative, kind greeting goes a long way.

A community should be for novices and pros alike. Make it clear that your group is open to all people with all levels of experience and familiarity with your platform. Setting up explicit channels for newer folks can also help; asking your first question in a new community can be intimidating. A space with clear norms and a spirit that encourages asking questions helps ease that path. It’s also a great place for people with less experience to help others for the first time.

That’s welcoming. What about authenticity? It comes back to step one — listening and participating in your own community. Developers want a place to organically exchange ideas and get help with problems. If you only show up to promote new features, a feeling of real community can quickly veer into feeling transactional and unfulfilling.

Create structure with documented guidelines

Communities need structure to thrive, so document processes, procedures and who’s who. Detail how your company will serve the community as well. Set expectations about what materials and resources you’ll provide and include information about who to contact.

Create clear rules, and then give members leeway to create. Their vision will shape the way the community grows.

The guidelines could be incorporated into a simple Google doc open to all members. In our case, we have a chapter leader guidebook — mostly everything someone needs to know to manage a chapter. It runs the gamut, from creating an event and how to communicate to marketing, recruiting and reimbursement. We pin this document to the community Slack channel for easy access.

Spend extra time with the people who spend extra time with your platform

You can easily spot the influential developers in any community. They regularly submit their views about product features, actively comment on other people’s feedback and step up as chapter leaders. We see a great sense of urgency and responsibility in our community influencers. They’re helping not just us, but also other members.

It’s important to recognize those contributions — swag is nice, so are shoutouts, but nothing beats having the ear of the product team and having a voice in how the platform develops in the future. Try to be on a first-name basis with the people who build open-source tools on your platform, or who answer tons of questions on Stack Overflow.

It won’t always be possible to know everyone as your community grows, but keep an eye out for new leaders. People’s participation will ebb and flow as they change jobs or go through life changes, and that’s OK. Today’s leaders may want to step back tomorrow, and today’s newcomers may be tomorrow’s leaders.

Actively solicit participation

Any community needs tending and active care. Even once your community has grown to a size and gathered momentum so that it seems self-sustaining, you should still play an active role in getting people excited and interested in participating. Formalize ways for members to share feedback, so they know their voices are heard. We have formal feedback channels in our Slack workspace and an advisory board of influential developers that meets roughly quarterly and acts much like a focus group. We also run an annual survey to get a pulse on how we’re doing from a broader base.

We use an AMA channel in the Slack Platform Community workspace to encourage community members to ask questions. We schedule live sessions with community leaders as well as product, marketing and engineering reps. Our first AMA was with our director of Platform Product, Ellie Powers — anyone who joined had her ear for the hour.

We also like to find ways that community members can work together. In March, we ran our first remote hackathon and helped people find teammates within the workspace. Twenty-four teams, with an average of three to four people per team, worked on their entries over a week with help from us in a public Slack channel. We gave prizes for improvements to existing projects as well as net-new ones, which helped people work together on something real that could have a life beyond the hackathon.

Overall, when building your developer community stay engaged and stay humble. Learning from your developers and helping them learn from you sets your work and theirs up for success for years to come.