To me, my Attention-Deficit / Hyperactivity Disorder (ADHD) and my ability to write code are irrevocably linked. I had suspected I had ADHD for years, but only went through the formal diagnosis process in September 2021. One of the primary reasons I went to get tested was when I was interested in a coding problem, I could lose 6+ hours, often missing meetings and meals.
I have ADHD combined type, which means I have hyperactive and impulsive symptoms as well as inattentive symptoms. Among other things, I struggle with:
- time blindness
- Rejection Sensitive Dysphoria
- sustaining attention
- poor working memory
- lack of attention to detail
Many people have said it better, but I feel like I have too much attention. I would love to be able to pay attention to one thing. It would be great for my brain to focus on something just because I or other people think it should be important. In fact, it is physically painful for me to sit still with nothing interesting happening. Rather than "Attention-Deficit," it should be called something like "Attention-Regulation" or "Executive Function" / Hyperactivity Disorder.
Coding can give ADHD brains exactly the kind of stimulation they crave. Every brain has reward pathways to reinforce learning - if you hit a button and immediately get a thing you really like, your brain will want to hit the button again. If the payoff is random, like fixing a bug and trying a bunch of different things before you find the solution, then the reward seems even better to brains.
ADHD brains approach the buttons differently. They struggle with pressing the button if they don't know it'll give them a reward they really like. They have a hard time finding buttons with rewards good enough to make them want to press it again. Once they find a button they like, they often press it way too many times. The current theory is that our learning pathways use up dopamine faster and our brains don't convert glucose to dopamine and serotonin as well as other brains. In other words, we're constantly searching for things that will give us good enough rewards and bad at leaving those things alone once we find them.
For us, part of the appeal of those rewards is novelty. People with ADHD don't stop to question it when they're interested in something. So they can often achieve great things without realizing they were supposed to be hard, but also usually have many hobbies and projects that were started and then abandoned.
Luckily for us, not only is coding a creative endeavor that involves constantly learning new things, but also once one problem is solved, there's always a brand new one to try.
Personally, I would never describe ADHD as a super power. Yes, it's why I could learn coding concepts I'm interested in seemingly overnight. People seem to admire the way my brain wants to be constantly picking up hobbies and diving straight into the deep end of projects. It's also why I cannot attempt an algorithm coding challenge without crying, often try to change too many things at once without testing, and have been typing this blog for 40 minutes instead of eating lunch.
To that point, the rest of this series will be about strategies for dealing with the four main challenges I experience while coding with ADHD:
Followed by how I feel my ADHD symptoms can be beneficial in a development role: