Two book recommendations
Designing Data Intensive Applications: Don’t let the name fool you. The knowledge in this book applies to more than
just data processing applications but to distributed systems in general. It is a great book for all software architects.
Making Software: What Really Works, and Why We Believe It: A meta-analysis of various theories on software development
processes. Is TDD effective? Is Agile just a hype or is it just misused? Which code metrics are actually useful? There
are evidence-based answers to many of these questions.