January 3, 2022 • Reading time: 8 minutes
If you read my previous blog post, Agile programming with ADHD, you could be forgiven for being left with the impression that I am a superhero, not least because I open the blog post with those words.
My intention was to counter the notion (no less present in my own mind) that ADHD is exclusively a burden, all cloud with no silver lining. However, while I have certainly found ways to use the peculiar characteristics of my brain to my own advantage, there are plenty of times when I have to try to muscle my way through things that my brain really does not want to do.
While my previous post talked about ways I use my own quirks to my advantage, I would also like to give some exposure to mitigation strategies: things that are unambiguously harmful, and how I keep their impact as limited as I can.
My wife and I regularly reference spoon theory in casual conversation. In brief, spoons are a shorthand for physical and emotional energy. Everyone only has a limited supply (sometimes very limited), and everything we do costs spoons, including seemingly trivial things like taking a shower or making a phone call.
In some ways, I very much identify with this model, though my spoons are mental rather than physical in nature as they are for my wife or Christine, the woman who coined the term. However, mine are some kind of crazy quantum spoons. My supply is fairly predictable (if limited), but I often have no idea how many spoons a task will cost. A task that was easy yesterday turns out to demand more spoons than I can afford today.
To complicate matters further, some chores will give me an unexpected infusion of spoons. Sometimes, making a long-dreaded phone call will immediately kick off a flurry of phone-calling and email-sending as I clear out my to-do list in rapid succession. But I lack a reliable source of spoons - an evening of video games may help me decompress, or it may leave me berating myself for wasting time. An afternoon of puttering in my workshop may leave me satisfied with a job well done, or staggering under the weight of yet more items on my to-do list.
One good thing about aiming at a moving target is that it's moving: sometimes it will be in a more tractable position than others. So it is with my quantum spoons. Insofar as I'm able to estimate the spoon cost of any task in advance, I try to do tasks when their cost is as low as possible. Sometimes that involves a particular time of day, but more commonly cost is determined by proximity to other tasks.
For instance, I try to put the garbage out when I'm on my way out the door for other reasons, because that's when its spoon cost for me is the lowest. It's easier for me to wrestle with a particularly gnarly piece of code when I already have the adjacent code loaded into my brain for other reasons.
Sometimes that requires manufacturing circumstances under which this adjacency occurs - say, going for a walk as a prompt to take out the garbage, or refactoring/documenting/testing a block of code related to the one I actually want to be working on.
However, it's easy for procrastination to masquerade as waiting for the correct moment, and just as easy for the correct moment to come and go when I've forgotten all about the thing I want to do. Sooner or later, I just have to do the thing.
I tend to get carried away doing whatever I'm doing. Sometimes this means losing an entire day playing Stellaris, and sometimes it involves a run of productivity that leaves me drained but satisfied.
If I'm cleaning an absolute mess in the kitchen, I lie to myself at every step of the process. "I'll just collect the dishes next to the sink so I can wipe the counter and this doesn't seem so daunting when I come back to it later." "I'll just put the stuff in the dishwasher so I can kick that off while I leave the rest." "I'll just leave these grimy pans to soak." "There aren't that many dishes to hand-wash, maybe I'll just get those out of the way before they dry out and the job gets harder." "This grime is actually coming right off, maybe I'll finish up." "Oh look, there's nothing to do but wipe the rest of the counter and I'm done."
The other part of that process is to treat my inner four-year-old as such: with gummy bears. I get out a handful of them at the beginning of the process and leave them somewhere in plain sight, rewarding myself with another gummy bear at each step along the way. (I find gummy bears work well for me because eating one is satisfying but they're not big enough that this precludes eating five.)
A newer addition to my workflow is allowing myself breaks (often by playing video games) if I can feel my momentum ebbing away. The trick is to set these breaks up like gummy bears: satisfying, but not big enough to be regretted later. I didn't introduce them until recently because I (rightly I think) didn't trust myself to take breaks and actually return to my task afterwards.
One thing that has changed this is the introduction of a Time Timer into my workflow. I had tentatively expected to use it to time box work sessions ("just one hour of focus, then you can take a break"), but either I would fail to focus, or I wouldn't want to interrupt my focus at the end of the hour. Either way, the timer turned out to be a lie.
Instead, I use the timer to delineate my break time. Being able to see the time passing visually keeps me aware that I'm within my boundaries, and I find the break time more rejuvenating because I can let go of the low-key stress of trying to fight my time blindness in the back of my mind. I have the timer right in front of my monitor, so it's always in my field of view as I'm playing.
It's okay, everyone needs help sometimes. Sometimes that means rebalancing work to trade something I'm struggling with for a different task, or asking for help with dividing a task into manageable pieces, or using pair programming to break a mental block.
I was super skeptical of pair programming when I first heard of it, and I'm still a bit suspicious of people who claim to do 100% pair programming productively. (The notion of pair programming is that two programmers sit together, with the "driver" at the keyboard, and the "navigator" alternately offering guidance and independently researching issues that the driver encounters. Supposedly, this is more productive than two programmers working independently.)
While I still don't think pair programming is a magic solution in all situations, it is a great way to get started and bootstrap your understanding of a problem space, maybe based on information precached in someone else's brain. This is especially valuable for someone like me, where the process of loading that understanding into my brain is daunting all out of proportion with its actual difficulty.
I'm not very good at doing nice things for myself. However, whenever I spend time organizing my desk or fixing flaky tests, I think of it as a gift to future me. He's a good guy, and he's got his shit a bit more together than I do.
Similarly, I don't hesitate to express my appreciation to past me for having the foresight to prepare or anticipate something in advance. I haven't been able to break out of the negative self-talk that many people with ADHD experience, but occasionally acknowledging that I did something right is a step in the right direction.
As before, I should close this by noting that these are a few coping strategies that I have developed over many years. I don't have everything figured out, not by a long shot, and even some of the practices I describe only work somewhat or some of the time.
Still, the most valuable effect of my diagnosis with ADHD was coming to understand that there was a reason why the "surefire" organizational strategies (guaranteed to fix all woes experienced by the disorganized and chronically late) never seemed to work for me. It's not that I was incorrigible, as I'd come to believe, just that my brain played by different rules. With that in mind, I think there's value in sharing as many strategies as possible, in the hopes that someone else will try them out and maybe find one or two of them useful.
If I could snap my fingers and make myself neurotypical, would I do it? I don't think so. Much as it frustrates me, my unique brain is uniquely me. Moreover, I suspect that it has been a net asset in achieving what I've achieved in work and life, no matter what I had expected and was told throughout my younger years.