The Reading Is - Design Patterns: Elements of Reusable Object-Oriented Software
Think in a world without standards, think in a world where knowledge about software are powdered to isolated groups and everyone was struggling with your own homebrew solutions to solve the same kind of problems, this is the world that existed at beginning of 1990s and give origin to this book. 
Tags: designpatterns, architecture, bestpractices, cleancode