Recommended Reading for Developers (2004)
blog.codinghorror.com
blog.codinghorror.com
Similar book, The Evolution of Useful Things by Henry Petroski, was a bit more to the point, even though there is also plenty of philosophy on design, success and failure.