I just finished reading Software Conflict 2.0 by Robert L. Glass (published by DeveloperDotStar). It's not really a Ruby book, but I think it's worth a read by most of the Ruby hackers I know. (I'v already recommended it to several in person — and now I'm recommending it to you.) The back cover calls this a neglected classic, a commment I agree with. I'm sad to say that I'd never heard of this book before I got it, but it certainly reads like a classic and belongs on my shelf with other books of its class.
Software Conflict 2.0 might be a new edition of a
twenty-five fifteen (written in 1991) year old book about the state of software engineering, but its focus is on the ideas behind technology have helped it withstand the test of time. It's made up of six groups of essays (sixty in all) about timeless topics. Instead of updating the individual essays, Robert Glass has written a retrospective for each section. This approach works quite well. I was surprised at how often I would read an essay and think "Wow, that really foreshadows Agile programming" (or Open Source Software, or whatever), and then found the retrospective echoing my thoughts.
This might not be a book that sits on your desk, ready to guide you through your day to day work. It should be on your reading list though, ready to guide you on an engaging journey through the foundations of software development. It'll make you a better Ruby programmer, not because it will improve your Ruby skills, but because it improves your programming.
Updated Daniel Read of DeveloperDotStar was kind enough to point out that I completely botched the age of the original edition. I've updated it above. Thanks Daniel.