Our teacher based his classes almost completely on this book, so keep in mind that I am probably biased.
While especially the beginning of the book is important to understand for every developer (e.g. arrays, linked-lists, hash-sets, time-complexity, etc.), I found the book to go into an unuseful direction after some time. I am not sure why so many people find it relevant for day-to-day development, but I sincerely hope only very few developers actually implement binary trees by hand for real-world applications.
In my opinion, this book should be more about understanding the concepts of a framework you're using, not about going into the depth required to actually implement it yourself. And is more relevant data-structure related stuff you need to actually use in actual day-to-day development not mentioned in this book, as opposed to covered things like e.g. splay-trees, which I find to be a niche structure you're almost certainly never going to use.
Then again, it is probably more relevant for "low-level" developers that use something like C, but for Java developers (which this book heavily leans on) it shouldn't be such a big deal to manually implement tree-rotations.
I did like the style of the book though. From the presentation of pseudo-code to the visualizations, you can really feel that the authors wanted to provide high-quality material.
Maybe it's unfair to treat the book based on the topic it's covering. And if you focus on the first half, it is a good book that starts off with little knowledge required beforehand and teaches you some vital concepts of software development. But I cannot recommend it further than that.