Decades ago, Vannevar Bush was encouraging scientists to focus on inventions that extend man’s mind power rather than only man’s physical powers [1]. In a sense, his call has come true in software development.
Digital communication and collaboration lie at the heart of modern software development. Programming is no longer a solo activity; it relies on many tools to augment the programmer’s ability to deliver code. But who is the new programmer? What communication tools does this programmer use? What are the major issues and how can communication digitization improve the software industry? Storey et al. discuss the relationship between programmers and communication tools that support knowledge activities within software development to shed some light on these questions.
The authors survey software developers from GitHub, a major version control repository and Internet hosting service for software projects, to understand what media channels are important to them and what problems they face. First, exploring the data collected, they unveil demographic information. Unfortunately, only 3.9 percent are female, and also less likely to have professional experience.
Then, the authors examine the communication tools used to support programming activities. On average, 11 tools were named. Notably, code hosting sites, Q&A sites, private chats, and blogs were among the important ones. However, face-to-face interactions featured as the second most important channel. Quoting one of the respondents: “Nothing beats being able to sit one-on-one.”
Finally, developers’ everyday routine issues using such channels are reported. The authors specify seven categories of issues. No surprise, distractions and interruptions are raised as main concerns related to programmer productivity. In line with the body of research on Q&A sites, information quality on such sources is hard to evaluate. Hence, programmers are compelled to spend more time searching and filtering information.
This paper opens several avenues for future work. It presents findings on how communications tools are being used by programmers, based on a survey. Perhaps an infield observation might suggest different results compared with a programmer’s perceptions. Also, are there major differences with programmers who do not use GitHub? The realization that complex software can be accomplished by a collaboration of workers has spurred firms to find the best communication methods among programmers. Knowing how to navigate the available communication channels becomes crucial.