Skip to content

MaxWenzel/books-and-papers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 

Repository files navigation

Books and Papers

Must-read books and papers for developers

Books

Essentials

These are the essentials; any first-year junior developer should have read them:

  • Thomas & Hunt, The Pragmatic Programmer: Probably the first book anyone should read. Lots of solid advice on how to become a professional software developer who gets stuff done.
  • Martin, Clean Code: Writing code so that not only the compiler understands it. Essential practices that will shape your own style and required reading in many development organizations.
  • Bloch, Effective Java: If you're programming Java, you have to read this book. Best Practices on how to use the language by Josh Bloch, who designed many features in modern Java.

Advanced Topics

Pick and choose depending what you need and/or are interested in:

Online

Free eBooks

Papers

You can find many of the following papers also here: Papers we love

Actors

AI

Amazon

Difference

Data

Google

  • Large-scale cluster management at Google with Borg: Google's Borg system is a cluster manager that runs hundreds of thousands of jobs, from many thousands of different applications, across a number of clusters each with up to tens of thousands of machines.
  • The Google File System: a scalable distributed file system for large distributed data-intensive applications. It provides fault tolerance while running on inexpensive commodity hardware, and it delivers high aggregate performance to a large number of clients.
  • Bigtable: A Distributed Storage System for Structured Data: Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers.
  • Dapper, a Large-Scale Distributed Systems Tracing Infrastructure: Modern Internet services are often implemented as complex, large-scale distributed systems. These applications are constructed from collections of software modules that may be developed by different teams, perhaps in different programming languages, and could span many thousands of machines across multiple physical facili- ties. Tools that aid in understanding system behavior and reasoning about performance issues are invaluable in such an environment.
  • Spanner: Spanner is Google’s scalable, multiversion, globally distributed, and synchronously replicated database.
  • Why Google Stores Billions of Lines of Code in a Single Repository: Google's monolithic repository provides a common source of truth for tens of thousands of developers around the world.
  • Spanner, TrueTime and the CAP Theorem: Spanner is Google's highly available global-scale distributed database. It provides strong consistency for all transactions. This combination of availability and consistency over the wide area is generally considered impossible due to the CAP Theorem. We show how Spanner achieves this combination and why it is consistent with CAP. We also explore the role that TrueTime, Google's globally synchronized clock, plays in consistency for reads and especially for snapshots that enable consistent and repeatable analytics.
  • MapReduce: MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key.
  • Borg, Omega, and Kubernetes: Lessons learned from three container-management systems over a decade

Misc

Security

Resources

  • arXiv.org: arXiv is a free distribution service and an open-access archive for scholarly articles in the fields of physics, mathematics, computer science, quantitative biology, quantitative finance, statistics, electrical engineering and systems science, and economics. Materials on this site are not peer-reviewed by arXiv.
  • Google Research
  • Resources on Software Architecture

About

Must-read books and papers for developers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published