I agree with a lot of what Bruce Tate says about software development and the state of Java development, in particular. He seems to be on a crusade against J2EE in general and EJB in particular. He prefers lighter, less invasive solutions.
If you want to read a book about ideas more than details this is your book. If you're looking for the holy grail, magic formula to get better Java then stop now. This won't help. This is a book about concepts. It's a thin book about deep concepts related to software development so it can't ever go in depth. That's by the author's design.
Because of that it is a fairly easy read. You don't need to expend tremendous amounts of concentration following code examples or getting caught up in details. However, at times, it feels like he's waving his hands and saying, "Pay no attention to the man behind the curtain." The reason I say that is many of the ideas he endorses are much easier to say than to do. The devil is in the details and the book is short on those. Because of that it won't really help the beginning programmer and a seasoned programmer has already figured out most of what he's got to say. It seems geared toward to relatively new to moderately experienced programmer. Others may still get something out of it but it won't be as useful.
So, I'd put this in the category of probably worthwhile for most Java developers but your exact mileage may vary.
Started this book a long while ago but never finished until recently, but I mostly just skimmed the last 3 chapters, which were practical examples as well as a conclusion.
A lot of tools and technologies mentioned in the book have undergone many changes, but I think the concepts remained the same. The concepts espoused by the book still remains relevant - something a lot of Java programmers today still fail to grasp. Things like keeping things simple, don't over-engineer, use the right tools, etc.
The book is a bit misnamed though. Yes, it does sort of explain how you can code better, faster, and lighter in Java, but there isn't really that much depth here, something more for the less experienced crowd. So don't go expecting performance-tuning advice or complexity comparisons. It's more accurately described as how to go about designing and developing a piece of software while avoiding some common pitfalls.