The Importance of Developer Communities

Isolation can do strange things to one’s mind. Just ask Chuck Noland, a super-efficient and high energy FedEx employee who survives a terrifying plane crash over the Pacific, only to spend his days alone on a deserted island talking to a volleyball.

Image for post
Image for post
Don’t underestimate my conversational skills…

Of course this is a fictionalized account, but psychologists have observed evidence of the effects of isolation. From Biosphere residents to arctic explorers to astronauts, all have felt the powerful effects of isolation and loneliness in altering behavior and mental ability.

Humanity is an innately social creature. It was our ability to communicate, cooperate, and collaborate that allowed our species to survive and thrive (and despite our self-destructive tendencies). Even the most introverted person desires the presence of others.

We also recognize that going it alone rarely works. In my work advising startups, I often had to coach founders on the need to delegate and trust others to take on the workload. It is one of the key reasons startups have advisory boards, because they can leverage the knowledge, experience, and added brainpower in solving tough problems.

Which makes the common perception of developers as loners somewhat baffling. Sure, there are some that prefer the company of computer screens to people. But I have met many others that enjoy socializing. The bigger problem though with the loner perception is the common belief that coders only work in isolation, cutoff from the outside world.

Developer flow involves three states. One is creation mode. This is when code is being written and tested and deployed, which is mostly done in isolation. The second is ideation mode. This is the creative aspect of coding when ideas and concepts get morphed into logic and structure. The third state is problem solving mode, when a developer is blocked because of errors or uncertainty. Both ideation and problem solving are collaborative.

The Internet has in many ways helped tackle that third state of flow in helping developers solve problems faster. Sites like GitHub, Stack Overflow, Dev.to, and multitudes of niche sites work as communities at Internet scale to help developers get unstuck when they run into issues.

So community is nothing new to developers. Of any profession, developers are easily the most collaborative. Just look at the open source movement, the number of public repos, the conferences & meetups, and the growth of online communities. Developers know the best solutions come from collaboration.

So why is community so difficult to establish inside companies? It would seem like a natural opportunity given the collective nature and shared vision of being part of an organization. Yet when I visit most enterprises, community & collaboration are sorely lacking, and sometimes even actively discouraged.

This is why I was so intrigued to hear a talk by Anthony Rees at DevOpsDays Singapore. The trend over the past two decades in companies has been to foster collaboration through Centers of Excellence. Instead of collaboration though, what emerged were more silos and entitlement, as if you could only be “excellent” if you were in one of these centers.

Image for post
Image for post

The way you foster genuine community is to bring people together with shared purpose and providing opportunities to help each other. This is the “trust layer” and the foundation of developing culture. People become invested in the greater good of the organization.

How do you develop this trust layer? It requires encouraging the free flow of information and incentives for positive contributions towards collaboration.

This is where a community platform can help. Such a platform fosters a trust layer around the sharing of knowledge and connecting experts to people and teams that need help. The platform is more than just a knowledge base, it’s a way of connecting people for giving and getting value.

Getting value is the gateway for building organizational trust. If I trust the information someone shares, then I trust that individual, I trust the platform to provide future value, and I trust the organization that is investing in ways to improve my work experience and enable me to do my best work.

There are many other means of fostering community and not any one method will bring about a change in culture. It is about choosing initiatives that have the most immediate impact. It could mean launching internal developer conferences & hackathons or offering paid leave for attending events. It might be hosting regular town halls with executives. Perhaps implementing a communications strategy to highlight outstanding team accomplishments can move the needle on culture. Some or all of these ideas are worthwhile elements of a comprehensive community building strategy.

But you also need a place for people to get and give value so they understand and internalize the benefits of collaboration. When you have that “trust layer” build on a trusted community platform, the other initiatives support the broader strategy of creating communities of practice.

How are you fostering collaboration today among developers? Are you truly empowering them with the information they need to do their best work?

Image for post
Image for post

What is Chirped Pulse Amplification, and why is it important enough to warrant a Nobel Prize?

Mind blown, some superb answers to something I knew nothing about …

We help IT leaders in enterprises solve the cultural challenges involved in digital transformation and move towards a community based culture that delivers innovation and customer value faster. Learn more about our work here.

Written by

Thoughts on developers, digital transformation, enterprise agility, community building & software engineering culture. Author 👉 https://twitter.com/marksbirch

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store