Research In Production
A collection of computer science and engineering research papers categorized by real-world systems that enact them.
FAQ
What is this?
Engineering as a discipline is driven by a healthy balance between research and development. Within the realm of computer science and engineering, I think that there is too often a disconnect between the two halves of this equation. The research side is often accused of lacking context to the trials and tribulations of "real-world" developers. Conversely, developers largely take for granted the debt owed to the researchers upon whose work they rely.
Research In Production is an attempt to bolster appreciation for the research side of R&D by shedding light on some of the academic and industrial research behind commonly-used softare systems.
Most non-trivial software systems* are powered by concepts and techniques that came into being after a group of people put a lot of effort into thinking their way through a tough problem. These concepts are typically hidden beneath the surface of abstractions and are thus not easily appreciable. When writing a program, you probably don't have time or motivation to dig into exactly how a data structure handles concurrency or what happens to all the objects you're wantonly creating.
This project is for those that want to go deeper, whether for the simple satisfaction of knowing how a thing works or to level up their ability to build systems.
The common wisdom directed at newcomers looking to get involved in open source software is to pick a project that they use and contribute to it by knocking out documentation and tests. Along similar lines, I think a good way to dip one's toes into research literature is to dig into papers related to systems that they already use. This could involve some aspect of a programming language, a library, or a database that you've used to build something in the past.
Every software developer benefits from academic and industrial research. Research In Production is for those that want to know how.
* "System" is a generic term. Programming languages are highlighted in the first rendition of this project, but this approach could just as easily be applied to any technological artifact.
But Papers We Love is already a thing!
Papers We Love is fantastic. Research In Production shares its motivations in fostering community around publications, but with a narrower focus on publications that directly relate to commonly-used software systems.
Ideally this project would complement PWL by organizing a subset of its literature by the systems that put it into practice.
Where do the lists come from?
If you know of a software project that leverages research topics in production systems, then it warrants a spot in this project.
Research In Production was seeded with content from existing lists put together by Alex Denisov and Matt Warren. I added a list for a project that I used to work on and I encourage you to do the same.
Contributing
See CONTRIBUTING.md.