I read all of the first three volumes and attempted every exercise. It took me a little over three years, and most of the focus was on very low-level stuff like random number generation, arbitrary precision math, sorting (of course) and memory management. The first book is half math and then a lot of the rest discusses his assembler language MIX. The middle third or so of volume 3 discusses how to optimally sort files that are stored on tape (!) that are too large to fit into main memory. So, no... rather than to say the books aren't _useful_ for a practicing programmer, I'd say that there are far, far more productive uses of your time. However, I really enjoyed reading them, and I'm glad I did, and I recommend them to everybody. I think they've made me a better programmer in the sense that I can appreciate what goes into the routines that I'm using, but I doubt I'll ever have cause to prove the runtime bounds of an algorithm like Knuth does.
I have peeked at the two new volumes (4a & 4b) and it looks like they spend a lot of time on graph algorithms, which _are_ contemporary and something you might apply directly. All of the examples are in MMIX (a more modern, but still imaginary, assembler dialect), so if you wanted to jump right into 4A, you'll have to learn MMIX first. You can download the MMIX description off of Knuth's website (https://www-cs-faculty.stanford.edu/~knuth/mmix.html) if you want to dip your toes into Knuth before committing to one of the books.
I had an MSCS when I started, but if you did a STEM undergrad, you should be fine - he actually explains everything you need. Don’t get me wrong: the problems are brain-bendingly difficult, but you don’t need to know how to do them before you start.
I have peeked at the two new volumes (4a & 4b) and it looks like they spend a lot of time on graph algorithms, which _are_ contemporary and something you might apply directly. All of the examples are in MMIX (a more modern, but still imaginary, assembler dialect), so if you wanted to jump right into 4A, you'll have to learn MMIX first. You can download the MMIX description off of Knuth's website (https://www-cs-faculty.stanford.edu/~knuth/mmix.html) if you want to dip your toes into Knuth before committing to one of the books.