Kleppmann's Designing Data-Intensive Applications was one of the best technical books I've ever read. Perfect mix of theory and practice for someone who understands the web stack but doesn't understand how distributed systems are built.