Why do developers need to build a community?

Lately, I am more and more convinced that, if you are a developer and you want to make your project awesome, you can’t live without a community around it.

I believe developers should learn how to manage a welcoming and supporting community, or at least how to deal with it.

Why?

Building a developers and users community around a project has become essential these days. In a world where code is not enough and the human factor makes the difference, a community is your front facing image to the outside world. If people, that use your product, are really involved in the project, they will provide feedback, use cases, write documentation, catch bugs, compare with other products, suggest features and contribute to the development. All this generates innovations, attracts contributors and expands the user base.

Furthermore, a thriving community fosters loyalty because it’s much harder to leave a group of people you’re connected with than a faceless project.

But it’s more than attracting users.
Actually, a community is for you.

From the Outside

Communities enable developers to look at the project from the outside, letting them catch strength and weaknesses and mostly realize who’s your project’s audience.

Sometimes someone can help to look at yourself from the outside

Let me show an example, when we chose a catchy phrase for the NethServer project we were all convinced that the following sentence was perfect:

NethServer is an operating system for Linux enthusiasts, designed for small offices and medium enterprises

Two years have passed since then, we learned that it was an epic fail. We failed to realize which our audience was. Now we know that:

  • NethServer is not just for Linux enthusiasts, actually Windows users are the majority
  • It’s not just for small offices and medium enterprises, actually several home users install NethServer for personal uses.

Community helps you to fully understand your project and look at it from your users’ eyes.

Build an ideas factory

You may know that the best way to have a good idea is to have a lot of ideas. Having a different point of views on your project becomes essential in order to drive innovation. You can pick up a set of inspirations from a variety of people, with different genders, backgrounds, skills, and ethnicities. You can’t expect to have the right idea alone.

“No matter who you are, most of the smartest people work for someone else” (Joy’s Law)

Community is the idea factory where innovation comes from.

Avoid the Ivory Tower Development

As @codinhorror stated, creating an environment where developers have no idea who the users are, it’s dangerous. Isolated developers, who worked for years in their high towers, have bad results because they don’t have any clue about how their software is used by users. Developing in an Ivory tower keeps you away from your users and can only lead to bad decisions.

The ivory Tower

As we all know, devs are more attracted by innovations, smart coding, technical software wizardry and less interested in the “boring” users needs. Dealing with users on a daily basis could make you realize that a smart or optimized code sometimes is much less important than a well-placed button on the a interface. More often than expected, developers assume everyone else is a developer, with the same mindset and needs as they should bear in mind that users have different knowledge, skills and context. Users don’t think like developers do.

A community brings developers back to the reality and helps to stay grounded.

Dogfooding involves not just using your product but even keeping in touch with the people who are actually using your product, being aware of the whole impact of your code.

Which in the end, it means being responsible for your users.

Thanks Mauro for reviewing this article, Carrie for advice and the NethServer Community for inspiring it