I think the reason for this is that it pushes all the buttons your programmer brain wants pushed: designing building and debugging systems with a strong focus on optimisation. However it doesn't contain meetings, sprints, language oddities, politics or any of the stuff that makes normal programming less fun.
One of the stages of evolution of a Factorio programmer is learning how to make scalable modular blueprints that you can stamp down one next to another, with their inputs and output routed so they all plug together easily and run in parallel, without having to be manually wired together.