Books
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems - Martin Kleppmann
- Streaming Systems: The What, Where, When, and How of Large-Scale Data Processing - Tyler Akidau et. al.
- A Philosophy Of Software Design - John Outsterhout
- Site Reliability Engineering: How Google Runs Production Systems
- Database Internals: A Deep Dive into How Distributed Data Systems Work - Alex Petrov
- High performance in MySQL - Baron Schwartz et. al.
- Concurrency in Go: Tools and Techniques for Developers - Katherine Cox-Buday
- Effective Java - Joshua Bloch
- Java Puzzlers: Traps, Pitfalls, and Corner Cases - Joshua Bloch; Neal Gafter