<<

The (R)Evolution of in

Margaret-Anne Storey Leif Singer Brendan Cleary University of Victoria University of Victoria University of Victoria Victoria, BC, Canada Victoria, BC, Canada Victoria, BC, Canada [email protected] [email protected] [email protected] Fernando Figueira Filho Alexey Zagalsky Universidade Federal do Rio University of Victoria Grande do Norte, Natal, Brazil Victoria, BC, Canada [email protected] [email protected]

ABSTRACT 1. INTRODUCTION Software developers rely on media to communicate, learn, A few years after the term “software engineering” was collaborate, and coordinate with others. Recently, social coined at a 1968 NATO conference [49], Weinberg media has dramatically changed the landscape of software published his acclaimed book on the “Psychology of engineering, challenging some old assumptions about how Computer Programming.” [78] Weinberg emphasizes that developers learn and work with one another. We see the although programming is an activity that can be rise of the social programmer who actively participates in performed alone, it relies on extensive social activities as online and openly contributes to the creation developers will often have to ask others for help. of a large body of crowdsourced socio-technical content. The need to collaborate and interact with others has In this paper, we examine the past, present, and future only increased over time. Even solitary developers need to roles of social media in software engineering. We provide a interact directly or indirectly with others to learn, to review of research that examines the use of different media understand requirements and to seek feedback on their channels in software engineering from 1968 to the present creations. In addition to face-to-face communication, day. We also provide preliminary results from a large developers use many channels to interact. Communication survey with developers that actively use social media to media, such as the telephone, , chat, bug tracking understand how they communicate and collaborate, and to tools, and code hosting sites, play a pivotal role in gain insights into the challenges they face. We find that engineering activities, thus helping while this particular population values social media, to shape and form co-located and distributed online traditional channels, such as face-to-face communication, communities. However, media channels have different are still considered crucial. We synthesize findings from affordances for communication, coordination, collaboration our historical review and survey to propose a roadmap for and knowledge flow. future research on this topic. Finally, we discuss In just the past decade, the world has seen a massive implications for research methods as we argue that social and widespread adoption of social media—media which media is poised to bring about a paradigm shift in software supports many-to-many communication through social engineering research. networks. The speed and scale of adoption of social media such as and Twitter is unprecedented in the Categories and Subject Descriptors history of technology adoption [12]. These tools alone have had a profound and disruptive impact on many domains, H.5.3 [Group and Organization Interfaces]: Computer- most notably journalism and . Likewise, GitHub1 supported collaborative work (a social coding site) and Stack Overflow2 (a question and answer Website) have become part of the standard toolset General Terms for many software engineers in just the last few years. In this paper, we consider the impacts of social media Human Factors on software engineering activities. We propose that social media in software engineering is contributing to a paradigm Keywords shift in three significant ways: Social Media, Software Engineering, Collaboration. 1. The rise of the social programmer that actively participates in online development communities; Permission to make digital or hard copies of all or part of this work for personal or 2. A rapid increase in the creation and diffusion of classroom use is granted without fee provided that copies are not made or distributed technologies and crowdsourced content; and forPermission profit or commercial to make digital advantage or and hard that copies copies of bear all this or notice part andof this the full work citation for on the first page. Copyrights for components of this work owned by others than ACM 3. The formation of ecosystems around content, mustpersonal be honored. or classroom Abstracting use with is granted credit is withoutpermitted. fee To providedcopy otherwise, that copiesor republish, are tonot post made on servers or distributed or to redistribute for profit to lists,or commercial requires prior advantage specific permission and that and/orcopies a technology, media, and developers. fee.bear Request this notice permissions and the from full [email protected]. citation on the first page. To copy otherwise, to Copyrightrepublish, is to held post by on the servers author/owner(s). or to redistribute Publication to rights lists, licensed requires to prior ACM. specific permission and/or a fee. FOSE’14, May 31 – June 7, 2014, Hyderabad, India 1https://github.com ACMFOSE 978-1-4503-2865-4/14/05’14, May 31 – June 7, 2014, Hyderabad, India 2 http://dx.doi.org/10.1145/2593882.2593887Copyright 2014 ACM 978-1-4503-2865-4/14/05 ...$15.00. http://stackoverflow.com

100 This paper showcases a research roadmap that outlines such as radio, TV, newspapers and websites, support opportunities and challenges arising from the use of social one-to-many spectator style communication, often leading media in software engineering. We include a history of to hierarchical structures in organizations and society. media use in software engineering, from the very first days Postman, who also studied media extensively, refers to a of software engineering in the late 1960s, to the present day media ecology and suggests we undertake “the study of use of social media, preceded by a conceptual background environments: their structure, content and impact on on the role of media in communities. The paper concludes people.” [58] Thus, Postman reminds us that when media is with a discussion on the impact social media is having on studied, it is important to consider the full landscape of software engineering research directions and methods. the channels used, their underlying context and the impacts on all stakeholders. 2. BACKGROUND 2.2 Social Media and Participatory Cultures In this section, we provide background on communities The development of the and cheap of practice and the role media plays in shaping those access to communication (e.g., email and online communities. We then examine how social media has chat) has greatly impacted communities of practice. The contributed to a participatory culture within communities biggest changes have occurred in the past 5 - 10 years with of practice. Finally, we discuss communities of practice in the creation of a different kind of media: social media. software engineering. They support enhanced communications that spread faster 2.1 Role of Media in Communities of Practice and with wider reach. Social media (e.g., Facebook, Twitter) are cheaper and easier to use than traditional According to Wenger [79], communities of practice mass media, with many social media channels supporting a arise when “groups of people who share a concern or a many-to-many distribution mechanism. There are fewer passion for something they do and learn how to do it better barriers to participation, and merely interacting with the as they interact regularly.” media is an implicit form of participation (e.g., clicking on Communities of practice support ongoing learning [37] a link reinforces the value of that link). Social media often for core and peripheral members, and act as a “living result in increased transparency, they are self-reinforcing in curriculum for the apprentice” with long term members in terms of participation and bring with them new forms of the sharing practices, resources and tools with value. Social media are recognized as a disruptive force in each other and with newcomers. People outside the many domains [1] and they have been increasingly adopted community recognize that the community exists and value in corporate settings. the skills and relationships members have. Social scientists Jenkins et al. [30] observed that social media bring about study communities of practice to discern how people learn a participatory culture with the following attributes: from one another and to understand successful relationships and practices. Such insights can be helpful in • Low barriers to artistic expression and engagement building new communities and sharing work practices. • Strong support for creating and sharing one’s creations Media play an essential role in supporting with others communication, collaboration and coordination activities • Informal mentorship—what is known by the within a community of practice. McLuhan proposed that experienced is passed along to novices media shapes society and culture—he defines media as • Members believe their contributions matter “ways of communicating that are extensions of a human • Members feel some degree of social connection and care being’s senses.” [46] He describes a history of media what others think about their creations starting with the tribal era, where speech shared in a group was a unifying act leading to enthusiasm and This new participatory culture calls for a new form of spontaneity. This gave way to the literary era with the literacy—social media literacy skills that are ways of development of writing which could be referred to multiple interacting with a larger community of practice in contrast times and reflected on independently. The literary era was to individual skills used for personal expression through succeeded by the print era, where the Gutenberg printing mass media. press facilitated mass reproductions, allowing people to Although many see the recent widespread adoption of consume the content in isolation. The introduction of social media as a major change in human culture, Tom instant communications brought about by the telegraph, Standage [67] speculates that social media is a retrieval of telephone, radio, TV, information technology and Internet the previous two-way horizontal models of communication led to the electronic era. The constant and immediate that relied on social connections rather than the one-way contact the electronic era afforded across boundaries led to vertical communication that is typical of mass media. what McLuhan coined the global village. Standage provides “social media” examples from ancient As new forms of media emerge, McLuhan suggests we times, such as from the days of the Romans where slaves consider how these new channels enhance pre-existing (inexpensive to their owners) were used for sending, forms of media, how they may make other forms of media copying and replying to letters between friends and family. obsolete, how they may retrieve affordances from older He suggests that the mass media era was a relatively forms of media and what they may reverse (or flip) into if short-lived anomaly in human culture and that social taken to the extreme. Moreover, McLuhan emphasized media is more of the norm. One criterion he gives for that media determine who can participate, the scale of media to be deemed “social” is that they must be relatively information that can be distributed, how fast it is delivered inexpensive and easy to use. and how it will be presented. For example, mass media Standage also reminds us of the “coffee houses” from the channels prevalent in the early days of the electronic era, 17th and 18th centuries where people in the UK gathered

101 to discuss and read letters of news, a precursor to the Nowadays, we see continuing widespread adoption of mass-produced printed news. Coffee house articles were social media and social features in coding tools. composed of other news, similar to today’s news Throughout the emergence of this participatory aggregators or Pinterest. Coffee houses were an “alluring development culture, media has played a pivotal role. environment” where serendipity was commonplace as Next, we review how the use of different media has evolved newsletters contained all sorts of re-posted information. It within software engineering. is interesting to note that the number of copies / reprints / repurposed content indicated the success of a message, just 3. COMMUNICATION MEDIA IN as the number of retweets / reblogs / repins may be measures of value today. SOFTWARE ENGINEERING: A McLuhan also highlighted the participatory nature of RETROSPECTIVE media, but he did not witness the current phenomenon of An important role of media in any socio-technical social media. For the purpose of distinguishing this more endeavor is the transfer of knowledge between stakeholders. recent phenomenon from the preceding electronic era, we This facilitates individual learning and expression, as well refer to this recent time period as the social era. What as coordination and collaboration between members in a sets the social era apart from the electronic era is the community. Wasko et al. [77] distinguish different theories inexpensive and low barrier to publish, as well as the of knowledge: knowledge embedded in people that rapidly spreading peer-to-peer, large-scale communications may be tacit or embodied within people’s heads, with its made possible by social media. exchange typically done one-on-one or in small group interactions; knowledge as object that exists in artifacts 2.3 A Participatory Culture in Software and can be accessed independently from any human being; Engineering and knowledge as public good that is “socially Communities of practice are prevalent in software generated, maintained and exchanged within emergent engineering, and we can see them forming to share ideas communities of practice.” We use these three types of about software architecture, testing, requirements and knowledge to categorize how media support the flow of around specific technologies. They have been the topic of knowledge in software engineering. We also add a fourth much research, particularly in the open source realm which type of knowledge that has recently become relevant in relies on intense communication. With the advancement of software engineering: knowledge about people and remote systems and the wider availability of the Internet in social networks. the early 80s, free and open source software systems were Our discussion of the channels for each of these developed by small groups of developers. However, it perspectives focuses on how the various channels evolved wasn’t until 1993 that Linux broke the mold using what and influenced one another over time (cf. Fig.1). Some Raymond [59] refers to as a “Bazaar” model of channels overlap multiple perspectives. The timeline of programming, an approach which accepted contributions media use in software engineering is further discussed at from anyone and adopted a mantra of “release early, release the end of this section (cf. Section 3.5). often.” Communities of practice naturally formed around free and open source projects, with communication tools 3.1 Communicating Knowledge Embedded in such as email and version control playing an important role People’s Heads in the community formation. The open source movement In the early history of , the main further bears all the hallmarks of a participatory culture, communication channel was face-to-face, as most groups with lower barriers to entry, strong support for co-creation and teams at that time were co-located. Furthermore, of artifacts, mentorship opportunities and appreciation of reliance on other members was not that significant as most social relationships. programs written in the 1960s and early 1970s tended to A participatory culture cannot be found in open source be small [64]. Face-to-face interaction was essential to projects alone. Global software development [27] and support learning and problem solving, to build common collaborative software development [81] have become ground [13] and to support collaborative system design and increasingly popular modes due to relatively inexpensive development. Face-to-face is often espoused to be the best and readily available communication tools, such as email, way to exchange tacit knowledge, i.e., knowledge that chat, bug tracking and version control. Whitehead [80] resides in programmers’ heads. Face-to-face interactions notes that the two threads of appropriation of novel are still a mainstay of communication in software projects communication tools and model-based development (cf. results of our survey, Sec. 4.2)—however, many together distinguish how collaboration in software projects today are developed by engineers that may have engineering results in unique collaboration challenges and never met face-to-face and never will. In some cases, video requirements. Seven years ago, he acknowledged a trend of chat tools such as Skype or Google Hangouts are used Web-based collaboration tools that might support as a substitute. distributed teams better—a scenario that has become very The telephone was also an important medium in real, as attested by the recent interest in remote work supporting the early days of collaboration in software supported by asynchronous communications via Web-based engineering. De Marco and Lister [16] say the following tools (cf. e.g., Fried and Heinemeier Hansson [20]). about the phone in their 1987 book: “The telephone is here However, the increase in interest in remote work and the to stay. You can’t get rid of it, nor would you probably popularity of recommendations on the topic show that want to.” However, they worried about it causing distance still matters [50]. interruptions. De Marco and Lister also discussed the importance of

102 Knowledge embedded in ... Facebook Coderwall social Societies networks

Blogs Twitter

Podcasts LinkedIn community Yammer resources Google Groups Conferences GitHub Stack Overflow Stack Slashdot Books & Documents Hacker News

Usenet IRC Trello Basecamp project Email Lists artifacts SourceForge Jazz/RTC

VisualAge MSDN Project Workbook Visual Studio Campfire NetBeans Eclipse

Email people's ICQ Skype heads Face to Face Telephone 1968 1970s 1980s 1990s 2000s 2010s mostly non-digital digital socially enabled

Figure 1: Media channels over time and how they support the transfer of developer knowledge. Note that some channels overlap multiple types of knowledge communication. email as a communication channel between developers. In his landmark book The Mythical Man Month, When comparing email to the telephone, they remarked: Brooks [8, p. 74] discussed the role of a project “The big difference between a phone call and an electronic workbook as a comprehensive way to externalize critical mail message is that the phone call interrupts and the knowledge about the development of the OS/360 system in e-mail does not. The trick isn’t in the technology; it is in 1965. The project workbook was used to document system the changing of habits.” This tension between synchronous knowledge, track all project activities, including rationale and asynchronous communication channels—and even for design decisions and change information across workflows—is garnering renewed attention now that versions. But Brooks noted that after six months, the remote work and open source development models are workbook was five feet thick and inserting new pages and being experimented with at young software companies (cf. adding margin notes to maintain it was onerous. e.g., Holman [29] about workflows at GitHub). Introducing microfiche helped with the size issue, but is also used by many developers to highlighting and commenting became impossible. support one-on-one discussions and exchange knowledge. The workbook was eventually replaced with more One such tool is ICQ. It was developed in 1996 and is still sophisticated tools, notably IDEs (Integrated in use today with more recent versions of ICQ including Development Environments), online hyperlinked support for video messaging and social networking. Many documentation, project forges, version control developers also make use of text-based group chat systems, bug trackers and project management tools. systems for communicating about development, such as Over time, these different tools incorporated various IRC. Handel et al. studied a customized version of an IRC communication media and social features to support chat tool and found that globally distributed developers collaborative and distributed interactions. predominantly used it for technical discussions [26], but In 1995, Ward Cunningham designed wikis—notably they also found that adoption was inconsistent across the WikiWikiWeb—as a medium for collaboratively editing development teams [28]. Tools that are popular today software documentation [40]. From this technology, include the Web-based archivable Campfire3 or HipChat4. Wikipedia emerged in 2001. Wikis were innovative because they allowed authors to easily link between internal pages 3.2 Communicating Knowledge Embodied in and include text for pages that did not yet exist [40]. Wikis Project Artifacts have been used to support defect tracking, documentation, By project artifacts, we refer to communication that requirements tracking, test case management and for the specifically discusses code, documentation, test cases, creation of project portals [41]. Wikis are also used requirements, designs and tasks. There are numerous tools frequently in global software development [36] and remain used to communicate about these artifacts—we discuss a integrated in collaborative and social coding sites [35]. small sample to demonstrate their breadth and scope. In the free and open source world, SourceForge5 has been widely used since 1999, and offers support for hosting projects and version control. A recent study by Guzzi et 3https://campfirenow.com 4https://www.hipchat.com 5http://sourceforge.net

103 al. [24] showed most of the communication about messages to one another using “news feeds”. But in other development issues occurred through the code repository ways, it resembled the asynchronous text-based discussions discussion feature rather than email. on bulletin boards. GitHub, launched in 2008, markets itself as a social Wasko et al. [77], in 2000, studied how played a code hosting site. GitHub uses Git, a distributed version role in in three development control system for large-scale collaboration. For projects communities of practice. In their survey, they found and teams, GitHub fosters collaboration through several various reasons for participation: tangible returns such as awareness features, integration with external tools and the speed in getting multiple answers to questions, staying support for asynchronous workflows (cf. e.g., Pham et up to date, interaction with the community, reciprocity, al. [57]). It has recently overtaken SourceForge as the enjoyment, as well as enhanced . largest code hosting site6. Web-based archiving of Usenet posts began in 1995 at In 2010, Treude et al. [71] investigated how a Deja News, which was acquired in 2001 by Google; the community portal for IBM’s Jazz development archives are now accessible by Google Groups. However, environment is used to provide awareness of ongoing Google Groups is more than a gateway to Usenet activities in a hybrid (open/closed) software development archives—it provides discussion groups, mainly used as community. Jazz was designed as an IDE with forums and mailing lists for software developers, and serves collaboration in mind, and its dashboards and activity as a for global software engineering [36]. feeds played a major role in maintaining awareness—a Many of the features in Usenet can now be seen in more necessary feature to support effective coordination. modern media—most notably, Stack Overflow, a Email lists have played an ongoing role in keeping question and answer Website. Stack Overflow was created members up to date with project activities. They have in 2008 and has experienced rapid uptake. Even though been used as a channel to disseminate commit logs from Stack Overflow has many parallels to Usenet, it differs in software repositories [23], supporting project awareness several important ways. Firstly, there is moderation of and coordination. They have also been used for both questions and answers, which improves the asynchronous code review in open source projects by trustworthiness and value of the content. Secondly, Stack sending small patches to members for review [63, 62]. Overflow has a gamification [17] aspect with reputation Gutwin et al. [23] studied communication in three open scores and the ability to earn new powers through source projects and found that email lists supported participation, which may encourage involvement through information seeking, dissemination of project knowledge, as intrinsic and extrinsic motivation. Finally, the Stack well as developer activities and project discussion. They Overflow community responds very quickly: over 92% of further found that chat—in this case, IRC—was used for questions are answered within a median time of 11 informal communication about project artifacts. Although minutes [42]. Recently, Stack Overflow has been studied by not archivable, important aspects of those discussions several researchers [42,2, 14, 83] and is rapidly growing would be siphoned off to the email lists. Modern team- and into a formidable documentation resource. E.g., Parnin et project-oriented chat systems used by development teams al. [54] find that it provides very good coverage for support the archiving of content and offer project support documentation on open source APIs. (such as Campfire and Gitter7). Stack Overflow and many of the other channels Gutwin et al. also noted that important information mentioned in this section use a feature that was somewhat about code was sometimes fragmented across the three of a poster child for Web 2.0: [56], also channels used in those projects (email lists, chat and known as collaborative tagging or , commit logs). Their study found that it was often difficult comprise a user-generated system of classifying and to ensure that information was read by the right people in organizing online content into different categories by using a timely fashion. We suspect that fragmented metadata such as tags. What began with Delicious and communication may be an even bigger concern today given Flickr in 2003 and 2004, respectively, soon spread to many the increase in the number of communication channels other tools and Websites. In previous work, we studied the used by many developers. potential for social tagging in the IDE [68] and the use of tags for work item management in Jazz [70]. 3.3 Communicating Knowledge Socially are another important community-based Constructed in Community Resources knowledge resource used in software engineering. First Usenet was developed in 1980 as a “worldwide used in 1994 and widely adopted by 1999, with blogs, distributed Internet discussion system” and soon supported everyone can broadcast. They are frequently used by the flow of knowledge about technologies and projects developers to document “how-to” information, to discuss across team, project, and community members. Users the release of new features and to support requirements could read and post threaded messages, and posts were engineering [53]. Moreover, some practitioners advocate referred to as “news” belonging to specific categories or that every developer should have a blog8, arguing that “newsgroups”. It was a precursor to forums that are more posts help exchange technical knowledge among a larger widely used in recent years. Usenet differed from other audience than email messages. Pagano and Maalej [52] bulletin boards at the time as it did not rely on a central examined both blogs and commit messages and found a server and a dedicated administrator: it was distributed relationship between blogging and commit behavior. among a network of servers that stored and forwarded Parnin and Treude [55] found that blogs play an effective role in documenting APIs: by analyzing the Google results 6http://redmonk.com/sogrady/2011/06/02/ blackduck-webinar 7https://gitter.im 8http://bit.ly/Every-Developer-Needs-a-Blog

104 for API calls of the jQuery API, they found that 87.9% of study [66], we found that developers who adopted Twitter the API methods were covered by blogs, mainly featuring use it to filter and curate the vast amount of technical tutorials and personal experiences about those API information available to them. We found it brought methods. benefits in terms of awareness, learning, and relationship Audio and video are a medium closely related building. Developers who feel that Twitter benefits them to blogs and used by software developers in a similar rely on a variety of strategies for posting and reading fashion: for learning [33], keeping up to date with the Twitter content. Twitter shares some commonalities with latest trends and technologies [82], for (job) training and as Usenet, in that people join Twitter to discover information, how-to guides. use in higher education has to stay up to date and to be part of the community. Yet, increased since 2005 [9,6] and has been shown to be Twitter is also quite different from newsgroups. With effective [33]. Twitter, users follow individuals, but create the community Social news Websites are another medium they wish to be a part of themselves. Twitter also includes experiencing a recent surge in popularity. Many of these a few signals that can help assess content and people, such sites [75] and aggregators allow developers to disseminate as a user’s number of followers or the number of retweets knowledge, discover new software and keep up to date. for an individual tweet. Some of the most popular among developers are Digg9, Social media is not only a disruptive force for developers, reddit10, and Hacker News11. Lampe and Resnick [34] but also for enterprises. However, applying social media analyzed Slashdot12, a precursor to modern news Websites, concepts in enterprise environments raises various concerns and found that the basic concept of distributed moderation (e.g., privacy, security, distractions, ownership, etc...), works well. However, their analysis revealed that it often which has led to the emergence of Enterprise Social takes a long time to identify especially good comments, Media [38]. These are social media adjusted for use in that incorrect moderation activities are often not reversed, enterprise contexts that try to mitigate some of the and that non top-level comments and comments with low concerns. Yammer13 is a service much like starting scores did not receive as much consideration from Twitter, but designed for corporate use. Zhang et al. [84] moderators as other comments did. investigated how employees of a large enterprise use Lerman [39] examined the incentives that drive user Yammer and how its usage differs from Twitter. They participation on Digg and found competition with other found that employees use Yammer for news about groups community members, social acceptance, and internal and less for posting content about themselves. Dullemond factors. Findings also indicated that user participation is et al. [19] also studied the use of a microblogging tool non-uniformly distributed with a few top users doing a within a small distributed software company where moods large fraction of the work. Gilbert [21] studied Reddit are communicated explicitly as part of posts. votes and found a widespread underprovision of votes on Reddit, where half of the most popular links were 3.4 Communicating Knowledge About overlooked the first time they were submitted, thus Developers Through Social Networks jeopardizing its main purpose. Sites that are primarily focused around social networking The importance of news Websites like Hacker News for features are becoming very popular in development software projects is beyond aggregating news and keeping communities—just as Facebook has been very popular with up to date, as reaching the top of a site can provide the general population. This kind of media is new in valuable feedback and help the growth of a project’s users, software engineering, although implicit social networks contributors and the community as a whole. These sites have been present in other media channels, such as through are a specific form of social navigation, which was first newsgroup or mailing list affiliations. However, with these defined by Dourish and Chalmers [18] as movement from new media, the affiliation is one of the primary features of one item to another when provoked as an artifact of the the medium, and as such, is made visible. Facebook is activity of another or a group of others. used by some developers to support programming Microblogging is another channel that plays an interactions, such as local meet-ups. Sites such as increasingly important role in curating community LinkedIn are more focused on professional connections, knowledge. Twitter, the first microblogging tool and one of but Barzilay et al. [2] explored the practice of example the most popular social media channels, was created in usage in software development by observing software 2006 as a way to share short messages with people in a developers’ exchanges in LinkedIn discussion groups. small group. The idea was to share inconsequential There are also specific sites designed to showcase ephemeral information, but it has become an important developer activities and skills, such as Masterbranch14 medium in many domains. Twitter is seeing significant and Coderwall15, while many other developer tools now adoption in software engineering. also integrate social networking features, such as GitHub. Several researchers have investigated how software Below, we summarize some recent studies that have studied developers and software projects make use of Twitter [7, the impact of social networking on software engineering. 76], finding that Twitter is used to communicate issues, Dabbish et al. [15] conducted a study of GitHub users. documentation, to advertise blog posts to its community, They found that the visibility of developer activities and as well as to solicit contributions from users. In a recent profiles on GitHub influences a project’s success by motivating others to contribute. Developers further decide 9http://digg.com 10http://www.reddit.com 13https://www.yammer.com 11https://news.ycombinator.com 14https://masterbranch.com 12http://slashdot.org 15https://coderwall.com

105 which projects are worth contributing to by determining was building the community, its mechanisms, and the which projects have frequent contributions or contributions processes that support it. Similarly, the TopCoder16 from high status developers [72]. High status developers representative also mentioned that building a functioning are those that have already done interesting work. community was the most difficult aspect in building the In a similar study, Marlow et al. [44] explored how users business. Both GitHub and Stack Overflow (the most on GitHub form impressions of others through GitHub’s notable of the Q&A sites Stack Exchange hosts) relied on transparency. They found that developers assess each other high status developers to seed their communities. to learn about projects and their status. These impressions In summary, the pervasive use of public social media by guide future developer interactions and influence how much developers makes the participants and their relationships one would trust contributions from someone they had not more transparent to software engineering researchers who interacted with before. Pham et al. [57] interviewed want to understand how methods and tools are used in GitHub users with regard to testing practices and found practice. While the mining of software repositories has that when assessing contributions from others, project given us access to software products for a relatively long owners behave differently based on how much they trust time, the recent accessibility of developers’ interactions and the contributor. Unknown developers’ code would be more their relationships can provide more qualitative insights thoroughly scrutinized than code from trusted people. than had previously been available. Research so far has Marlow and Dabbish [43] studied how employers assess indicated that social networking features influence which developers based on their GitHub profiles, which provide projects developers participate in, impact project success, cues about their activities, skills, motivations and values. and play a role in developer assessment and recruitment. These cues were regarded as more reliable than resumes. Gamification elements add feedback and improve trust in Employers who were interviewed by Marlow et al. said that developer contributions. We believe studies on social open source contributions indicated that a developer had the networking and their associated gamification aspects will “right” set of values and was not in software development for become more prevalent in the future of software purely financial reasons. Also, contributions to high status engineering research, adding to these preliminary insights. projects were said to demonstrate“some level of proficiency.” Singer et al. [65] conducted a similar study, but 3.5 Summary and Discussion investigated social media profiles of developers in general. The timeline (see Figure1) shows an approximation of This included GitHub, profile aggregators such as when some popular tools and media channels were adopted Coderwall and Masterbranch, Twitter, Stack Overflow, and or innovated by software engineers. The timeline gives a other sites. They found that profiles can be hard to rather simplified view of what is really a very complex understand or evaluate for some recruiters. To assess the history of how media channels evolved and were real merit of a developer’s public activities, one would appropriated in software engineering. The channels are always need to look at actual artifacts, such as code, tests, organized using the different types of knowledge exchanged documentation or discussions. Developers also assessed over time (knowledge in developer heads, knowledge recruiters and companies, trying to gauge their embedded in project artifacts, knowledge embedded in authenticity and suitability as colleagues. Most developers community resources and knowledge about or and recruiters were aware that the absence of signals does communicated through social networks). Note that some not mean much—a developer with few or no public tools overlap multiple types of knowledge, and a single tool activities might just be a private person or work may encompass multiple social features within them. E.g., exclusively on closed source projects. IDEs such as Jazz support Web portals, dashboards, Capiluppi et al. [10] further argue that information that tagging and newsfeeds; Github, while primarily a code helps assess others will allow for more merit-based and less hosting site, has social networking features. Consequently, credential-based evaluation of potential candidates, it is not always possible to distinguish a tool for a channel possibly leveling the playing field for those who don’t have from a feature of a channel: e.g. tagging is a feature of access to traditional education but are skilled and desirable many channels, but it is also a primary activity on sites developers. such as Pinterest or Delicious. Together with Begel and Bosch, we interviewed Over time, we see the emergence of channels that are representatives of GitHub, the Microsoft Developer increasingly socially enabled, and a rise in the adoption of Network (MSDN), Stack Exchange and TopCoder channels for exchanging community knowledge and social about the role of social networking in their companies [3]. networking content. The timeline highlights how we have All four sites provide features to increase the visibility of entered a social era in terms of media use in software developers and developer activities. On GitHub, one can engineering. We loosely categorize tools as 1) non-digital, follow particularly high status developers and watch their 2) digital or 3) digital and socially-enabled. Distinguishing activities. MSDN and Stack Exchange have explicit digital from non-digital is trivial, but characterizing tools gamification elements to assist in assessment and discovery as socially-enabled is not as clear cut. This is particularly of content, and to support strong engagement. the case for tools (e.g., SourceForge) that have evolved Interestingly, not having explicit connections between users over time with the addition of social or social networking was a conscious decision for Stack Exchange: the company features. By social, we refer to features that promote and feels users should concentrate on the content, and status afford participation through the transparency of identity should not play into a question or answer being up-voted. (e.g., user profiles), content and interactions [15]. This The Stack Exchange interviewee mentioned that the transparency further leads to social signals that themselves hardest part about building the Stack Exchange Network was not creating the software that runs it—the challenge 16http://www.topcoder.com

106 Non-digital Channel Reasons for Importance Face-to-face, Books and Magazines Code Hosting Provides the state-of-the-art tools and Digital lowers the barriers for collaboration. Code"HosGng"Sites" 1018 Web Search, Content Recommenders, Rich Content, Private F2F Eases team communication, facilitates Discussions, Discussion Groups, PublicFaceDtoDface"communicaGon" Chat,Code"HosGng"Sites" Private Chat problem solving and knowledge Digital and socially enabled Code"HosGng"Sites" sharing. Feeds and Blogs, News Aggregators,FaceDtoDface"communicaGon" Social Bookmarking,Q&A"Sites" 512 Question & Answer Sites, ProfessionalFaceDtoDface"communicaGon" NetworkingCode"HosGng"Sites" Sites, Q&A Provides rapid access to answers and Web"Search"Q&A"Sites" code examples produced by the crowd. Developer Profile Sites, Sites,Code"HosGng"Sites" Microblogs, Code Hosting Sites, Project Coordination Tools Q&A"Sites" 496 FaceDtoDface"communicaGon"Web"Search"Microblogs" FaceDtoDface"communicaGon" Web Search Immediate access to vast amounts of Code"HosGng"Sites"Web"Search" information, supporting learning and Table 1: The channels respondents were ablePrivate"Chat"Microblogs"Q&A"Sites" to choose from in our survey. The survey includedQ&A"Sites" problem solving. FaceDtoDface"communicaGon"Code"HosGng"Sites"Microblogs" 429 examples for each channel. Feeds"&"Blogs"Private"Chat"Web"Search" Web"Search" Microblogging Allows for keeping up with new become useful content (e.g., the numberFaceDtoDface"communicaGon" of votes associatedPrivate"Chat"Q&A"Sites" Private"Discussions"Feeds"&"Blogs"Microblogs" technologies, practices and people. with an answer or the number of followers a user has).Microblogs" 221 We can expect to see even more software developmentWeb"Search"Q&A"Sites" Feeds"&"Blogs"Private"Chat" Private chat Single point of coordination for tools become socially enabled by the inclusionPrivate"Discussions" of featuresPublic"Chat" Private"Chat" remote teams, supporting real-time such as commenting, tagging, like buttonsPrivate"Discussions" and theWeb"Search"Microblogs" ability Discussion"Groups"Feeds"&"Blogs"Public"Chat" collaboration. to follow others. But adding these features to a toolFeeds"&"Blogs"Private"Chat" is not 194 sufficient to promote community participation.Private"Discussions" AsPublic"Chat"Microblogs" the interviews with Stack Overflow and TopCoderDiscussion"Groups" have shown, 0"Feeds and blogs400" Provides personalized800" information1200" for Private"Discussions"Feeds"&"Blogs" developers to keep up with latest building software for communities is muchDiscussion"Groups" easierPrivate"Chat"Public"Chat" than building the communities themselves. It may be more practices and technologies. Private"Discussions"Public"Chat" 0" 190 400" 800" 1200" likely that new social tools that we can’tDiscussion"Groups" yetFeeds"&"Blogs" anticipate 0" 400" 800" 1200" may lead to a disruptive change in how developersDiscussion"Groups" work. The adoption of social media is relativelyPrivate"Discussions" new andPublic"Chat" has Table 2: The top channels mentioned and why they taken some parts of the industry and research community are0" important400" (bars show #800" of respondents1200" selecting by surprise. Although we have some insightfulDiscussion"Groups" researchPublic"Chat" that0" channel400" as most important,800" bar color1200" indicates findings about the implications of this paradigm shift on analog, digital or social channels). software engineering, we lack insights onDiscussion"Groups" how various 0" 400" 800" 1200" media channels are used in combination to support information such as gender, age, and location, their software engineering activities. That is, we need more programming0" experiences,400" technologies800" and tools1200" they use, understanding about the landscape of social media use and asked them about the number of projects they within software engineering ecosystems before we lay out a participate in, whether they program professionally, and roadmap for future work. about the sizes of project teams they had worked with. Findings from our literature review and from earlier 4. DEVELOPER SURVEY 2013: studies we conducted prompted us to find out which media EXPLORING MEDIA USE channels developers use for activities such as staying up to date, learning, connecting with other developers As discussed, there has been some research on how the or coordinating. For each of those tasks, we asked them recent generation of developers use media to support to select the channels they use for them. Respondents were software engineering. But most of these studies considered able to select from those shown in the columns in Table1. how just one or two channels impact software development We asked the respondents to indicate the three most activities. One exception is a pilot survey by Black et important channels that they use to support their software al. [5] conducted in 2010 which asked about the use of a engineering activities, and to tell us why they selected broad set of channels in software engineering. To try to those channels. We also asked respondents how understand how the newer generation of developers use a overwhelmed they feel when using the tools selected, broad range of social media channels, and thus to whether they have privacy concerns when sharing anticipate important opportunities and challenges for a information on those channels, whether they suffer from roadmap for future work, we conducted a survey with distractions, and what other challenges they may members of a thriving participatory community through experience. GitHub. Limitations: We recognize that our population of 4.1 Method respondents is biased towards developers that firstly use 17 GitHub, and secondly that they are more likely to use We emailed our survey to 7,000 active GitHub users in social tools since GitHub is also a social tool by design. November and December 2013. 1,516 developers responded That said, this is the population we wished to study in our (21% response rate). We asked them about demographic survey. From the survey responses we were able to 17URL to the survey: http://thechiselgroup.org/2013/ determine that developers on GitHub further tend to 11/19/how-do-you-develop-software develop programs for the Web as opposed to systems

107 USA" China" 1000" Canada" India" 750" 6%$ Brazil" 3%$ Australia" France" 500" Germany" male$ Russia" 250" Great"Britain" 91%$ female$ other" 0" N/A" ≤"22" 23)32" 33)45" 46)60" 61+" N/A" unknown$ 0" 200" 400" 600" (a) (b) (c)

Figure 2: Background of the respondents: (a) age, (b) gender and (c) location programming, adding another bias to the responses. Some Q&A sites such as Stack Overflow and Web search of the questions may have been ambiguous especially to engines (e.g., Google), play a crucial role in providing non-native English speakers. Finally, we only present some access to a vast amount of information produced by preliminary findings in this paper; future work may reveal the crowd. Microblogging adds another layer of social additional insights. interaction by supporting relationships, discovery, and awareness of people, trends, and practices. Private chat provides an important alternative to 4.2 Preliminary Findings face-to-face interactions as it enables real-time An in-depth analysis of the survey findings is collaboration and a single point for coordination, forthcoming; in the meantime we provide preliminary data but still falls short at supporting features that are present to help us understand the kinds of media channels this in collocated interactions, such as spatiality of reference population uses to communicate and collaborate. Figure2 and shared local contexts. Feeds and Blogs are a shows an overview of the respondents’ backgrounds. particularly important medium for conveying Figure2(a) shows the age distribution, which is strongly personalized information and for communicating skewed towards relatively young developers. Figure2(b) developments and ideas about software engineering shows that the overwhelming majority of our respondents concerns, practices, and technologies. were male—only 3% identified themselves as female, while

6% did not answer this question. Finally, Fig.2(c) shows 400 that many respondents were from the USA, but there was also a wide distribution among other unspecified countries. 300 Overwhelmed Calculated over all survey questions that asked about 200 channel usage, our respondents said they use a median of Privacy Distracon 12 unique channels (mean: 11.55, min: 1, max: 21). While 100 25% of the respondents use between 14 and 21 unique 0 channels. Table2 shows the top channels mentioned by 1 2 3 4 5 6 7 respondents and summarizes the main reasons for importance that were given. The bars indicate how many Figure 3: Results from the Likert-type scale developers named the channel as one of their three most questions (where 1 was strongly disagree and 7 was important ones for development. While code hosting sites strongly agree) about three different challenges. may be in the lead due to the GitHub-centric population Figure3 shows a summary of responses to the we surveyed, it is surprising that face-to-face Likert-type scale questions asking whether developers are communications are still considered very important. Q&A overwhelmed by the information communicated on the sites are considered almost equally important. channels, whether they are concerned about privacy, and Survey respondents considered Code Hosting Sites the whether they are distracted by the channels they use. most important channel, as they provide state-of-the-art The majority of developers seem to feel overwhelmed and tools and lower the barriers of entry for developers find that social tools can be a distraction, while privacy willing to share their work with others and get appears to be of less concern. feedback. Respondents also valued being able to access Table3 provides qualitative data on the challenges most other developers’ posts to learn about new often mentioned in the survey, all of which will be technologies and practices in software engineering. discussed in more detail in Sec.5. From the perspective of Despite the fast pace of evolution in communication individual developers, media literacy was often technologies and tools, we found that face-to-face mentioned as an important challenge. Developers have to communication is still considered the best channel for learn the conventions and technical nuances of new media supporting team communication and effective that appear from time to time and have to learn how to collaboration. Olson and Olson [50] emphasized the role use them effectively with their teams—who may not always of synchronous interactions in providing rapid feedback adopt the new channels. among team members and in supporting design and collaborative problem solving.

108 Developers A preliminary interactive —a work in Literacy “The biggest challenge from social tools progress—of the results can be viewed online18. We use during development is when a new one is some of these initial results and combine them with our adopted into the mix, the learning curve retrospective of software engineering media research from associated with a new tool eats time unless Sec.3 to build a roadmap for future work. the program is intuitive and pointed.”

Communities 5. FUTURE OF SOCIAL MEDIA IN Anti-social “Misinformation is easy to communicate SOFTWARE ENGINEERING behavior and propagate. People can be rude or We build on existing research into social media use in obnoxious on social mediums, distracting software engineering (Sec.3) and the preliminary findings from a discussion. The asynchronous of our survey (Sec.4) to develop a roadmap for future nature of social media interaction can often work. We pay attention to McLuhan’s guidance (see lead to missed information or incomplete Sec. 2.1) as he suggests we consider not just how media contexts for understanding information.” enhances, replaces and retrieves elements of what has come before, but also that we pay attention to what it reverses Content into, if taken to the extreme. We consider opportunities Trusting “I sometimes feel lack of quality content and challenges that relate to the following aspects content on social networks, q&a sites – especially (following Postman, see Sec. 2.1): when it comes to incompetent answers to questions I ask. So the challenge is to • the developers; filter the information you get from all of • the communities the developers belong to; the sources.” • the content and knowledge that is created by the Ecosystem of Media Channels developer community; and Vendor “I worry that we are relying on many of • the ecosystem of media channels that shape the lock-in these ‘free’ services, which in the end are community and content exchanged. not free – they simply have a different 5.1 The Emergence of the Social Programmer payment model (that appears to change).” Developers participate in communities of practice because they wish to directly contribute to the community’s public Table 3: Some key challenges reported in our survey. good or to form relationships with other developers. They also participate for more personal reasons—in particular, to In communities, anti-social behavior was mentioned improve their technical skills and positively influence their as a constant threat to smooth interaction. Many media career prospects. However, there are challenges in managing have either a low bandwidth or are asynchronous, so interruptions and acquiring social media literacy skills. misunderstandings are more likely to happen. The perceived anonymity on the Internet may also play a role. 5.1.1 A Living Laboratory for Learning Regarding knowledge, knowing when and whether to Before the innovations of the Internet and social media, trust content is regularly an issue. While sites like Stack most learning occurred in the classroom, through self Overflow have voting mechanisms in place that help training or through training on small teams [78]. These surface the high quality content, niche technologies might days, developers acquire extensive skill-sets by simply have an adoption rate that is still too low to yield participating in online communities that showcase current reliable trust signals. Other sites may lack explicit signals technology trends. This was particularly evident in the altogether, so developers are forced to interpret surrogate studies on Twitter (cf. 3.3). Networking allows developers signals based on their experience and intuition. to acquire diverse skills by connecting with different groups From the perspective of many interrelated media channels and communities that suit their learning needs or interests. as an ecosystem, several respondents were concerned about Novices can seek out like-minded developers as learning vendor lock-in. Developers are by now aware that free partners or mentors. Social coding sites that support open services will always have a high potential for downsides, be source projects, such as GitHub and Twitter (e.g., through it possible discontinuation or marketing-related changes to the #pairwithme on Twitter), provide mechanisms to a business model. make those connections. 4.3 Discussion Sites such as GitHub provide rich opportunities for use in university courses—Arie van Deursen discusses how On average, our respondents indicated that they use 12 he successfully used GitHub in a software architecture channels to support their software engineering activities. course19. Furthermore, online learning environments, We see that some recent newcomers in terms of such as Khan Academy and Coursera, provide additional communication channels used in software engineering see mechanisms to foster self-paced learning in online widespread adoption, and that those tools are also among communities. Jenkins reminds us that “appropriation the most important as selected by the respondents. enters education when learners are encouraged to dissect, Although our survey respondents are those that work on transform, sample or remix existing cultural materials.” [30] projects mediated through GitHub, face-to-face interactions were also rated very highly. In future work, we 18http://fose2014.thechiselgroup.org will analyze the results from the survey examining possible 19http://avandeursen.com/2013/12/30/ correlations between channels used and developer factors. teaching-software-architecture-with-

109 We already see the effects of this kind of encouragement in recent Twitter study shared strategies they use for social coding sites. Social sites are likely to revolutionize curating their and improving the value they how software engineering is taught in the classroom. receive from using Twitter (see Sec. 3.3). Effective use of Future work should consider how developers use tools social media can also reduce unnecessary communication. such as GitHub and Stack Overflow in conjunction with We heard from expert developers that they explicitly post other channels to support their ongoing learning, as well as answers to commonly asked questions on blogs or answer how their use impacts the quality of the software they questions on Stack Overflow to reduce their email volume. build. From an enterprise perspective, how can Jenkins suggests a set of social media skills for users that organizations support this mode of learning and balance include [30]: transmedia navigation, the “ability to learning with short term productivity goals? Are follow the flow of stories and information across multiple developers joining the best communities to support their modalities”; appropriation, the “ability to meaningfully learning needs, and are they choosing to learn the most sample and remix media content”; multi-tasking, the suitable development technologies and learning those in an “ability to scan one’s environment and shift focus to salient effective way? Are they using their time effectively? details as needed”; and collective intelligence, the “ability to pool knowledge and compare notes with others 5.1.2 Expanding Career Opportunities towards a common goal.” Soft skills are typically not As we discussed in Sec. 3.4, understanding the impact of taught in university, but are learned “on the job” or by transparent participation on career development is participation within communities of practice. Do Jenkins’ a current research focus. The participatory development recommendations for social media literacy also apply to communities that we see forming through tools such as software development? Twitter, GitHub and Stack Overflow, as well as developer profile aggregator sites such as Masterbranch and 5.2 Participatory Development Cultures Coderwall, provide further mechanisms for developers to Social technologies have enabled participatory cultures advertise their skills and experience, as well as for to flourish beyond the constraints of time, space and employers and recruiters to seek out suitable employees or group [12], and we can clearly see this influence on the team members. However, there is still much to learn about global software development community. There has already these mechanisms, as one developer responded to our been some research on communities of practice in software survey: “It can be challenging to understand which tools to development (see Sec.3). Here we propose future work on invest time in, and how to use them to best promote oneself increasing the scale of who collaborates, and identifying to further one’s career.” This phenomenon is relatively new new practices that are being shaped and enabled by social and its impact on developer behaviors and team churn technologies. We also raise the importance of being aware have yet to be studied in depth. of the potential for anti-social behaviors and other barriers to participation. 5.1.3 Maintaining a State of Flow 5.2.1 Increasing the Size of the Crowd DeMarco and Lister in their Peopleware book discuss the importance of maintaining a sense of flow during Social media exposes new customers, partners and users development [16]. Flow refers to a psychological concept of to one another, and social tools like GitHub are designed being fully immersed in a task, where the participant with participation in mind. Although GitHub is designed barely notices the passage of time. Achieving a sense of to encourage participation, non-technical users still flow requires a balance along an anxiety-boredom reportedly struggle with some of its features. Effective continuum. If the task is too easy, the individual will be technical and social media literacy skills will help bored, and if too difficult, they will be stressed. DeMarco facilitate participation, but strong leadership is also and Lister worried about the telephone or email important [12]. interrupting developers’ sense of flow. Interrupting flow is The software industry further benefits from potentially even more of a concern given the many channels crowdsourcing (participation and feedback from a large developers use today (see Sec.4). Many of the survey number of users or stakeholders) across customer care, respondents discussed feeling overwhelmed and distracted testing [32], documentation [54] and requirements by the vast number of notifications they received and felt gathering [51]. Research into some of these relatively new compelled to respond to notifications. Although it is often phenomena indicates a lack of tool support for possible to customize notifications, every channel does this crowdsourcing activities in software engineering [54, 51]. differently. On the positive side, gaining quick access to Startup companies understand the importance of information may improve flow by reducing anxiety. releasing “minimally viable products” early to gain iterative More research is needed to understand how developers use and valuable customer feedback [61]. But which channels these channels and why some developers struggle while are the most effective for reaching users and gaining their others succeed at finding a sense of rhythm. feedback and participation? What are the barriers that may block or turn some potential collaborators away? 5.1.4 Social Media Literacy for Developers What kinds of new tools can entice, improve and capture crowd-based participation in software engineering? How do As some of our survey respondents told us, learning how we ensure crowd diversity, as a “smart crowd” depends on to use social media effectively can be a challenge (cf. having diverse skills and viewpoints [69]? Sec.4). But if a user has the right skills, social media can promote critical thinking [12] and social networking can improve a developer’s ability to search for, synthesize and disseminate information [30]. The respondents in our

110 5.2.2 Discovering Next, Not Just Best Practices 5.3 Software Knowledge as Public Good Our Developer Survey revealed that shared knowledge Social media is the underlying fuel for collaborative and information might be spread across too many channels development and crowdsourcing of content in software and can be easily missed or impossible to find again engineering. The content created in a community of (especially with ephemeral channels). Survey respondents practice is referred to as “public good” by Wasko et al. [77], recognized the need to use multiple channels but were and in this case, such content refers to not just code, but frustrated that others were reluctant to use the same also documentation, as well as content about channels or used them inappropriately (e.g., tweeting developers (their skills, accomplishments and activities). rather than emailing). The issue of private versus public Social media further transforms communications into posting also led to knowledge fragmentation. However, content [12]. In this section, we consider how this content missing out on some discussions is not a new problem: is a source of big data which can be analyzed for making from the earliest days of software engineering, predictions and recovering traceability in software projects. conversations around the water cooler always meant some We also look at the opportunities that arise from the speed participants were not privy to all relevant discussions. of communication and technology diffusion made possible Nevertheless, articulating and sharing communication best by the Internet and social media. Finally, we consider practices would alleviate some of the issues from issues with finding salient information from a mass of knowledge fragmentation across multiple channels. communication channels, as well as issues with trust. But following best practices may not be enough [12]. As new tools are rapidly adopted, appropriated and innovated 5.3.1 Mining Social Media in Software Development by developers, new practices will quickly follow. The Mining of software repositories has been an active emergence of new practices is driven by both the area of research in the past decade20. That research has transparency and speed of technology diffusion. For also considered other communication channels, most example, we were able to observe how developers learn notably email archives as email lists are frequently used for testing practices through the transparency of exchanging software repository artifacts [47, 48,4]. There GitHub [57], as well as how social technologies support the are even more analysis opportunities of the more recently matching of talent to task in the case of peer adopted social media channels used in software engineering review [63]. Kazman and Chen observed that some (e.g., Twitter and Stack Overflow). Tools that integrate crowdsourced development can be described using the multiple channels, such as GitHub, make it easier to relate metaphor of a “metropolis” [32]. What other new information that was previously stored in silos and had to development models and practices are emerging from be linked to facilitate analysis. Many researchers are using this participatory culture? these richer resources to support new lines of research inquiry about development (e.g., the MSR challenge for 5.2.3 Knowing When Social Becomes Anti-Social 2014 is based on GitHub projects21). The transparency of social media may be highly effective The output from these analyses show potential for at encouraging shared creativity, but the same improved predictions about software success, failure and transparency can also be intimidating to more private or reliability, improved traceability, monitoring support for shy individuals. One concern that was raised in our survey project health and adoption, and finally, insights about is the risk of ambiguous communication even when the developers’ own activities [65]. Aggregations of parties speak the same language. Many expressed that communicated information also show promise at forming face-to-face communication is still the preferred mode of documentation and learning resources [55, 54]. At the working when possible. same time, this newly available data brings with it new Many of the Developer Survey respondents also challenges that require the attention of researchers [31]. expressed worries about being personally attacked if 5.3.2 Software Engineering at the Speed of Light they say something inappropriately, advise poorly or inadequately explain something. In such situations, The adoption of social media has occurred at a much communication on social channels may alienate people, faster rate than any previous communication leaving them more reluctant to share. Social media also technology [12]. These channels facilitate technology makes it easy to communicate directly with participating diffusion that self-accelerates adoption. This rapid diffusion stakeholders, but sometimes the communication may be may lead to a competitive edge for some (faster access to invasive (e.g., users asking too many questions, or new technologies and practices, ongoing feedback, and unsolicited contact from recruiters). Another issue is the access to collaborators and users [66]). But what effects poor articulation of community expectations does this have on ? How does diffusion concerning when communication should be acknowledged and discovery occur across an ecosystem of channels? or addressed. Which combinations of channels and work practices There are other long-standing differences that may lead should be used or avoided? How can organizations and to complex social issues. Exclusion from a community may developers effectively stay up to date and learn in such a result from poor natural language proficiency (English is rapidly changing landscape? What challenges will faster the language of choice in many channels), time zone technology diffusion and adoption bring in the future in differences, cultural issues and belonging to certain terms of maintenance and evolution? minorities. E.g., female participation tends to be low on many of the more transparent social channels [74]—we also saw this in our survey (cf. Sec.4). Understanding how 20http://msrconf.org these differences can be addressed is paramount. 21http://2014.msrconf.org/challenge.php

111 5.3.3 Finding the Signal in the Noise 5.4.1 Social Media Channels for Developers Many-to-many communication that occurs through In our survey, some respondents indicated poor support multiple channels inevitably leads to a mass of information for explaining design concepts or algorithms in the code. distributed within a community. Many respondents to our Several other respondents also mentioned issues when the survey reported feeling overwhelmed by the amount of tools they use lack integration with programming artifacts. information and had trouble finding or discovering salient This lack of support caused friction when switching information. The developers that are social media literate between tools and led to poor traceability between and have carefully curated their social graph seemed to discussions and software artifacts. Some channels are suffer less from this problem. Finding documentation that specifically designed with development in mind (e.g., Stack relates to a particular technology version was also a Overflow and Hipchat), but other channels lack facilities reported problem, particularly on GitHub due to what has for sharing and discussing code. To reduce friction from been termed “forking hell”22: as GitHub makes it very easy switching between tools and integrated content, some to fork a project and some of a project’s many forks could researchers have proposed integrating social features in include crucial improvements not yet merged back into the the IDE (e.g., integrating microblogging in the IDE [25, main project, it can be hard sometimes to find the ideal 60]). At the same time, there is momentum to migrate the fork to use. Improved search tools and recommenders IDE towards the Web [73, 22]. could assist with this challenge23. Whatever the form of improved integration, we anticipate that the coding tools and environments 5.3.4 Trusting Content developers use will become more social. Understanding the A concern that was raised numerous times in the affordances that the different features can offer to Developer Survey is that of assessing the quality of the software developers is important, but we also need to content available on social media channels. In terms of develop theories about ideal combinations of tools. developer skills, there were concerns that some developers Achieving an effective media ecology, according to may falsely embellish their skills. For crowdsourced McLuhan “means arranging various media to help each documentation, although widely thought to be powerful, other so they won’t cancel each other out, to buttress one there were concerns that it may be out of date. There medium with another.” Likewise, in software development were also concerns with having to understand multiple we need research to understand how to package or conflicting documentation resources and which source to integrate the best tools for developers of the future so that trust, especially if there was insufficient information on the they not only have the most appropriate communication people posting the documentation. Although there are tools available, but also that the tools together address the mechanisms for showing trustworthiness (e.g., voting up on knowledge fragmentation issues that may occur. Stack Overflow), perhaps relating these to a developer’s social graph (i.e., improved traceability) may improve one’s 5.4.2 Reducing Risks from Vendor Lock-in confidence on the trustworthiness of content. However, Another concern raised in our survey is that some of the gamification mechanisms that are used on mission-critical knowledge can become “trapped” in some sites (such as on Stack Overflow) may lead to content proprietary tools that are outside developers’ control. If that is not as useful or authentic if the size of the crowd such proprietary sites go down (or disappear completely), curating it is rather small. this knowledge could become inaccessible or lost. Nicholas Carr further discusses the problem of relying on online 5.4 Improving the Social Media Ecosystem information resources when he questions “is Google making for Software Engineering us stupid?” [11]. We found from the survey that developers One of the most interesting findings from the Developer are heavily reliant on Google as it directly links to other Survey is the number of channels some developers use today. resources, such as Stack Overflow and Twitter. Many of Respondents reported using an average of 12 channels, with our respondents talked about the importance of these 25% using between 14 and 21 channels. Recently we see latter resources and their concern that the community the development and adoption of channels that are highly assets embedded in them might not always be accessible. specialized (e.g., Stack Overflow for Q&A), and yet we also Although there are data dumps available, those require see the integration of multiple channels or features in a single effort to use. As new channels are adopted, what will tool (such as the case with GitHub). In this section, we happen to content stored on old channels? The same report on some opportunities for new channels and features lock-in concern also applies to the valuable profile that would be more applicable to software developers, as well information within these and other proprietary sites that as discuss challenges that arise from relying on proprietary developers rely on for their portfolios. channels and the issues that may arise if social media are overused or pushed to the extreme. 5.4.3 Exploring the Dark Side of Social Media As McLuhan reminds us, every media can have negative effects when taken to the extreme or abused. Therefore, what are the downsides of using social media in software engineering? While technology diffusion may seem like a positive outcome of social media use, is the mass of 22http://bit.ly/dada-beatnik-forking-hell and http: technology niches, such as special purpose programming //zbowling.github.io/blog/2011/11/25/github/ languages, components and tools, that social media 23There are workshops on both of these topics at ICSE 2014, supports ultimately good for the industry, or does it lead see http://2014.icse-conferences.org/workshops to maintenance issues in the future? And is there a risk of

112 the same channels being used to diffuse harmful content, topic. It is wonderful to be part of a global developer such as spam or information that will harm security? movement and have the entire world of developers helping Some survey respondents discussed a need for improving each other.” bounded transparency in social media channels. Chui et al. note that researchers are generally slower to Communications that should be private or anonymous are adopt social media than knowledge workers [12]. This may posted publicly, and vice versa. For example, such a put some researchers at a disadvantage as we speculate context collapse [45] could negatively influence future that social media is poised to cause a paradigm shift in job opportunities. Several survey respondents mentioned some aspects of research, particularly in research that their desire for electronic channels that are truly ephemeral involves socio-technical aspects of software engineering. (whereas much communication in current social channels One opportunity that is however evident for researchers is forms a digital tattoo). Unfortunately, many channels that there is an increase in openly available data that either lack support for bounding transparency, or if they researchers can analyze and use to publish. do have support, some users do not know how to use those Many software engineering researchers have already privacy features effectively. Some survey respondents established excellent social media literacy skills. They use expressed fear of misusing channels as they were unsure their social graph to gain research data and insights, and how publicly or widespread their posted information would to form alliances with developers and collaborations be diffused. with other researchers. Another tradeoff arises when users make use of free Furthermore, blogging about research results can lead to services in exchange for their personal information. thousands of views in a day, gaining public feedback from Identity linking across networks (which may or may not real practitioners27. Thus, we suggest that social media be desirable) is also a challenge in how people use social can have a transformative impact on software media in knowledge work [12]. We anticipated that engineering research, as researchers have the opportunity developers would be concerned by these and other privacy through social media to influence and guide the industry. issues, but the answers to our survey revealed that the As a research community we should ask ourselves whether majority are not as concerned as we had thought. we want to focus our energies on describing what is Finally, it is important to note that many developers do happening, predict what happens next, or strive to not openly participate in online communities because they influence the future. do not have a need to participate. Scott Hanselman labels such developers as“Dark Matter Developers”24. But perhaps dark matter developers use many of the resources (that is, 7. CONCLUSIONS “lurk” there), but don’t leave a trace. Does the community From the very early days of software engineering, miss out when they do not participate? software developers have used, innovated and adopted media to increase their social interactions with other developers. The social interactions that were possible 6. IMPLICATIONS FOR RESEARCHERS dramatically changed with the innovation of the Internet, “It is the framework which changes with each new and communities of practice quickly emerged that went technology and not just the picture within the frame.” [46] beyond co-located developers or small networks connected McLuhan reminds us that when media or technology by leased lines. change, we must adapt how we study that technology and The more recent innovations in social media have led to the questions we ask. In the case of our research, we found yet another paradigm shift in software development, with it was necessary to study social media using social highly tuned participatory development cultures media. Understanding the culture and nuances of social contributing to crowdsourced content and supported by media language enabled us to first reach out to and media that has become increasingly more social. Social connect with study participants, and then understand features are being layered on top of traditional channels, what they had to tell us. but we also see the galloping and widespread adoption of We attracted approximately 1,500 responses to our new social tools for developers, such as GitHub, Stack survey (over 21% response rate) by reaching out to GitHub Overflow and developer social networking tools. developers25, and by informing our participants that our The most recent generation of developers, in particular results would be openly shared as we have done with other millennials28, are both used to and expect collaboration. studies—e.g., we tweeted and blogged about the results This newer generation of developers are adept at using from our study of Twitter [66] and received excellent social media for communicating, coordinating with others, feedback that helped us validate our findings and add and for learning. They are by nature open, transparent additional insights26. The GitHub participants we and expect to share. They are tightly coupled to their connected with enthusiastically answered our survey and devices and to their content, and they tend to care more gave us excellent insights, even with a rather long and about their public image than their corporate or tedious survey (see Sec.4). One respondent mentioned company-internal image. It is also anticipated that they felt they were contributing to their own well-being by millennials will change their jobs many more times than participating in our research: “Good to see a survey on this older generations, and they have fostered the ability to learn new technologies easily. Through the widespread 24http://www.hanselman.com/blog/ DarkMatterDevelopersTheUnseen99.aspx 27http://blog.ninlabs.com/2012/05/ 25We used the email addresses they had published on GitHub crowd-documentation and http://blog.leif.me/2013/ 26http://blog.leif.me/2013/11/ 11/how-software-developers-use-twitter/ how-software-developers-use-twitter 28http://en.wikipedia.org/wiki/Millennials

113 adoption and appropriation of social media by this Workshop Web 2.0 for Software Engineering, Web2SE generation, we see a participatory culture emerging in ’11, pages 31–36, New York, USA, 2011. ACM. software engineering. [8] F. Brooks. The Mythical Man-Month: Essays on Tools such as GitHub lower the barriers to joining and Software Engineering. Addison-Wesley, 1975. contributing to development communities, and developers [9] G. Campbell. Podcasting in education. Educause do so because they care about social connections with Review, 40(6):32–47, 2005. other developers. They wish to mentor or be mentored by [10] A. Capiluppi, A. Serebrenik, and L. Singer. Assessing others and they believe their contributions matter. technical candidates on the . Software, Participation in these communities provides opportunities IEEE, 30(1):45–51, 2013. for improving their skills, and they know how to use their [11] N. Carr. The shallows: What the Internet is doing to social connections to discover and learn about emerging our brains. WW Norton & Company, 2011. technical trends. [12] M. Chui, J. Manyika, J. Bughin, R. Dobbs, The number and scale of teams and communities that C. Roxburgh, H. Sarrazin, G. Sands, and developers belong to has radically increased since the early M. Westergren. The social economy: Unlocking value days, and the breadth of media channels they use to and productivity through social technologies. participate in those communities has likewise increased. http://www.mckinsey.com/insights/high_tech_ The participatory development culture has become a telecoms_internet/the_social_economy, July 2012. network of tightly coupled ecosystems consisting of developers, communities of practice, shared content and [13] H. H. Clark and S. E. Brennan. Grounding in media channels. The adoption of social media and the Communication, chapter 7, pages 127–149. American resulting paradigm shift this has caused opens up many Psychological Association, 1991. interesting and exciting future research opportunities. [14] B. Cleary, C. Gomez, M.-A. Storey, L. Singer, and C. Treude. Analyzing the friendliness of exchanges in an online software developer community. In 6th Int. 8. ACKNOWLEDGMENTS Workshop Cooperative and Human Aspects of Software We thank Cassandra Petrachenko for editing support, Engineering (CHASE2013), pages 159–160, 2013. Daniel German for stimulating discussions and feedback on [15] L. Dabbish, C. Stuart, J. Tsay, and J. Herbsleb. Social our paper, and Jim Herbsleb, Elisabetta Di Nitto and coding in GitHub: transparency and collaboration in Alfonso Fuggetta for detailed suggestions. Finally, we an open software repository. In Proc. ACM 2012 Conf. thank the survey respondents for sharing their insights. Comput. Supported Cooperative Work, pages 1277–1286. ACM, 2012. 9. REFERENCES [16] T. DeMarco and T. Lister. Peopleware: Productive [1] A. Archambault and J. Grudin. A longitudinal study Projects and Teams. Addison-Wesley, 1987. of facebook, , and twitter use. In Proc. [17] S. Deterding, M. Sicart, L. Nacke, K. O’Hara, and SIGCHI Conf. Human Factors in Systems D. Dixon. Gamification. using game-design elements (CHI ’12), pages 2741–2750, NY, USA, 2012. ACM. in non-gaming contexts. In PART 2—Proc. 2011 [2] O. Barzilay, O. Hazzan, and A. Yehudai. Using social annual conf. extended abstracts Human factors in media to study the diversity of example usage among computing systems, pages 2425–2428. ACM, 2011. professional developers. In Proc. 19th ACM SIGSOFT [18] P. Dourish and M. Chalmers. Running out of space: Symposium and the 13th European Conf. Foundations Models of information navigation. In Proc. of HCI ’94, of Software Engineering, ESEC/FSE ’11, pages Glasgow, Scotland, 1994. ACM Press. 472–475, New York, USA, 2011. ACM. [19] K. Dullemond, B. van Gameren, M.-A. Storey, and [3] A. Begel, J. Bosch, and M.-A. Storey. Social A. van Deursen. Fixing the “out of sight out of mind” networking meets software development: Perspectives problem: One year of mood-based microblogging in a from github, msdn, stack exchange, and topcoder. distributed software team. In Proc. 10th Working Software, IEEE, 30(1):52–66, 2013. Conf. Mining Software Repositories, MSR ’13, pages [4] C. Bird, A. Gourley, P. Devanbu, M. Gertz, and 267–276, Piscataway, NJ, USA, 2013. IEEE Press. A. Swaminathan. Mining email social networks. In [20] J. Fried and D. H. Hansson. Remote: Office Not Proc. 2006 Int. Workshop Mining Software Required. Ebury Digital, 2013. Repositories, MSR ’06, pages 137–143, New York, [21] E. Gilbert. Widespread underprovision on reddit. In USA, 2006. ACM. Proc. 2013 Conf. Comput. Supported Cooperative [5] S. Black, R. Harrison, and M. Baldwin. A survey of Work, CSCW ’13, pages 803–808, New York, USA, social media use in software systems development. In 2013. ACM. Proc. 1st Workshop Web 2.0 for Software Engineering, [22] M. Goldman, G. Little, and R. C. Miller. Real-time pages 1–5. ACM, 2010. collaborative coding in a web ide. In Proc. 24th annual [6] S. B. Bongey, G. Cizadlo, and L. Kalnbach. ACM symposium software and Explorations in course-casting: Podcasts in higher technology, pages 155–164. ACM, 2011. education. Campus-wide information systems, [23] C. Gutwin, R. Penner, and K. Schneider. Group 23(5):350–367, 2006. awareness in distributed software development. In [7] G. Bougie, J. Starke, M.-A. Storey, and D. M. Proceedings of the 2004 ACM Conference on German. Towards understanding twitter use in Computer Supported Cooperative Work, CSCW ’04, software engineering: Preliminary findings, ongoing pages 72–81, New York, NY, USA, 2004. ACM. challenges and future questions. In Proc. 2Nd Int.

114 [24] A. Guzzi, A. Bacchelli, M. Lanza, M. Pinzger, and Enterprise social media: Definition, history, and A. van Deursen. Communication in open source prospects for the study of social technologies in software development mailing lists. In Proc. 10th Int. organizations. Journal of Computer-Mediated Workshop Mining Software Repositories, pages Communication, 19(1):1–19, 2013. 277–286. IEEE Press, 2013. [39] K. Lerman. User participation in social media: Digg [25] A. Guzzi, M. Pinzger, and A. van Deursen. Combining study. In Web Intelligence and Intelligent Agent micro-blogging and ide interactions to support Technology Workshops, 2007 IEEE/WIC/ACM Int. developers in their quests. In Software Maintenance Conf., pages 255–258, 2007. (ICSM), 2010 IEEE Int. Conf. Soft. Maintenance, [40] B. Leuf and W. Cunningham. The Way: Quick pages 1–5, 2010. Collaboration on the Web. Addison-Wesley [26] M. Handel and J. D. Herbsleb. What is chat doing in Professional, 2001. the workplace? In Proceedings of the 2002 ACM [41] P. Louridas. Using wikis in software development. Conference on Computer Supported Cooperative Work, IEEE Software, 23(2):88–91, 2006. CSCW ’02, pages 1–10, New York, NY, USA, 2002. [42] L. Mamykina, B. Manoim, M. Mittal, G. Hripcsak, ACM. and B. Hartmann. Design lessons from the fastest q&a [27] J. Herbsleb and D. Moitra. Global software site in the west. In Proc. SIGCHI Conf. Human development. Software, IEEE, 18(2):16–20, 2001. Factors in Computing Systems, CHI ’11, pages [28] J. D. Herbsleb, D. L. Atkins, D. G. Boyer, M. Handel, 2857–2866, New York, USA, 2011. ACM. and T. A. Finholt. Introducing instant messaging and [43] J. Marlow and L. Dabbish. Activity traces and signals chat in the workplace. In Proceedings of the SIGCHI in software developer recruitment and hiring. In Proc. Conference on Human Factors in Computing Systems, 2013 Conf. Comput. Supported Cooperative Work, CHI ’02, pages 171–178, New York, NY, USA, 2002. CSCW ’13, pages 145–156, NY, USA, 2013. ACM. ACM. [44] J. Marlow, L. Dabbish, and J. Herbsleb. Impression [29] Z. Holman. How github works: Be asynchronous. formation in online peer production: Activity traces http://zachholman.com/posts/ and personal profiles in github. In Proc. 2013 Conf. how-github-works-asynchronous, 2011. Comput. Supported Cooperative Work, CSCW ’13, [30] H. Jenkins, K. Clinton, R. Purushotma, A. J. pages 117–128, New York, USA, 2013. ACM. Robison, and M. Weigel. Confronting the challenges of [45] A. E. Marwick and D. Boyd. I tweet honestly, i tweet participatory culture: Media education for the 21st passionately: Twitter users, context collapse, and the century. imagined audience. New Media & Society, http://digitallearning.macfound.org/atf/cf/ 13(1):114–133, 2011. %7B7E45C7E0-A3E0-4B89-AC9C-E807E1B0AE4E%7D/ [46] M. McLuhan and Q. Fiore. The medium is the JENKINS_WHITE_PAPER.PDF, 2006. message. New York, 1967. [31] E. Kalliamvakou, G. Gousios, K. Blincoe, L. Singer, [47] A. Mockus, R. T. Fielding, and J. D. Herbsleb. A case D. M. German, and D. Damian. The promises and study of open source software development: the perils of mining github. In 2014 11th Working apache server. In Software Engineering, 2000. Proc. Conference on Mining Software Repositories (MSR) 2000 Int. Conf., pages 263–272, 2000. (to appear), 2014. [48] A. Mockus, R. T. Fielding, and J. D. Herbsleb. Two [32] R. Kazman and H.-M. Chen. The metropolis model a case studies of open source software development: new logic for development of crowdsourced systems. Apache and mozilla. ACM Trans. Softw. Eng. Communications of the ACM, 52(7):76–84, July 2009. Methodol., 11(3):309–346, July 2002. [33] S. Lakhal, H. Khechine, and D. Pascot. Evaluation of [49] P. Naur and B. Randell, editors. Software the effectiveness of podcasting in teaching and Engineering: Report of a Conference Sponsored by the learning. In World Conf. E-Learning in Corporate, NATO Science Committee, Garmisch, Germany, Oct. Government, Healthcare, and Higher Educ., volume 1968. NATO. 2007, pages 6181–6188, 2007. [50] G. M. Olson and J. S. Olson. Distance matters. [34] C. Lampe and P. Resnick. Slash(dot) and burn: Hum.-Comput. Interact., 15(2):139–178, Sept. 2000. Distributed moderation in a large online conversation [51] D. Pagano and B. Brugge.¨ User involvement in space. In Proc. SIGCHI Conf. Human Factors in software evolution practice: A case study. In Proc. Computing Systems, CHI ’04, pages 543–550, New 2013 Int. Conf. Software Engineering, ICSE ’13, pages York, USA, 2004. ACM. 953–962, Piscataway, NJ, USA, 2013. IEEE Press. [35] F. Lanubile. as key enabler of [52] D. Pagano and W. Maalej. How do developers blog?: collaborative development environments. An exploratory study. In Proceedings of the 8th http://www.slideshare.net/lanubile/ Working Conference on Mining Software Repositories, lanubilesse2013-25350287, 2013. MSR ’11, pages 123–132, New York, NY, USA, 2011. [36] F. Lanubile, C. Ebert, R. Prikladnicki, and ACM. A. Vizcaino. Collaboration tools for global software [53] S. Park and F. Maurer. The role of blogging in engineering. IEEE Software, 27(2):52–55, 2010. generating a software product vision. In Cooperative [37] J. Lave and E. Wenger. Situated learning: Legitimate and Human Aspects on Software Engineering, 2009. peripheral participation. Cambridge University Press, CHASE ’09. ICSE Workshop, pages 74–77, 2009. 1991. [54] C. Parnin, C. Treude, L. Grammel, and M.-A. Storey. [38] P. M. Leonardi, M. Huysman, and C. Steinfield.

115 Crowd documentation: Exploring the coverage and [69] J. Surowiecki. The Wisdom of Crowds. Doubleday; the dynamics of api discussions on stack overflow. Anchor, 2005. Technical Report GIT-CS-12-05, Georgia Tech, 2012. [70] C. Treude and M.-A. Storey. How tagging helps [55] C. Parnin, C. Treude, and M.-A. Storey. Blogging the gap between social and technical aspects in developer knowledge: Motivations, challenges, and software development. In Software Engineering, 2009. future directions. In Program Comprehension (ICPC), ICSE 2009. IEEE 31st Int. Conf., pages 12–22, 2009. 2013 IEEE 21st International Conference on, pages [71] C. Treude and M.-A. Storey. Awareness 2.0: Staying 211–214, May 2013. aware of projects, developers and tasks using [56] I. Peters. Folksonomies: Indexing and Retrieval in dashboards and feeds. In Proc. 32Nd ACM/IEEE Int. Web 2.0. De Gruyter, 2009. Conf. Software Engineering, volume 1 of ICSE ’10, [57] R. Pham, L. Singer, O. Liskin, F. Figueira Filho, and pages 365–374, New York, USA, 2010. ACM. K. Schneider. Creating a shared understanding of [72] J. Tsay, L. Dabbish, and J. D. Herbsleb. Social media testing culture on a social coding site. In Proc. 2013 in transparent work environments. In Cooperative and Int. Conf. Software Engineering, ICSE ’13, pages Human Aspects of Software Engineering (CHASE), 112–121, Piscataway, NJ, USA, 2013. IEEE Press. 2013 6th Int. Workshop, pages 65–72, 2013. [58] N. Postman. The reformed english curriculum. In [73] A. van Deursen, A. Mesbah, B. Cornelissen, A. C. Eurich, editor, High school 1980: the shape of A. Zaidman, M. Pinzger, and A. Guzzi. Adinda: a the future in American secondary education. Pitman knowledgeable, browser-based ide. In Proc. 32nd Pub. Corp., 1970. ACM/IEEE Int. Conf. Software Engineering-Volume [59] E. S. Raymond. The Cathedral and the Bazaar: 2, pages 203–206. ACM, 2010. Musings on Linux and Open Source by an Accidental [74] B. Vasilescu, A. Capiluppi, and A. Serebrenik. Revolutionary. O’Reilly Media, 2001. Gender, representation and online participation: A [60] W. Reinhardt. Communication is the key - support quantitative study of stackoverflow. In Int. Conf. durable knowledge sharing in software engineering by Social Informatics. ASE, 2012. microblogging. In Software Engineering (Workshops), [75] D. M. Virasoro, P. Leonard, and M. Weal. An analysis volume 150 of LNI, pages 329–340. GI, 2009. of social news websites. In Proc. ACM WebSci’11. [61] E. Ries. The Lean Startup: How today’s entrepreneurs ACM, June 2011. use continuous innovation to create radically successful [76] X. Wang, I. Kuzmickaja, K.-J. Stol, P. Abrahamsson, businesses. Random House Digital, Inc., 2011. and B. Fitzgerald. Microblogging in open source [62] P. C. Rigby, B. Cleary, F. Painchaud, M.-A. Storey, software development: The case of drupal using and D. M. German. Contemporary peer review in twitter. IEEE Software, 99(PrePrints):1, 2013. action: Lessons from open source development. IEEE [77] M. M. Wasko and S. Faraj. “It is what one does”: why Software, 29(6):56–61, 2012. people participate and help others in electronic [63] P. C. Rigby and M.-A. Storey. Understanding communities of practice. The Journal of Strategic broadcast based peer review on open source software Inform. Systems, 9(2-3):155 – 173, 2000. projects. In Proc. 33rd Int. Conf. Software [78] G. Weinberg. The Psychology of Computer Engineering, ICSE ’11, pages 541–550, New York, Programming. Van Nostrand-Reinhold, 1971. USA, 2011. ACM. [79] E. C. Wenger and W. M. Snyder. Communities of [64] M. Shaw. Three patterns that help explain the practice: The organizational frontier. Harvard business development of software engineering. In Dagstuhl review, 78(1):139–146, 2000. Seminar 9635 on History of Software Engineering, [80] J. Whitehead. Collaboration in software engineering: pages 52–56, 1996. A roadmap. In 2007 Future of Software Engineering [65] L. Singer, F. Figueira Filho, B. Cleary, C. Treude, (FOSE ’07), pages 214–225, Washington, DC, USA, M.-A. Storey, and K. Schneider. Mutual assessment in 2007. IEEE Computer Society. the social programmer ecosystem: An empirical [81] J. Whitehead, I. Mistr´ık, J. Grundy, and A. van der investigation of developer profile aggregators. In Proc. Hoek. Collaborative Software Engineering: Concepts 2013 Conf. Comput. Supported Cooperative Work, and Techniques, chapter 1, pages 1–30. Springer Berlin CSCW ’13, pages 103–116, NY, USA, 2013. ACM. Heidelberg, 2010. [66] L. Singer, F. Figueira Filho, and M.-A. Storey. [82] D. W. Wilson. Monitoring technology trends with Software Engineering at the Speed of Light: How podcasts, and twitter. Library Hi Tech News, Developers Stay Current Using Twitter. In 25(10):8–22, 2008. Proceedings of the 2014 International Conference on [83] A. Zagalsky, O. Barzilay, and A. Yehudai. Example Software Engineering (to appear), 2014. overflow: Using social media for code recommendation. [67] T. Standage. Writing on the Wall: Social Media-The In Recommendation Systems for Software Engineering First 2,000 Years. Bloomsbury Publishing, 2013. (RSSE), 2012 3rd Int. Workshop, pages 38–42, 2012. [68] M.-A. Storey, L.-T. Cheng, I. Bull, and P. C. Rigby. [84] J. Zhang, Y. Qu, J. Cody, and Y. Wu. A case study of Waypointing and social tagging to support program micro-blogging in the enterprise: use, value, and navigation. In CHI ’06 Extended Abstracts on Human related issues. In Proc. SIGCHI Conf. Human Factors Factors in Computing Systems, CHI EA ’06, pages in Computing Systems, pages 123–132. ACM, 2010. 1367–1372, New York, USA, 2006. ACM.

116