I was a voracious reader of programming books prior to reading Stewart Brand's "How Buildings Learn: What Happens After They're Built." However, it was this book that made me (finally) realize that some of the best programming books are not about programming at all. As a result I've cut back drastically on my "language-specific" programming books[1] and have sought programming-relevant books instead.
[1]: And I've made it a personal goal to limit the "language-specific" books to those written before 1995.
Armstrong's book on Erlang (2007) is a great read, so you're missing that. (Erlang itself I haven't really used much, but I like some of the concepts).
Alexandrescu's Modern C++ Design (2001) is a real eye-opener (though I wouldn't use most of the stuff from the latter half of book in real production).
Herb Sutter's books on Exception C++ (1999) are must-reads if you intend to use exceptions. at. all. [Whereupon, these books will convince you not to use exceptions in C++ :-) ]
This looks very interesting, and the applicability to software maintenance seems obvious. Just ordered a used copy with Amazon prime shipping; so thanks for the recommendation.
[1]: And I've made it a personal goal to limit the "language-specific" books to those written before 1995.