When I work in pomodoros I can take short breaks every 30 mins and they seem to help - precisely due to the stepping back and rethinking you mentioned.
Other people have commented to me how context switching is not so hard for them.
I think there is a “deep flow” state, but it’s not actually so productive - you just feel focused and do a lot of work, but it might not actually be in the most efficient direction.
So I feel there’s this trade off between “flow” and “managing yourself”. I guess hackers of repute just flow so much they compensate for their lack of self management.
I'd like to balance on the importance of the flow state.
Maybe it's just me, but the more I learn about how I work, the more I force myself to interrupt myself regularly.
I find it is very easy to go deep down chasing a bug only to realize later that different paths are available.
Being able to work deep is important, but I find that pausing regularly to reflect on the work done and the target is equally important.