ResearchPapers

List of must-read research papers for senior software engineers

Distributed Systems and Databases

  1. MapReduce: Simplified data processing on large clusters
    Read Here

  2. TAO: Facebook’s distributed data store for the social graph
    Read Here

  3. Google File System: A scalable distributed file system
    Read Here

  4. BigTable: A distributed storage system for structured data
    Read Here

  5. Google Spanner: Google’s globally distributed database
    Read Here

  6. Amazon Dynamo: Amazon’s highly available key-value store
    Read Here

  7. Kafka: A distributed messaging system for log processing
    Read Here

  8. Chubby: The lock service for loosely coupled distributed systems
    Read Here

  9. CAP Theorem: Perspectives on the CAP theorem
    Read Here

  10. Raft: An understandable consensus algorithm
    Read Here

  11. The Part-Time Parliament: Paxos consensus algorithm
    Read Here

  12. Scaling Memcache at Facebook: Distributed cache architecture
    Read Here


Programming Paradigms and Theories

  1. Out of the Tar Pit: Functional programming to keep it simple
    Read Here

  2. The Next 700 Programming Languages: A universal framework for language design
    Read Here

  3. TLA+: Modeling concurrent and distributed systems
    Read Here


Cryptography and Blockchain

  1. Bitcoin: A Peer-to-Peer electronic cash system
    Read Here

Scalability and Data Structures

  1. Log Structured Merge Tree: Data structure for efficiently storing key-value pairs
    Read Here

  2. Consistent Hashing: Distributed caching protocols for relieving hot spots
    Read Here


Cluster Management and Scheduling

  1. Borg: Google’s cluster management system
    Read Here

Other Recommendations

  1. ZooKeeper: Distributed coordination service
    Read Here

  2. Reactive Manifesto: Principles for reactive systems
    Read Here

  3. F1: Google’s scalable RDBMS for AdWords
    Read Here

  4. Apache Cassandra: A decentralized structured storage system
    Read Here


GitHub Repository for Reference

If you’re interested in exploring or contributing to open-source implementations inspired by these papers, check out:
GitHub Repository

This repository hosts collections of research papers and implementations across various topics.