A Philosophy of Software Design
John OusterhoutCurrently reading
Reading this slowly, a chapter at a time, alongside whatever I'm building that week. The chapters on complexity as the root problem — rather than any single coding practice — are worth the price of the book on their own.