Skip to main content Accessibility Feedback

How to get stuff done as a developer with ADHD

A few years ago, I wrote about being a developer with ADHD, some of the challenges it presents, how I deal with them, etc.

(Quick aside, if you think you might have ADHD, I wrote about that, too.)

Since then, I’ve learned that many of my students also have ADHD, and I’ve gotten a lot of questions about how I actually get stuff done as a developer in a world setup for neurotypicals.

So, if you’re a fellow neurodivergent, this one is for you! And if not, no worries, I’ll see you tomorrow!

Quick caveat: everyone is different

I’m going to talk about some strategies that work for me.

But in my experience, what works great for one person with ADHD doesn’t always work great for someone else. And what works great for a while may stop working after a while, because ADHD brains crave novelty and hate routine.

My use of the strategies I talk about here waxes and wanes over time, but this is the system I’ve most reliably used and come back to over-and-over again.

Zen to Done

When I started working in my first “real job” out of college, I thought I was going to get fired in my second month.

I simply couldn’t keep track of all of the stuff being thrown at me, and I kept slipping on things. So, I Googled, and discovered the world of David Allen, Getting Things Done (GTD), and productivity bloggers.

I became obsessed with these complex systems they recommended, and while most of them worked for a little while, eventually they fell apart because I couldn’t keep up with the finely oiled machine that is GTD.

Then I learned about Zen to Done by Leo Babauta, a stripped down version of GTD, and something finally clicked.

I use the minimalist version…

  1. Collect. Throw every thought, idea, thing you need to do, and so on into a single “capture tool” so you don’t forget it. While I like paper notebooks better, I use a digital tool (more on that later) so that I always have it with me.
  2. Process. Periodically go through your capture tool and deal with all the stuff you threw in there. If something can be done right then, do it. If not, move it to a proper todo list for later. Same with emails. Reply immediately or create a todo item, then delete or archive. Don’t leave stuff sitting in your inbox.
  3. Big Rocks. I try to pick 1-3 most important tasks (MITs), which Leo calls “big rocks,” from my todo list to work on each day. I’ll usually throw a few smaller items in there as well. That’s what I work on that day.

You can find a free copy of Zen to Done in the Internet Archive. Leo now charges a small fee for the ebook.

Bullet Journal

The only style of “capture device” that’s worked for me is a bullet journal.

Simple bulleted lists trump every other type of productivity capturing thing I’ve ever tried to do. Mind maps and flow charts and folder systems and all that other nonsense are just too complicated and rigid.

I toss a bunch of stuff into bulleted lists, and sort them by a few big buckets or categories.

For me, that’s things like Home, Business, Daily Emails, Lean Web Club, and so on.

I even write my notes as bulleted lists!

Notebook Tool

For years, my go-to todo list tool was MS Todo. It’s nearly perfect.

You can create lists, and add items to them. Those items can have subtasks. You can group lists into folders (I have a few lists for “Home”, a few for “Work”, and a few for “Travel”).

Best of all, it let’s you flag items as “For Today,” and pulls them into a special list, while keeping them in their original list.

However… Microsoft doesn’t seem to be investing much in it. Sync is getting buggy. The data isn’t very portable. I worry about having my entire brain stored in a service I have no control over.

I decided it’s time to start exploring other options.

Obsidian

Over the weekend, I started playing around with Obsidian.

It’s a digital notebook that uses markdown files under-the-hood, and doesn’t even require an account. I sync my notes across devices with iCloud, but they offer a sync service as well.

Word of caution: it does a lot, a lot of tutorials on the internet over-engineer the hell out of it, and you’ll need to fight the ADHD urge to “play around with the tools.”

My Obsidian setup is literally just a few folders (Home, Work, Travel), with a few notes (markdown files) in each one. Those notes contain a mix of todo items (- [ ] in markdown) and simple bulleted lists with thoughts or ideas.

I also have an Inbox.md file where I dump all of the stuff that comes into my head through the day.

I also have two other files: All Todos.md, where I use a special “query” to display a list of all uncompleted todo items, and Today.md, where I display my Big Rocks.

On the All Todos.md page, I include this…

```query
"- [ ]"
```

This automatically updates with any unmarked todo item.

On the Today.md, I include this…

```query
tag:today
```

For any todo item that I want to do that day, I add the #today tag, and the query automatically pulls them in and displays them in one place.

I’m not 100% sure if this will stick or not, but so far, I’m liking it!

Calendar

Anything that is time-specific goes into my calendar. I actually have a few calendars (personal, work, one I share with my wife, etc.), but they all aggregate in one view in Google Calendar.

I would miss these meetings and events nearly 100% of the time if it weren’t for my Apple Watch.

This is definitely a luxury item, and I was super skeptical about it when I first got it. But having my meetings displayed prominently on my wrist, buzzing just before the meeting starts, has been a game-changers for me.

I also use it to set timers for everything.

Start a load of laundry? I set a timer for an hour to remember to switch it. Put food in the oven? Timer on my watch.

You can have multiple timers going, each with its own name. It’s an amazing feature.

What works for you?

If you’ve made it this far, I’d love to hear what works for you. Let me know!