Other professions don't need to play computer in their head.
I haven't met a single engineer who doesn't recognize that a complex software system is infinitely more complex than any engineering project. Software complexity with its myriad of states is not a joke. Your engineering project, no matter the project, has orders of magnitude fewer variables and possible states. Look into the cognitive load-demands of juggling these multiple layers of complexity and abstractions in your head, and you'll start to understand.
There's a cognitive loading stage necessary before you can do any work. An interruption wreaks havoc on this, and you have to start over; go through the cognitive load phase again. Depending on the code base that can be a substantial process.
I haven't met a single engineer who doesn't recognize that a complex software system is infinitely more complex than any engineering project. Software complexity with its myriad of states is not a joke. Your engineering project, no matter the project, has orders of magnitude fewer variables and possible states. Look into the cognitive load-demands of juggling these multiple layers of complexity and abstractions in your head, and you'll start to understand.
There's a cognitive loading stage necessary before you can do any work. An interruption wreaks havoc on this, and you have to start over; go through the cognitive load phase again. Depending on the code base that can be a substantial process.