but that's the extend of it, you don't have to do heavier programming practice like algorithm, complex state management, input parsing and validation (unless sushi), or anything involving combinators until finishing the 1.0 version.
For typical gameplay, the only puzzles you run into are the ones you build yourself into. The name of game is to design your factory in a modular and extensible way so that you do not build yourself into a puzzle.
many people feel it feels similar to coding, in the way you have to slowly refactor designs + work involves a recursive breakdown of tasks + tracing/debugging of issues
And I think that's mostly due to the lack of constraints in most programming jobs. I don't have to think about throughput or optimizing op codes or almost anything else because our machines have absurd amounts of compute and more memory than most hard drives I've had in my life, the networks are broad and fast, and there's a commercial solution for most of the hard problems.
Maybe I'd think differently if I worked on microcontrollers, but my brief foray into Arduinos and Raspberry Pies didn't feel that much different. I mean, I was using Python on the Arduino. I felt more constrained by the pins than anything else - another problem with several well explored solutions.
I’ve hated puzzle games all my life. Most likely because they’re artificial.