The Chaos of Learning to Code with ADHD (Or: How I Spent Three Hours Picking a Font) #
I sat down last Tuesday determined to finally learn Python. I had a plan. I had motivation. I had snacks.
Four hours later, I had a meticulously customized VS Code setup, a new favourite color theme called Plastic, a half-watched YouTube tutorial about variables, and absolutely zero Python written. It was, by any objective measure, a productive evening — just not in the way I’d intended.
This is life at the intersection of ADHD and programming, and if you’re nodding along right now, welcome. Pull up a chair. Or spend 45 minutes finding the perfect chair. You know how it goes.
The Editor Spiral #
It always starts innocently. You open VS Code and think, hmm, that theme doesn’t feel quite right for today’s vibe. One hour later you’ve auditioned 14 themes, installed three icon packs, switched to PyCharm to see if the grass is greener, decided it isn’t, tried Sublime Text for some reason, and are now reading a Reddit thread from 2019 about whether Neovim is worth learning first.
Here’s the wild part: I’ve since realized this isn’t just procrastination. The editor obsession is actually me trying to remove friction. If I can get the environment perfect, there will be no excuse not to code. The setup is the work — at least, that’s what my brain tells me, and honestly, my brain makes a compelling case.
The problem is that perfect setups don’t exist, and even if they did, they’d feel wrong by Thursday.
The Tutorial Treadmill #
Learning resources are basically a buffet for the ADHD brain, and I have the self-control of someone who skipped lunch.
The cycle goes something like this: find a great YouTube tutorial, watch 20 minutes, wonder if a book would be more thorough, buy a book, read one chapter, sign up for a Udemy course because it’s on sale (it’s always on sale), watch three videos, go back to YouTube to look up one specific thing, find a different YouTuber whose teaching style feels more intuitive, start their series from the beginning, repeat indefinitely.
I have bookmarked enough Python tutorials to last a decade. I have absorbed, charitably, enough to last a week.
The real issue is that every new resource feels like it might be the one — the magical format that finally makes everything click. Switching isn’t giving up; it’s optimizing. And optimizing feels productive even when it demonstrably isn’t.
Is It ADHD, or Is It Just… Hard? #
Here’s an uncomfortable thought someone put in my head recently: maybe it’s not pure ADHD. Maybe some of what I’m calling distraction is actually avoidance — a perfectly rational response to the parts of coding that are genuinely frustrating and anxiety-inducing.
Debugging a cryptic error message at 11pm is not fun. Staring at code that should work and doesn’t is not fun. The gap between “I understand this concept” and “I can actually apply this concept” is a dark, humbling place, and it turns out my brain would much rather spend time in the warm, dopamine-rich lands of theme customization.
The ADHD wiring and the frustration-avoidance probably feed each other in a feedback loop so elegant it would be impressive if it weren’t ruining my evening.
What’s Actually Helping (A Little) #
I stumbled onto Brain.fm a while back — it’s a focus music app built around functional neuroscience — and it has genuinely helped when I’m reading documentation or stepping through a debugger. Something about the audio keeps the part of my brain that wants to open a new tab slightly sedated.
It does not work for video tutorials, because I cannot process two audio streams simultaneously like some kind of podcast octopus. But for silent, solitary work? Legitimately useful.
The other thing I’m experimenting with is gamification. If the frustrating bits are the problem, what if the frustrating bits had points? Achievements? A little dopamine reward for surviving another incomprehensible stack trace? I haven’t fully built this out yet, but the idea is to turn “fix this error” from a punishment into a side quest. I’m genuinely optimistic about it in the way that I’m optimistic about most things before I’ve actually tried them.
The Weird Conclusion #
I don’t have a tidy fix. If you came here looking for “Five Steps to Code Better with ADHD,” I apologize — I spent that time picking a font.
What I do have is a slightly more honest understanding of what’s happening when I spiral. The editor thing is barrier removal. The tutorial hopping is format-matching anxiety. The avoidance is frustration in a trench coat. None of it is laziness, and none of it means I can’t learn this.
It just means the path is a bit more… scenic than I’d planned.
Now if you’ll excuse me, I need to go check if there’s a better terminal color scheme. I’m this close to getting the environment right.
Some portions of this post were drafted with the assistance of AI tools and reviewed/edited by me.