I find it easier to get back to code, when leaving a complex feature in a semi-completed, but non-breaking, state. This makes coming back to the code easier and the shower-problem-solving flows easier that way, the opposite makes it harder to think about what I actually wish to achieve with said feature. Is this something you can relate to?
Yes, I think this is an important skill that engineers learn. Restarting work on a very broken code base can be a mess of remembering all the context of which parts work and what you needed to still do.<p>I've found that breaking tasks into smaller chunks and trying to complete the code one chunk at a time works better. Estimating how long a chunk will take and checking against the time before the next interruption is the next step.