Reverse engineering is mostly a side interest of mine, but I do have a bad habit of overestimating the complexity of the bugs I encounter and launch into reverse engineering software to figure out why it's not working properly.
I actually work on compilers, so training myself on reverse engineering isn't totally useless, especially since a lot of what I like is about the pattern recognition of more advanced compiler features. And if you're trying to retrofit high-level optimizations in a low-level backend, reverse engineering the high-level structures is exactly what you need.