The Importance of Building an Internal Developer Community
If you ask developers what some of their top challenges are, you’re likely to hear about poor collaboration practices and tools. During a recent talk at DeveloperWeek NYC about developers deserving better communication tools, Peter Pezaris of CodeStream went so far as to say that “the number one issue slowing down development teams and causing technical debt is poor communication.”
Take a deeper dive into the word “communication” and Peter’s observation is that one thing preventing developers from shipping faster is that they’re not discussing their code often enough with their colleagues. In the times that they do, that knowledge is not easily discovered, lost in Slack channels, and ultimately not preserved for others to use or learn from. When you think about how valuable your codebase is, development teams simply cannot lose this institutional knowledge.
So collaboration between development teams is certainly rare, but why? Here are a few reasons.
Developers are forced to use the wrong tools.
Unfortunately, a lot of companies still don’t take developers’ advice about which tools they want to work with. When you consider the fact that software developers are the heartbeat of innovation with your company and ultimately the ones that’ll be executing on those transformative strategies put in place by CIOs and CTOs, empowering them with the tools that they want to use is critical. Expecting developers to communicate on important pieces of code or be able to crowdsource an answer from a colleague halfway across the globe through chat tools or email isn’t going to cut it. Go ask your developers what sites or platforms they like to use in the real world and take their advice to heart when considering implementing them internally.
Too. Many. Tools.
One common theme that we hear when talking to large enterprises is the idea of ‘tool sprawl’,‘tool proliferation’ or, in layman’s terms, ‘too many tools!’. The most forward thinking enterprises are giving their employees access to Slack, Github, Confluence, Sharepoint, Wikis, Workplace by Facebook, email threads, internal documentation, Yammer, MS Teams, Jive, Jira, the list goes on. Instead, consolidate those tools into the most impactful ones that your developers will be eager to work with. Ask them the questions, “if you need an answer to a question that only a peer can answer, what’s your first move?” or “how long does it take you to find an answer to a critical question that you have?”. Their reaction can help you understand that having too many tools is killing their productivity. Instead, consolidate that internal knowledge into one centralized repository that will become your developers’ go-to resource.
Developer culture can sometimes get in the way.
Fortunately, we’re seeing less developer job titles with words like “rockstar” and “ninja”, but we agree with Peter that, unfortunately, developers still have a know-it-all mindset. They have a fear of looking stupid and, as a result, lots of developers think of themselves as competing with their peers. The end result is that less than 20% of professional developers learn through internal documentation provided by their employer. There’s gotta be a better way!
How can this be fixed?
There isn’t a one-size-fits-all approach to improving communication & collaboration between developer teams, but understanding what your organization and company culture is like will help to set your strategy. Consider what unique cultural challenges that you might encounter when evaluating new tools, what current problems you’re trying to solve, and ultimately what are the specific, measurable goals you hope to achieve.
We’ve been building online communities for 10 years now and have two products that aim at improving developer collaboration internally (Stack Overflow for Teams and, for large enterprises, Stack Overflow for Enterprise), so feel free to get in touch.