Note that this article is by the same Greg Egan who wrote Permutation City, a (in my opinion) really good, deeply technical, hard science fiction novel exploring consciousness, computation, and the infinite nature of the universe.
If that sounds interesting, I recommend not reading too much about the book before starting it; there are spoilers in most synopses.
You don't necessarily need a background in programming and theoretical computer science to enjoy it. But you'll probably like it better if you already have some familiarity with computational thinking.
Funnily enough I went into it with a background in math and was surprised about one specific claim that I couldn't quite understand, and it turns out it was subtly incorrect in such a way that it actually adds an interesting twist to the story (Greg Egan acknowledged it). I can't quite find the web page with the discussion (ETA: found it, it's the addendum at the end of the FAQ about the book [0]) but it's about <spoilers>the Garden of Eden configuration of the automaton.</spoilers>
ETA: I realize this sounds nitpicky and stickler-y so I just want to point out that I loved the book (and Greg Egan's work in general) and figuring out the automaton stuff was genuinely some of the most fun I've had out of a book.
If that sounds interesting, I recommend not reading too much about the book before starting it; there are spoilers in most synopses.
https://en.wikipedia.org/wiki/Permutation_City
You don't necessarily need a background in programming and theoretical computer science to enjoy it. But you'll probably like it better if you already have some familiarity with computational thinking.