Many software developers use Twitter in their work, but how and why exactly do they use it? Why do some developers choose not to use Twitter, and what — if anything — do they use instead? We conducted a qualitative study to investigate these questions in depth.
We — that’s me from the University of Victoria in Canada; Fernando, professor in Natal in Brazil; and Peggy, professor in Victoria and head of the CHISEL Group that I’m also a part of. We’re all interested in how software developers work together, coordinate, learn, and communicate.
We strongly believe that understanding developers’ work practices is the first step to improving these practices, the contexts they’re happening in, and the tools that support them (also: it’s just darn interesting).
Research needs to be grounded in practice — that’s why we chose to survey and interview GitHub users in our study. Our initial exploratory survey received 271 responses, which lead to 27 interviews. We sought to validate our findings with a final survey, which received 1413 responses.
We found three large themes in software developers’ Twitter use: some benefit from it, there are challenges and coping strategies associated with its use, and some don’t use it. A further exploration of the benefits revealed three important areas that Twitter supports developers in: awareness, learning, and relationships.
The rest of this blog post discusses a selection of some aspects of our findings. More details can be found in our technical report linked to at the end of this post.
Note: as we conducted a qualitative study, we’re not making any claims of generalizability. We studied the developers who generously volunteered their time for our study. Our findings may or may not apply in other contexts. This is a known and accepted limitation of Grounded Theory, the research method we used.
“I get most updates, technology-wise, from Twitter actually.”
The first area in which we found Twitter can benefit developers is awareness. Developers follow other developers, projects, news curators, and thought leaders. This allows them to stay aware of new practices and resources in a timely manner and provides them with access to diverse opinions. Developers also promote their own and their projects’ activities — which may in turn help the dissemination of knowledge and an increased adoption of practices and tools.
A particularly popular sentiment was that of following thought leaders of one’s technological niche. Some interviewees argued that if a person with authority finds something important or insightful, it probably is. In this manner, leaders would serve as an efficient source of recommendations.
“But the majority of the people I follow are just […] leaders in whatever it is they do, and it’s just that they usually have a lot of insight […] so I follow a lot of other programmers that I think are pretty awesome and usually have interesting things to say that I would benefit from.”
In our validation survey, 71% of active Twitter users agreed that they follow leaders in their technological niche, and that this allows them to stay current.
Note: In the figure below, (dark) red signifies (strong) disagreement; (dark) green signifies (strong) agreement; neutral answers are not shown.
A sentiment mentioned a few times was that Twitter especially helps with new and fast-moving technologies. One interviewee told us how Twitter helped him stay on top of developments in Node.js when it was still very new:
“It [Node.js] was evolving way faster than I was able to keep up with it. And the only way to keep up was to follow some Node.js people on Twitter. It was remarkable for that.”
A core developer of a popular open source project told us that he uses Twitter with pretty much this intention: to help developers keep up to date with the project and to teach them how to use it. He argued that this would in turn increase the project’s adoption, which would result in more demand for his expertise.
“I think the learning aspect is the most … the greatest value I get from it.”
The second area where we found Twitter can benefit developers is learning. Developers ask and answer questions on Twitter, follow experts to benefit from their experience, and feel that participating in conversations helps them learn. Some interviewees told us that the qualities and constraints of Twitter enabled serendipitous, undirected learning, sometimes giving them access to resources they wouldn’t have been able to find themselves. While participants viewed learning as an investment, they also thought it was fun and rewarding.
In our validation survey, the serendipity aspect garnered the most agreement for the themes in the learning area. 72% of the participants agreed that Twitter helped them learn things they weren’t actively looking for.
Some developers stressed that this sort of learning would serve them as an investment later — they wouldn’t have to look up or research things, as they would’ve heard about them on Twitter already. Others liked that this serendipitous learning could expose them to resources and concepts outside of their usual routines. But even ignoring the practical advantages — several interviewees told us that they just loved to learn new things.
“It’s just a lot fun! That’s why I do it, it’s a passion for learning, I guess. If I don’t have anything to learn, I just get bored.”
Of course, considering the population of our study — active GitHub and Twitter users — it is not unusual that they are interested in learning and trying new things. Still, we were impressed with the passion developers expressed about learning.
The third area we found in which Twitter can benefit developers is relationships with other developers. Twitter can help them discover interesting developers, as well as achieve trust and rapport with distant colleagues — whether those are co-workers in the same company or just peers working on related open source projects in their spare time. Some developers consciously manage their own image on Twitter, as it can provide them with validation and feedback of their work and might even let them access job opportunities. Others use Twitter to build communities around technologies they care about.
In our validation survey, we found differing levels of agreement across the relationship-related themes. For example, many Twitter users agreed or strongly agreed that Twitter would help them discovering interesting developers.
Another theme was that Twitter helps building trust and rapport with other developers. For example, one interviewee told us how simply knowing about some private tidbits from a remote colleague via his tweets would make the rare in-person meetings much less awkward. This idea was shared by less, but still a notable number of validation survey participants — 452 developers (49%) agreed or strongly agreed.
A third example for a relationship theme is that of accessing job opportunities. One interviewee told us that he had found several consulting jobs through retweets from others. Another told us that Twitter helped him make local connections:
“Indirectly, I ended up in this job through Twitter. By getting to know some of the other developers in Vancouver and knowing who is hiring and things like that.”
This sentiment garnered the least agreement out of all the sentiments in our validation survey — only 28% (260 developers) agreed. A whopping 44% disagreed.
We have a few suspicions about this score. For example, this sentiment might be very specific to people who are looking for jobs and who are attractive to employers and who are using Twitter very successfully. We hope to look at this and a few other things in a follow-up study.
Challenges & Coping Strategies
We have given a few examples from our study that show how Twitter can provide value to software developers. But we also wanted to know which challenges developers have to face when using Twitter — and how they cope with them.
One important challenge we found is to maintain a relevant network. A strategy for building one’s network is to follow thought leaders from one’s technological niche. Survey participants told they would then look at whom these leaders mentioned and retweeted and follow those. This would help them grow their network organically.
“I guess the major motive of me finding other people to follow is through expanding my existing network. So I follow person A, they follow person B. And working outward like that.”
However, each additional user will increase the volume of content in one’s timeline — developers therefore said to be considerate when deciding whether to follow someone. On the other hand, following someone was sometimes mentioned as being only on a trial basis. Some developers told has that they had a routine to regularly go through their following list and unfollow irrelevant or high-volume tweeters from their timelines.
Another challenge lies in consuming the content. Developers reported a number of different strategies they used to stay on top of their timelines, such as filtering out content containing certain keywords, using others’ profile pictures as a visual guide to more quickly skim their timelines, or skimming regularly and often. Others reported that they did not even try to read every tweet but just looked at what was at the top of their timeline. In our validation survey, developers were divided about feeling overwhelmed — so either those reading strategies work, or many overwhelmed users just stopped using Twitter.
Still, these are a few hundred developers that might feel overwhelmed by Twitter, so it is at least a problem for some. Maybe they could benefit by regularly pruning their following lists and adopting one of the skimming techniques mentioned above.
Another problem developers talked about was that Twitter doesn’t allow for long discussions, which can be challenging for technical discussions. Many therefore switched to alternative channels for longer discussions:
We also asked which channels developers switch to for long discussions:
It seems like they mostly switch to email and chat. Many also use blogs and blog comments. Interestingly, meeting in person is only on fourth place!
Reasons For Not Using Twitter
Finally, we were interested why some developers don’t use Twitter. In light of all the benefits mentioned above, their reasons could help us understand the contexts in which Twitter can and cannot be helpful.
For one, study participants were concerned about being exposed to too much noise and distraction.
“It’s a time sink. It just consumes a lot of time to read.”
A few simply had no choice than to adopt an alternative channel, as that would be where their peers are — such as when they lived in countries where other microblogging services were more popular than Twitter. This was a problem for an Asian developer who wanted to connect with the English-speaking Python community, but at the same time had to use Plurk to stay connected locally. In the end, she chose not to use Twitter.
Some study participants said that they disliked the 140 character constraint:
“Posts are too short, with almost zero context, with a low signal to noise ratio. I want full articles, preferably with media embedded so I don’t have to make multiple clicks to find out what the post is about.”
Interestingly however, our validation survey found that active Twitter users like this constraint, as it can enforce succinctness.
Successful Twitter usage might thus be correlated with one’s expectations — roughly speaking, the satisfied Twitter users we talked to embraced Twitter for what it is, including its constraints. Those who were less satisfied, however, felt limited by these constraints.
Another group of developers were simply unsure of Twitter’s benefits or saw no need for it:
“I don’t understand it and I don’t see any purpose for it.”
Some of these developers told us about their work contexts, which would often involve rather established technologies or access to experts inside of their organizations — they simply didn’t understand why someone would need to learn from strangers, as they had all the learning resources and help from peers they would need.
In summary, the utility of Twitter for developers seems to be very dependent on context. If a developer works with — or would like to learn — bleeding edge technologies, doesn’t work in an organization that provides access to experts, and needs to network a lot, then Twitter might be beneficial.
Now that we understand better how and why developers do or don’t use Twitter, what can we do with this knowledge — how can it help? For one, we can propose a few simple usage strategies. If you’re working with fast-paced technologies, want to learn a lot and benefit from being part of a community, you could try the following things that our participants told us about:
- Follow leaders in your technological niche.
- Build up your network organically: follow people that those leaders mention or retweet. Extend your network using this strategy.
- Following someone incurs a cost on attention, therefore decide carefully whom you follow.
- Follow others on a trial basis and reevaluate whom you follow regularly.
- Share what you learn about the technology and related practices.
- Use Twitter for short conversations and switch to email or chat for longer discussions.
Apart from deriving guidance for (potential) users, what else does research like ours enable? While I’m super excited about our study and thinks it’s incredibly interesting, what practical impact could it have? It enables us to ask questions like those below.
- Since developers seem to need awareness, learning, and relationships — can developer-oriented sites learn from what works on Twitter to support these needs better?
- Can you create tools or practices that focus on specific aspects of awareness, learning, or relationships? For example, the #pairwithme hashtag uses Twitter as a channel that connects people who want to learn by pairprogramming remotely with strangers. How would that look like for remote consulting jobs or local meetups, for example?
Chime in below — how else do you benefit from Twitter as a developer? What annoys you? Why did you choose not to use Twitter? What cool things could you build based on these results? What other communities, tools, or practices do you think are interesting and should be studied next?
Finally, if you found this post interesting, you might want to take a look at descriptions of other studies we conducted:
- On Testing Culture in GitHub Projects: GitHub makes developers’ actions and interactions more visible. How does this affect testing culture in projects on GitHub?
- Mutual Assessment in the Social Programmer Ecosystem: How do developers assess each other on social media? How do recruiters do the same? See also Peggy’s MSR 2012 keynote on The Evolution of the Social Programmer!
- Take our current survey: How do you communicate and collaborate?
The above was just a selection of our findings. For a more in-depth treatment of our study, please see our report below (PDF).