Context switching is a skill that gets easier the more you practice it, just like any other. There are techniques like leaving good notes to yourself to pick back up where you left off more easily, but a lot of it just mental training. You sort of learn to hold some of the context in your head all the time but keep it idle when you aren't using it.
When I'm hacking on a hobby programming project, I can often fix a bug or tweak a small feature in fifteen minutes, make a commit, and get a little serotonin hit, all while I'm waiting for the wife and kids to get ready to leave the house.
It doesn't always work for all kinds of tasks. Sometimes for more challenging stuff I really do need a larger chunk of time to load it all in my head. But you'd be surprised how easy it is to eat an elephant one tiny bite at a time if you really try.
> Context switching is a skill that gets easier the more you practice it, just like any other.
Totally agree with this!!
I learned this when I started off as a junior dev. We had some shitty machines and the project compiled for like almost 10mins. Most of the people just read the news and stuff and for some reason I started reading Clean code from Bob Martin (probabbly someone sent me a pdf of it or something). I remember reading it all in a few weeks using those breaks. Then I just kept the habit for almost a year (until we got some better workstations).
I need a good chunk of time to settle into "productive" work, even if it is just reading. I suspect that what is needed is a little bit more discipline at first and slowly it gets easier, but I just never had the ethic to stick to it, and because of this friend I don't even have the ability to claim any doubt as to how impactful it would be.
Since youth I've had (what was always termed a bad habit) the habit of jumping into a task and then never touching it for a week.
For sure there was constant worrying and ruminating on the thing I need to do, but I also have my mind ample amounts of time to 'sleep on it'. So when it came time to sit down and finish the thing, so much of the thinking and ideating had been done and I simply had to convert that into mechanical output.
Context switching is a common and accessible state, but it's severely taxing and relies on stress. To the point that ADHDers might purposely 'proctastinate' to make use of this stress.
But, not only is it not good for the system to constantly rely on stress, it also means that everyday /mundane / low stakes things simply can't utilize this "superpower" effectively.
At least, how I interpret and navigate my own bouts with ADHD
For some reason, a forced time constraint based on external pressure motivates me enough to finish a task.
I got much more thoughtful about how I used my time and also got better at pre-planning what I had to do so as to make the best use of it. Mostly the key was to just try to tackle smaller tasks and accept that progress would be slow.
Accepting that progress will be slow has been the most difficult adjustment, and applies to more than just side-projects. Choosing books or games also becomes a more strategic decision when what used to be a weekend sprint, turns into a several week marathon.
I'm not good at it, because I prefer to cross things off when I finish them, but when I can pull it off it saves some of that time getting oriented to what I'm working on.