The following show the slides and abstract for a keynote presented at MSR 2012 in Zurich, Switzerland on June 3rd, 2012. Also available are an audio and slide capture on https://vimeo.com/43620623 and an unedited audio track))
Social media has revolutionized how humans create and curate knowledge artifacts. It has increased individual engagement, broadened community participation and led to the formation of new social networks. This paradigm shift is particularly evident in software engineering in three distinct ways: firstly, in how software stakeholders co-develop and form communities of practice; secondly, in the complex and distributed software ecosystems that are enabled through insourcing, outsourcing, open sourcing and crowdsourcing of components and related artifacts; and thirdly, by the emergence of socially-enabled software repositories and collaborative development environments.
In this talk, I will discuss how software engineers are becoming more “social” and altruistic, defying the old-fashioned stereotype of the solitary and selfish programmer. I conjecture that media literacy and networking skills will become just as important as technical skills for creating, curating and managing today’s complex software ecosystems and software knowledge. I will also discuss the influence of social media and social networks on software development environments and repositories. I propose that social media is responsible for the shift from a software repository as a “space” that stores software artifacts, to a “place” where developers learn, reuse, share and network.
The convergence of software tools with social media naturally influences the information that can be mined from software repositories, challenging not only the questions that motivate these mining activities, but also the very definitions of what comprises a software repository or even a software programmer. Finally, I will suggest that it is imperative to consider both the positive and negative consequences of how programming in a socially-networked world might impact software quality and software engineering practices. As Marshall McLuhan eloquently said in 1974, “If we understand the revolutionary transformations caused by new media, we can anticipate and control them; but if we continue in our self-induced subliminal trance, we will be their slaves.”