Papers
Relatively few Staff-plus Engineers are avid readers of Computer Science papers. However, most are familiar with a handful of foundational papers, and the small subset who do spend time reading papers tend to get quite a bit out of it.
If you aspire to join the category of frequent paper readers, there’s no better place than Adrian Colyer’s the morning paper, which will send you a summary of a computer science paper every weekday. If you’re more interested in getting some foundational exposure to some well-known papers, first read one of How to Read an Academic Article by Peter Klein or How to Read a Paper by S. Keshav, and then jump into this list of recommended papers:
- Dynamo: Amazon’s Highly Available Key-value Store
- On Designing and Deploying Internet-Scale Services
- No Silver Bullet – Essence and Accident in Software Engineering
- Out of the Tar Pit
- The Chubby lock service for loosely-coupled distributed systems
- Bigtable: A Distributed Storage System for Structured Data
- Raft: In Search of an Understandable Consensus Algorithm
- Paxos Made Simple
- SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol
- Hints for Computer System Design
- Big Ball of Mud
- The Google File System
- CAP Twelve Years Later: How the Rules Have Changed
- Harvest, Yield, and Scalable Tolerant Systems
- MapReduce: Simplified Data Processing on Large Clusters
- Dapper, a Large-Scale Distributed Systems Tracing Infrastructure
- Kafka: a Distributed Messaging System for Log Processing
- Large-scale cluster management at Google with Borg
- Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center
- Love classic papers?
- 1978: Communicating Sequential Processes
- 2003: The Google File System
- 2004: MapReduce: Simplified Data Processing on Large Clusters
- 2006: Bigtable: A Distributed Storage System for Structured Data
- 2006: The Chubby Lock Service for Loosely-Coupled Distributed Systems
- 2007: Dynamo: Amazon’s Highly Available Key-value Store
- 2007: What Every Programmer Should Know About Memory (very long, and the author encourages skipping of some sections)
- 2010: Dapper, a Large-Scale Distributed Systems Tracing Infrastructure
- 2010: Dremel: Interactive Analysis of Web-Scale Datasets
- 2012: Google’s Colossus
- 2012: AddressSanitizer: A Fast Address Sanity Checker:
- 2013: Spanner: Google’s Globally-Distributed Database:
- 2014: Machine Learning: The High-Interest Credit Card of Technical Debt
- 2015: Continuous Pipelines at Google
- 2015: High-Availability at Massive Scale: Building Google’s Data Infrastructure for Ads
- 2015: TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems
- 2015: How Developers Search for Code: A Case Study
- 2016: Borg, Omega, and Kubernetes
- 2 Minute Papers
- Bell System Technical Journal, 1922-1983
- Best Paper Awards in Computer Science
- Google Scholar (choose a subcategory)
- Microsoft Research
- Functional Programming Books Review
- MIT’s Artificial Intelligence Lab Publications
- MIT’s Distributed System’s Reading Group
- arXiv Paper Repository
- SciRate
- cat-v.org
- y-archive
- netlib
- Services Engineering Reading List
- Readings in Distributed Systems
- Gradual Typing Bibliography
- Security Data Science Papers
- Research Papers from Robert Harper, Carnegie Mellon University
- Lobste.rs tagged as PDF
- The Morning Paper