Breakpoints
So Ibrahim, how was your weekend?
Stop everything, every thread, freeze all values.
When things get confusing, programmers add breakpoints in the code, hook up a debugger, and force everything to stop. Commands run one at a time. Every assumption is checked, every variable poked at. Is that boolean really true? Should it be? Was it true before? Is it still true after?
In coding, like in life, we make a million assumptions, and some are bound to be wrong.
Relax. Look around. Make a call - Extreme Ownership
When debugging a complex stack, you can't pause everything. You can't put a breakpoint in client code/JavaScript, and pause the server side. If you're running multiple microservices, you can usually only review one at a time. It's not perfect, but it does work. Maybe you look at one side at a time, or jump back and forth between them. These systems interact but there are always boundaries, and protocols.
Life can be even messier, projects and relationships spilling over between home, family, work, and community. It's not always possible to pause everything and review things holistically. The world is not so patient, to wait quietly for you to get your act together before peppering you with its demands.
It's mildly oppressive, but take the weekends, take the breaks, check your assumptions and iterate and learn, and these small pauses could bring about your version++
Pausing, not stopping.