Author(s): Kevlin Henney, Trisha Gee & others
Creating a very direct association with an existing book or line of books is a good marketing technique, but doesn't guarantees quality. This book does it, and kind of exemplifies why I sometimes prefer quality over quantity.
The book follows the same 97 Things Every Programmer Should Know pattern: 97 tips, each 2-3 pages long, from very varied topics, not only focused on Java itself. A sample of the topics included are language features, testing, documentation, pragmatism, JVM tuning & optimizations, architecture, tools, teamwork, CI, concurrency and parallelism, debugging, interop, Kotlin and Groovy...
Some of the content is overly generic... and in those cases, often not even Java specific, which is not bad on itself, but I wanted Java tips, I already read the "generic programmer" version book. And when I say "some" I mean as a rough estimate half of the tips. Also a few tips are so similar they feel repeated. And my final complaint is that some topics that appear to be really interesting (like the actor model, concurrency or Groovy) are so briefly touched that feel a mere mention more than a tip.
That said, the actual Java tips are good, at least to somebody like me with not much experience with the language. I took quite a few notes and got topics to now study in depth, so the main goal of of waking up my curiosity was achieved. But I would have preferred a "50 tips" version, all of them focused on the language.