The ADHD Developer’s Paradox: Why Starting Is the Hardest Part

2025/08/07

LIVEadhdneurodiversityproductivity

There’s a phone bill I didn’t pay for three weeks. Not because I couldn’t afford it. Not because I forgot — I thought about it every single day. I just… didn’t do it.

I wrote this in my notes back in June: “I keep putting off paying my phone bill and dealing with my reimbursements.” And then, because my brain does this, I immediately tried to diagnose myself: “Could this be ADHD? Or is it just an excuse?”

Spoiler: it’s not an excuse. But the mechanism is weirder than you’d think.

The procrastination freeze

Here’s what people get wrong about ADHD procrastination. They think it’s laziness. Or poor time management. Or a lack of discipline. It’s none of those things. It’s a dopamine problem.

Your brain runs on a reward prediction system. Neurotypical brains can generate enough activation energy for low-reward tasks — paying a bill, filing a reimbursement, responding to that email — because they can hold the future reward in mind. “I’ll feel relief when it’s done.” That’s enough to get started.

ADHD brains can’t do that. The future reward is too abstract, too far away, too quiet. The task sits there, perfectly understood, completely achievable, and your brain just… doesn’t activate. You need urgency or emotion to flip the switch. A deadline. A consequence. Someone watching.

So the bill sits unpaid. Not for days — for weeks. And the whole time, you know it’s sitting there. You think about it in the shower. You think about it while eating. You think about it at 2 AM. The cognitive load of an undone task is enormous, way out of proportion to the actual effort required. Logging in, clicking three buttons, done. Thirty seconds of work generating three weeks of background anxiety.

That’s the freeze. You’re not avoiding the task because it’s hard. You’re avoiding it because your brain literally cannot generate the activation signal for something that boring. And the longer it sits, the more emotional weight it accumulates — guilt, shame, self-blame — which makes it even harder to start, because now the task isn’t just boring, it’s emotionally charged.

The irony is brutal: the thing that would make you feel better is the thing your brain won’t let you do.

Setup friction

Here’s where it gets specific to developers.

Late July, I wrote this: “Whenever I start studying, working, or building something, the very first step — like setting up a directory or organizing where to put the code — tends to trip me up. That small setup step creates a lot of friction and makes me feel anxious and uncomfortable right from the start.”

This one took me a while to understand. I’m a software engineer. I set up directories and repos all day. The mechanical skill is there. So why does it feel like running through wet cement every single time?

Because the first step isn’t really one step. It’s a tree of micro-decisions.

You want to start a project. Okay — where does it go? New repo or subdirectory? What’s the folder structure? Do you need a virtual environment? Which Python version? Do you set up CI now or later? What about the README — do you write that first or is that procrastination disguised as productivity?

For a neurotypical brain, these decisions resolve quickly. You pick something reasonable, move on, adjust later. For an ADHD brain, each decision is a tiny fork in the road, and your working memory is trying to hold all the forks simultaneously. The cognitive cost isn’t in the decisions themselves — it’s in the branching. Your brain tries to evaluate all paths before committing to one, and that evaluation process is exhausting.

So you freeze. Not on the project — on the setup before the project. The thing you actually want to build is right there, visible, exciting. But between you and it is this swamp of organizational decisions that generates zero dopamine and maximum cognitive load.

The same day, I also wrote: “Today, as I work on my actual tasks, I’m also going to focus on optimizing my workflow. I want to reduce the friction I run into along the way.” That’s the ADHD developer’s instinct — you don’t just want to do the work, you want to fix the process that makes starting so painful. Which is either brilliant meta-cognition or an elaborate procrastination strategy. Honestly, it’s both.

The solution, when there is one, is to pre-decide. Templates. Cookiecutter repos. Scripts that create the directory structure so you don’t have to think about it. Every micro-decision you can automate or eliminate is one fewer fork your working memory has to hold. You’re not being lazy by automating setup — you’re building a ramp over the swamp.

I spent a lot of time building those ramps. Session bootstrap files. Recovery commands. Structured project templates. People sometimes ask why I invest so heavily in workflow tooling, and the honest answer is: because without it, I can’t start.

The idea traffic jam

There’s a third pattern, and it’s the sneakiest one.

Also from June: “I get overwhelmed when I can’t offload ideas fast enough — it’s like a mental traffic jam.”

ADHD brains don’t have a shortage of ideas. They have a surplus. Things come in fast — connections, possibilities, tangents, “what if we also…” — and they pile up because your processing pipeline can’t serialize them quickly enough.

Imagine a highway merge with no traffic signals. Cars coming from five directions, all trying to enter the same single-lane road. Nobody crashes, but everyone stops. That’s what it feels like inside your head when three good ideas show up at the same time and you can’t write fast enough to capture them.

The instinct is to try harder — think faster, type faster, context-switch faster. This makes it worse. You end up with six half-started notes, four open tabs, two terminal windows with uncommitted work, and a growing sense that you’re losing something important.

The thing I eventually figured out: the traffic jam isn’t a throughput problem. It’s a trust problem.

You’re trying to hold everything in your head because you don’t trust that it’ll survive if you put it down. If you write an idea in a note, will you ever find it again? If you file it in the “someday” pile, is that where ideas go to die? The desperation to capture everything right now comes from the experience of losing things — ideas, context, momentum — when they leave your working memory.

I wrote about this too: “Real balance isn’t about executing everything — it’s about designing a filter and a ritual that trusts the system to hold ideas, surfaces the ones worth acting on, and lets the rest sit without guilt.”

That’s the whole game. Build a system you trust. Not a perfect system — trust doesn’t require perfection. It requires reliability. A place where ideas go, a process that surfaces them, and — this is the hard part — permission to let the rest sit.

The guilt is the real enemy. Not the backlog. Every ADHD person I know has a graveyard of ideas and half-finished projects, and they feel terrible about it. But the graveyard isn’t the problem. The problem is believing that every idea deserves execution, and that failing to execute is a character flaw.

Most ideas should die. That’s fine. The system’s job isn’t to execute everything — it’s to make sure the right things get executed, and the rest don’t haunt you.

What I’ve figured out so far

I’m not going to pretend I’ve solved this. I haven’t. I still have unpaid bills sometimes. I still freeze on project setup. I still get traffic-jammed by my own thoughts.

But I’ve learned a few things:

The freeze is neurological, not moral. Knowing this doesn’t fix it, but it stops the shame spiral. Shame makes everything worse. Understanding the mechanism — dopamine, activation energy, reward prediction — lets you work with your brain instead of blaming it.

Friction reduction is a legitimate strategy, not an avoidance tactic. Every template, every script, every automated workflow is a ramp over a swamp your brain can’t cross on its own. Build the ramps shamelessly.

Trust your capture system or you’ll never stop clutching. If you don’t believe your notes will surface when you need them, you’ll keep trying to hold everything in working memory. That’s unsustainable. Invest in the system. Use it religiously. Let things go.

Urgency hacking works but it’s not sustainable. Artificial deadlines, body doubling, working in public — these all manufacture the activation signal your brain needs. Use them, but know they’re a workaround, not a fix.

Some tasks just need to be smaller. “Pay phone bill” sounds like one step but it’s actually: find the bill, log in to the site, navigate to payment, enter card info, confirm. If I break it down to “open the payment website” — just that, nothing else — I can usually start. And starting is 90% of the battle.

I keep coming back to something I wrote in that June note: “Could this be ADHD? Or is it just an excuse?”

Seven weeks later, I think the question is wrong. It’s not “ADHD or excuse.” It’s “ADHD, so what do I do about it?” The diagnosis isn’t the destination. It’s the starting point for building systems that actually work for your brain — not the brain you wish you had.

And yeah, the irony isn’t lost on me that starting is the hardest part of a post about how starting is the hardest part. I put off writing this for a month.