When talking about the computer science research papers with other software engineers, I get a lot of comments to the effect of, “Neat! I wish I read papers, but … (I don’t).” Many of these comments were followed by “…and I feel some imposter syndrome over the fact that I don’t.”
Do software engineers and/or professional programmers read CS research papers?
After having a couple of these conversations, I was curious, so I polled my Twitter followers. The results were pretty even, at 45% yes / 55% no.
tldr; I think that most programmers don’t read CS research papers. This makes sense! Research papers are their own genre, and reading papers is a skill that requires time, effort, and practice.
One of my professors assigned us this How to Read a Paper paper. It’s really useful and I’d recommend it to anyone who struggles with the research paper format.
Anyway, this got me thinking about whether or not working programmers read computer science research, and why.
Why is it useful to read papers?
- Get new ideas.
- Build up confidence critiquing ideas. Sometimes you read a paper and think, “why did they do that?” Discussing papers can be great practice for learning how to critique others’ proposals or designs.
- Get a sense for the “state of the art”. Some people will tell you that papers are usually several years behind “today’s” tech. But that doesn’t mean they aren’t useful - reading papers can give you a sense of what currently-understood thinking in a field is.
- Build up knowledge in a new area. If you don’t know much about a given topic area, beginning with a literature survey can be fun.
- Learn the history of a field. There are some papers that are historically significant, and reading them will give you more context.
Why isn’t it useful to read papers?
Industry moves too fast / research papers are usually outdated. This is probably true a lot of the time! But then it begs the question: where are you positioned, industry-wide? If you’re working on cutting-edge stuff at your day job, cool. But you’re just one person, working at one organization. How are you keeping track of other companies’ cutting-edge work? (Conferences? Meetups? Twitter? Blog posts?)
Reading papers is hard / not worth my time. Legit! I can’t really argue with this one.
There isn’t useful research in my field. Also possible, if your particular kind of work isn’t addressed by academia.
Should you read papers?
For the general “you”, as usual, I think the answer is “you’re not obligated to do anything”.
In general I like to always be learning things, and studying what other people are doing. Papers are one source of this kind of information, but far from the only source, or even the best one. I try to fill my feed with a diversity of sources for this kind of thing: Twitter, RSS feeds from individual blogs, recommendations from my friends, conversations at meetups, conference talks, etc, etc…
(I’m not recommending that anyone spend all their free time on this, either. IMO trying to learn more things is a legitimate use of work-time!)
By that metric, I should be reading papers because it’s one more source of information, and I personally find it to be interesting/valuable from time to time. Should you read papers? I dunno! I think it’s something that depends a lot on your individual goals, preferences, and interests.
Some links if you’re interested in reading more papers:
- the morning paper - a blog that describes + links to one CS paper per weekday
- Papers We Love - a repo of computer science papers, and a community of people who love reading them
And some papers I’ve read lately:
- Scuba: Diving into Data at Facebook
- Multiphase Numerical Modeling of Dendritic Solidification for Jigsaw Puzzle Generation
- The Byzantine Generals Problem