University of Victoria
Margaret-Anne Storey is a Professor of Computer Science at the University of Victoria and a Canada Research Chair in Human Computer Interaction for Software Engineering. Her research goal is to understand how technology can help people explore, understand and share complex information and knowledge. She conducts research on collaborative software development, program comprehension, biomedical ontology development, and learning in web-based environments.
The Evolution of the Social Programmer
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.