I spend most of my programming time working on the back end of systems but have been called on to contribute to user interface portions of solutions. I'll admit that UX is not a passion of mine but I thought it would be wise to better understand the thinking that goes into creating a usable interface, so I picked up a copy of the book. At the very least, it would allow me to better contribute in meetings when I get asked my opinion on which option I think is best.
Much like the rest of the software engineering world, there is no "one way to rule them all". You have to understand what is out there, try something and test, test, test. The book is split into techniques and ideas where techniques are concrete steps you can use to create a usable interface, such as paper prototyping. Ideas, on the other hand, are more abstract and general covering topics such as how to write usable text or animations. Being a UX newbie, most of the ideas in the book were new to me and I found them to be very interesting. I especially liked the notion of capturing your user's context prior to exiting an application in an attempt to determine if they succeeded in their task or gave up frustrated. Tracking what features your users actually use was also interesting probably because I've been in many discussions over adding complexity to a feature that nobody uses. Maybe there are ways to prove or disprove that assertion? Apparently, much of UX is testing your design and getting useful feedback and there are discussions on various ways to do that.
Overall, I found the book to be useful as it gave me broad coverage in the topic and pointed me to resources in case I wanted more depth.