Best part? You have to ask me is that, software is built on a beautiful and powerful abstraction, namely turing machine, if you understand the basics, a lot of knowledge are actually transferable, from seemingly very different positions. After all every operation you do is captured by the underlying mechanism, so nothing intimidating if you are willing to dig it up.