SpaceChem reminds me a bit not so much of programming, as of VLSI design, if anyone here took electrical engineering classes.
I had a class where we started out doing simple stuff, like making a transistor. You learn how the different semiconductor layer strips stack on each other, the software checks to make sure your layers all work out, you try to use as few layers as possible, and you simulate to make sure the circuit works.
Then, you move up to gates. Put several transistors together and you could get an AND logic gate! That gets analyzed, simulated, etc. But what if you put logic gates together to make a circuit, all in a row, with the metal layers connecting with each other...
...then by the end of the semester, I think we were laying out something like a 8-bit (or 16-32, I forget) memory circuit, and you look at this mess you've created, and you're zoomed so far out you can barely see those tiny little transistor strips you started learning at the beginning. Sadly I don't think I ever figured out how to finish the final semester project, so my memory circuit only partially worked or whatever.
Still, it was a sort of cool, if stressful, experience.
For SpaceChem I think it's important to think that way, remembering to break the complicated overall task down into simpler individual tasks, some of which you've probably already solved before.