A summary of how to build a software developer community according to Neo Technology
Some days ago (25 Feb 2016) I attended a meet-up presented by Neo Technology´s Michael Hunger at SUP46 (an incubator in Stockholm). I went there in order to gain an initial understanding of what steps are required to kick start a living community of software developers in the same way as Neo Technology did. The company grew from a small Swedish startup into a global provider of graph databases with a headquarters in Silicon Valley in just a few years.
An important part of the success has been Neo Technology’s large and rapidly growing community of devoted users and ambassadors where Michael Hunger has been one of the driving forces behind the development of the global community for Neo Technology’s graph database Neo4j.
Given that Michael spoke from a software perspective, this is what I learned:
The Golden Rules
- It is always about the people – Building a community requires a huge time investment as well as investing parts of yourself into the community! You need to be there for the interested people and you need to take time to answer their questions and, in the beginning, taking time to meet them in person.
- Communication is God – Misunderstandings can happen very easily, especially when you are not meeting everyone in person so be very clear and transparent in terms of communication.
- Stay true to your values – Have clear values and hire people who sympathize with your values. You risk losing your way when your community grows if the core values are not in place.
- The right people – Find the right people in the beginning who believe in what you believe in and who can be ambassadors for your cause. The right people want to solve the same problems as you want to.
- Critical mass – At some point you will reach a critical mass of people where your community members stop relying on you for help and instead offer to help each other. Once that critical mass is achieved, growing the community requires less effort since the community then grows by itself.
- Be open! – Make the source code available to the community, be open in terms of sharing knowledge and having meet-ups etc.
- Choose the right channels – Use communication channels which your community members prefer. Transparency and clear communication creates trust. Trust is vital for a lively community.
- Make it easy – Provide tools and frameworks for your community which makes documentation, usage, installation etc. easy.
- Listen and act – Be open to feedback and act on it. Make sure that you understand the feedback and why you are receiving it.
- Be aware of individuals who poison the community with negativity – As your community is exposed to everybody it can become a home for poisoning people who spread negative energy within the community communication channels. According to Michael there are different ways of handling such persons. Inviting them for a personal meeting, reminding them of their negative behavior, including them deeper into the development process of product/company or excluding them from the community are some tools that can be used depending on what the motives of the negative persons are.
- Show appreciation and don’t be stingy with saying “thank you” – It is easy to forget that a small “thank you” can make a big difference for someone. In open source communities members often invest their free time which is taken from hanging out with friends or working or being with their family or sleeping. Thus, showing appreciation to people that work for free at something that you benefit from is a cornerstone of building a sustainable community. Showing appreciation can be done in many forms, i.e.: through small merchandise gifts, organizing meet-up, inviting key people to beer hangout, invitations to open lunches at your office etc.
- Sharing is caring – Foster a culture of sharing and contribution, it helps to grow your community in numbers and also increases the probability of breakthrough innovations. Sharing content and encouraging people to share content in terms of code and documentation makes the community interesting for more people. Helping people to write and document their work within the community also works as “marketing material” for the community.
- Employment – If you are an IT-company, having a software development community working with your products or applications to your product or even features for your products also creates potential employees who already know the products. Such individuals can get integrated into your regular development teams really fast and do not need a long “onboarding” since they already know the products.
- Put extra focus on key contributors – Michael testifies that he has almost daily conversations with the most vital contributors of the community. Empower and encourage them while simultaneously looking out for new key contributors who help revitalize the community.