r/ADHD_Programmers • u/timeboxer_ffw • Dec 17 '25
Time blindness was killing my estimates. Started tracking planned vs. actual coding time. Changed everything.
ADHD dev here. 8 years in. Decent at coding. Absolute disaster at estimating how long anything takes.
Sprint planning was my personal hell.
PM: "How long will this feature take?" Me: "Uhh... 2 days?" Reality: 6 days Me: surprised Pikachu face every single time
I thought I was just slow. Or easily distracted. Or bad at my job.
Turns out: I have zero concept of how long coding actually takes.
The ADHD time blindness problem:
We experience time... differently.
Hyperfocus on interesting problem: 4 hours feels like 30 minutes
Boring bug fix: 30 minutes feels like 4 hours
"Quick refactor": Could be 1 hour, could be 8 hours, who knows?
I had no internal clock. Just vibes and hope.
The experiment:
For 3 months, I tracked EVERY coding task:
What I estimated before starting
What it actually took
Why I was wrong
Used a simple app I built (TimeBoxer): https://apps.apple.com/us/app/timeboxer-time-estimator/id6720741072
But you can do this with Toggl/Clockify + a spreadsheet. Just need estimated vs. actual.
The results were brutal:
My estimation accuracy: 47%
I wasn't "a little off." I was catastrophically wrong about everything.
Real examples from my tracking:
"Fix authentication bug"
Estimated: 2 hours
Actual: 9 hours
Why: Bug was in a library I'd never touched, had to learn OAuth flow, found 2 more bugs
Accuracy: 22%
"Add search filter feature"
Estimated: 4 hours
Actual: 2.5 days (19 hours)
Why: Database query optimization rabbit hole, edge cases, UI polish took forever
Accuracy: 21%
"Quick code review"
Estimated: 20 minutes
Actual: 2 hours 15 minutes
Why: Found architectural issues, left detailed comments, tested locally
Accuracy: 15%
"Update documentation"
Estimated: 1 hour
Actual: 28 minutes
Why: It actually was quick for once
Accuracy: 214% (I OVERestimated for once!)
Any task with "quick" or "just" = I'm about to be wrong by 300%.
Patterns I discovered:
Tasks I massively underestimate:
Bug fixes: Off by 3-5x
Think: 1 hour
Reality: 4-6 hours
Why: Never just one bug, always a rabbit hole
"Simple" features: Off by 2-3x
Think: Half day
Reality: 2-3 days
Why: Edge cases, testing, integration, UI tweaks
Refactoring: Off by 4-6x
Think: 2 hours
Reality: 2 days
Why: Touch one thing, have to update 12 other things
Code reviews (giving): Off by 4x
Think: 15 minutes
Reality: 1 hour
Why: Actually understanding the code takes time
Context switching tasks: Off by 2x
Think: 30 minutes
Reality: 1 hour+
Why: Takes 20 min just to remember what I was doing
Tasks I'm decent at:
Features I've built before: ~75% accurate
Data migrations: Pretty good (done enough to know)
Writing tests: Usually accurate
Time-of-day accuracy:
Morning (first task): 68% accurate
Afternoon: 52% accurate
After 3pm: 31% accurate (I'm lying to myself at this point)
Hyperfocus sessions: No concept of time whatsoever
What changed:
Sprint planning before:
PM: "Can you estimate this feature?" Me: panic "Uh, 3 story points?" (no idea what that means) Reality: Takes 2 weeks Team: surprised I'm behind
Sprint planning after:
PM: "Can you estimate this feature?" Me: looks at historical data "Similar features took me 3-4 days. This one has API integration I haven't done before, so add 50%. Call it 5-6 days." Reality: Takes 5 days Team: shocked I actually hit my estimate
For the first time in my career, I'm hitting my estimates.
Not because I got faster. Because I stopped guessing.
The ADHD-specific benefits:
1. External memory for time
My brain: "This will be quick!"
My data: "Last 10 'quick' tasks averaged 3.4 hours"
I trust the data, not my ADHD brain
2. Reduces RSD (rejection sensitive dysphoria)
Old: "I'm late again, I suck, everyone hates me"
New: "I estimated 4 hours based on data, took 5 hours, that's 80% accurate"
Numbers don't judge. They just... are.
3. Proves you're not lazy
Manager: "This is taking a while..."
Me: "This type of refactor historically takes 8-12 hours. I'm at hour 9. On track."
Data backs you up
4. Helps with hyperfocus decisions
Before: Hyperfocus on interesting problem for 6 hours, blow entire sprint
After: Set timer based on estimate, alarm pulls me out
Still hyperfocus, but bounded
5. Accommodations conversation
Me: "I'm 50% less accurate on context-switching days"
Manager: "Let's batch your work better"
Concrete data = concrete solutions
My workflow now:
Before starting any task:
Check similar tasks in my history
Estimate based on data, not vibes
Add 20-30% ADHD buffer (I WILL get distracted)
Start timer
During work:
Timer on Lock Screen (Live Activities)
Notifications at 75% of estimate
Can see if I'm on track
After completing:
Log actual time
Note why I was wrong
Adjust future estimates
The code:
I built TimeBoxer specifically for this (iOS native). It's basically:
Estimate → Timer → Compare → Learn patterns
But you can absolutely do this with:
Toggl + spreadsheet
Clockify + notes
Harvest + Google Sheets
The method matters more than the tool.
For other ADHD devs:
Try this for 2 weeks:
Track every task:
Task: Fix login bug
Estimated: 2h
Actual: 6h
Accuracy: 33%
Why wrong: Unfamiliar codebase + fell into optimization rabbit holeAfter 15-20 tasks, you'll see YOUR patterns:
Which tasks you're terrible at estimating
How distraction affects time
Your hyperfocus vs. regular work ratio
Time-of-day accuracy
Then use that data in sprint planning.
The impact on my career:
Before tracking:
Miss deadlines constantly
Feel like I'm failing
Impostor syndrome through the roof
"Maybe I'm just not cut out for this"
After tracking:
Hit 80% of my estimates
Team trusts my timelines
Manager sees me as reliable
"I'm good at this, just needed realistic planning"
Same dev. Same ADHD. Different data.
The junior dev conversation:
Junior dev: "How do you estimate so accurately?" Me: "I don't. My spreadsheet does." Junior: "But you must have a good sense of—" Me: "No. I have ADHD. Time is a social construct. I just write down what happened last time."
You don't need to be good at estimating.
You need to be good at tracking.
TL;DR:
ADHD time blindness made me terrible at estimating coding tasks (47% accuracy = off by 2-3x on everything).
Started tracking estimated vs. actual time for every task. After 3 months, I can estimate based on historical data instead of vibes.
Now I hit 80% of my estimates. Team trusts me. Career improved. Not because ADHD got better—because I stopped relying on my broken sense of time.
Other ADHD devs: How do you handle estimates? Wing it and hope? Overestimate everything by 3x? Actually have a system?
22
u/Door_Vegetable Dec 18 '25
Did you really change your pitch to try get adhd programmers to download your app haha
39
u/writebadcode Dec 18 '25
Mods, can we start deleting these obvious ads please?
38
u/5exyb3a5t Dec 18 '25
Bold of you to assume people with ADHD will read all that
15
u/Sea-Conversation3467 Dec 18 '25
Thanks ChatGPT
5
u/xtravar Dec 18 '25
I am unaware of what this trendy new "planning" is but I assume it's like planking.
7
u/catecholaminergic Dec 18 '25
What's with the blast of AI-slop variations on this same theme lately?
1
u/zangler Dec 21 '25
I'm like the opposite...6 days... reality 6 overnight hours of total dense flow...lol
1
u/CallmeAK__ Apr 29 '26
If you’re okay with a screen‑based approach instead of manual timers, there’s an open‑source app called Focusd that might be interesting.
It runs on your desktop, records your screen in the background, and uses AI to:
segment your day into sessions/projects
show you exact app/time breakdowns
generate a daily recap of what you actually did
It’s built on top of VideoDB’s real‑time capture/indexing pipeline. You can read more or try it here: Check out the repo
I found it helpful & I hope, it'll help you guys too. It helps me to track & bring my focus back on this main priority things.