HACKER Q&A
📣 yuvalsteuer

Devs with ADHD do you use specialized tooling?


People with ADHD, have you ever tried dev tooling to organize or aid with your short attention span?

Yuval


  👤 sph Accepted Answer ✓
You don't need more tools, you need fewer. And get rid of notifications, sounds, distractions, bouncy icons in the Dock. Mute #general on Slack or Discord. Go minimalist, in work and in life.

I use Todoist. I try to add almost everything I have to do in a day in it, because I enjoy the small release of dopamine when I cross things out, however small they are.

I hate the modern trend of rainbow vomit colour themes in editors. There is no reason to have 25 colours on the screen for keywords, strings, arrays, variables, constants, etc. Consumes too much brain CPU time for nothing, so I tend to prefer minimalistic themes, which are very rare to find.

Brown noise to concentrate, pacing around the house when doing deep thinking, I listen to fast paced psytrance when I'm in the flow but I don't need to think too much. But 99% of the time, silence is better. Nature sounds would be best, still working on it.

Unmedicated I am a person with a ton of great ideas than never go anywhere. Finding a productive balance requires very careful monitoring of diet, medication, mood management, sunlight and sleep. Change one of these slightly, and it's probably going to be an unproductive day.

Lastly, just accepting that 9-to-5 or commuting like a regular person is just not for me. Freelance work is best, because I don't know how to switch off and I get my best ideas whenever I least expect it, like scrolling cat pictures and figuring out the solution for yesterday's problem. The subconscious mind is always working on something.

If you want the best advice I could give you: do not trust your memory. ADHD memory is terrible. Write stuff down. Use calendars, alarms and reminders. Get a small A4 whiteboard and write anything down. DO NOT rely on your memory. Outsource it.


👤 AnthonBerg
As much screen area as possible. High refresh rate, good color. Yes, for programming. I have a 55” LG CX 120Hz 4K OLED TV as my monitor now. Space for everything: Code, more code, documentation, filesystem, browser, notes.

Tweak everything for low latency. Example: Switch IntelliJ to the ZGC garbage collector. Give it extra RAM. Have a fast GPU. Yes, just for throwing windows around.

Fast CPU with lots of cores. Tuned low-latency high-bandwidth RAM. One big SSD RAID for everything.

Get the computer up to the speed of thought.

Automatic tiling window managers. Amethyst is good on macOS.

Organization: Workflowy, notes on paper.


👤 max182
Medication. I dropped out of high school because I couldn't focus. I didn't really have the outward symptoms of ADHD but my mind was always racing.

I ended up eventually getting diagnosed, even doctors who don't usually prescribe stimulants prescribe them to me. I went from being unemployed and extremely depressed and doing small odd jobs living out of a cheap hotel room, to working at a FAANG like company without even studying for the interview. I am 26 and often wonder what life would have looked like if I got help earlier.

Todo lists help. Exercise helps. Medication did the trick for me.


👤 capableweb
Best tool I found against it is two parts A) split tasks into smaller pieces, probably smaller than what your peers do, as it's easier to progress when you can complete things in smaller sittings and B) do tasks in various disciplines if possible, where they differ a bit more than just programming tasks.

It helps a lot if your workplace can accommodate you a bit on the latter. Previously I've been jumping around on tasks related to code, testing, infrastructure, documentation and customer support, just to be able to avoid the feeling of boreness and repetition.

Working as a consultant and starting my own businesses also helped a lot as then I'm free to work on whenever basically, as long as the contract you accept are not longer than a few months and you do enjoy all aspects of running a business for example.

But no, no specific software or so, just methodology.


👤 nicbou
I use Calendar Alarm to make calendar appointment ring like an alarn instead of a subtle vibration.

Todoist is where I store all my lists: todo, packing list, meals (for cooking ideas).

I install uBlock Origin and uBlacklist in all my browsers. I don't use the web without them.

I'll occasionally use SelfControl if I cycle through time killer websites too much.

I keep my technology as quiet and self-effacing as possible.

Removing the distractions does a great job. I fought those aggressively and now I can't imagine unfiltered technology. I list a few other things I did here: https://nicolasbouliane.com/blog/silence


👤 lioeters
I use this Firefox feature for floating video, always playing in the corner of one of the monitors.

> The Picture-in-Picture feature allows you to pop videos out of their webpages into floating, always on top, windows, so you can watch while continuing to work in other tabs.

https://support.mozilla.org/en-US/kb/about-picture-picture-f...

When I'm working, I only watch in my peripherals, if at all. Mostly I like listening to the film soundtrack, effects, and more or less indistinct human voices.

Somewhat counter-intuitively, I focus better this way, compared to having "silence" - because I have sensitive hearing, any slight or distant sound in the real world environment distracts my attention. I wear noise-cancelling headphones, whether any audio/video is playing or not.

---

I have a little shell script for taking notes from the terminal command line. I use it throughout the day to to chronicle the endless number of ideas that flow through the brain. The notes go into a plain-text/Markdown journal file.

Before I started this practice a few years ago, I used to feel anxious that so many good ideas and thoughts were getting lost. Now, I just dump everything into notes as fast as I can type them in. Then I can set them aside, forget them and move on with my brainstorming.

Occasionally I review the journal, and copy the best parts into project or subject-based Markdown files.

---

Emails only - checking once a day, or 2~3 times a week. No telephone, text or video chat.

---

Edit: I haven't been diagnosed with ADHD, but I can relate to other comments in this thread - so might be leaning in that direction. Might also be a bit of an autist.


👤 tonyarkles
Honestly, before my diagnosis and prescription (which was the “tool” that has helped more than anything), I would probably say org-mode was/is my primary coping strategy. There were two ways it helped a lot:

- in the spirit of David Allen’s Getting Things Done, it became an easily searchable place where I can just brain dump anything that’s bouncing around and feel confident that I can find it again down the road. I have about a decade of loosely organized notes that I frequently refer back to: courses I took, projects I worked on, cheat sheets for tools like tcpdump or restic, etc etc.

- When I was consulting I leaned on org-agenda a ton. I drove my entire life into it: birthday reminders, garbage day, room cleaning reminders, taxes, and then all of the project plans for different clients. First thing at the start of the day I’d fire it up and really easily get into the flow of things.


👤 tapoxi
I use https://selfcontrolapp.com/ to block websites that offer a quick dopamine hit, like HN. I put my phone in do-not-disturb mode. I block focus time on Google Calendar and set myself to be DND on Slack during that time.

Jira actually helps, but I set some time aside to organize it, typically when I know I can be interrupted because it doesn't require much focus. Split every task into multiple subtasks. This makes your progress more visible and projects less daunting.

Keep a physical notebook by your desk. I've tried alternatives but they're too easy to tinker with and therefore, too distracting. At a minimum you need to offload things you would store in your memory onto something, and the easier and faster that is to do, the better.


👤 jbirer
My stack is:

TomatoTimer

Dual monitors with one monitor playing YouTube Travel/ASMR/whatever is interesting

radio.garden (playing radio with vocals seems to keep me focused for some reason)

Rewarding myself with foods, drinks, spoiling myself

And lastly, something I recently discovered, edging. When I edge to porn without release I feel much more energetic and focused. Something to do with dopamine apparently. I imagine it's going to fry my receptors on the long term but projects have to be done and money has to be made.


👤 sys42590
a) keep a TO DO list, can be as simple as a todo.txt file or use an app. Prioritize things.

b) as others replied, keep work units small enough to be able to tick off multiple per day.

c) drown out that noise if in a shared office: Get some good headphones, search Youtube for ADHD music.

d) minimize distractions: Don't hesitate to mute your messenger and close your mail app for an hour or two to get that focus time.

e) Use that TO DO list to guide you through the day, amend it and re-prioritize as needed.

f) Try Pomodoro technique. (Disclaimer: I personally hardly ever use it, unless the work is truly horrible.)

g) Try to make your work day as comfortable as needed, don't be hard on yourself. Ideally you should like your way of work. If that's not possible, e.g. you have to clock out to do short breaks, look for a different employer.

h) Automate the hell out of your work day, be it with scripts, keyboard macros, inbound mail rules. Your life is too short to type and click the same things again and again.


👤 corobo
The only tech tooling I've got specifically for ADHD is that I can add a task from almost anywhere into Todoist. CLI, phone, email. I can get a new task into my list in seconds anywhere I've got internet access.

From there it's a matter of getting round to it. If it's not on my task list I'm probably not going to remember to do it in time.

Aside from that I love writing quick thoughts onto cards (blank business cards is what I use) - ideas for later, thoughts towards a back burner project, ideas that don't really have anywhere to be yet. They need somewhere to sit and wait else I'll keep thinking about them.

One idea per card (expand idea on the back if needed), chuck the card into a tub for later review. Then when you come to do something new, have a skim through your idea tub. All sorts of free ideas fall out when you apply old ideas to new projects!

Once a card's done forever bung it in with the recycling :)


👤 _boffin_
Truthfully, I just let it run wild. I take my medication and also caffeine (I know… I know…)

I know I’m underperforming what I’m capable of by a long shot, but still doing decent enough.

Things I do though: - notes in meetings with who is in attendance, primary topics, resolutions, etc. - collect a boatload of pdfs and resources. - I’m not going to remember the formula or whatever for most things, but I do remember where I can find the information that will show me the formula.


👤 Smithalicious
I use org-mode a lot as well; I keep a "life.org" file that includes among other things a section called "heap" where I keep my general to-do list of discrete chores (e.g. "buy toilet paper", "email Joe about the foobar", "move pictures from my phone to my PC"), a section called "leads" where I put ideas worth looking into (e.g. "learn to use awk", project ideas), and a section called "dally planning" where I make a subsection each morning containing whatever things I plan on doing that day. All of this could be managed with a normal txt file as well, you don't need to adopt org-mode (though it's a joy to use).

I also do ~20 minutes of meditation each morning which is extremely helpful. Also very helpful are getting regular exercise - even just walking around for half an hour each day helps a lot if you're mostly sedentary - and taking frequent breaks.

Start slow! Phase productivity hacks in piecemeal over a long period of time. Start projects early and slowly and exploratory. Slow and steady wins the race.


👤 fragmede
this is probably small in the scheme of things, but working memory is known to often be poor in sufferers. This my computer configuration has no-auto-raise, so I can have a window in the foreground, whilst typing into a window behind it. what this allows me to do is not have to short-term-memorize eg variable or function names, I can type into the destination while looking directly at the source window. Works on Linux; won't work on Mac due to the way their menu bar works.

👤 graypegg
Omnifocus for me. It’s been the only thing I’ve stuck with. I’m pretty sure that’s because it’s the only task system I’ve used that lets you hide things based on properties; I don’t get anything done facing a giant list, but a small focused list of things I can do right now, is possible.

It also fills a need for organization meta-work, but that’s not really a positive hah

Best thing I can recommend is pick ONLY ONE thing to hold onto tasks (notes app, a todo app, a sticky note pad, etc.) and actually commit to it. Force yourself to log a task the second you know about it.

Even make an effort to tell people “I’m adding that to my list” so people start reminding you. Whatever gets things you need to do out of your head asap.

It’s aggravatingly difficult for a while until it’s a habit, but having the stuff you need to do somewhere that ISNT your memory is going to be a massive boost.


👤 annie_muss
I'm a (not particularly successful) dev with ADHD.

Some of the general organisational advice can be helpful. Keep things in calendars, todo lists, files etc. There is no magic bullet. A todo list won't fix your lack of executive function. Just pick some tools to keep track of everything.

I really like voice assistants. I use an Amazon echo to update my calendar, set timers, reminders etc. For me, pulling out my phone to do any of those is guaranteed distraction.

Some time tracking told are useful for finding out what works for you and what you actually did with you time. "Today felt really bad, but actually I got three hours work done" or "I went on YouTube for 6 hours straight, what sent me off task?"


👤 colanderman
Use Trello (or something like it) to track your TODOs, in small manageable chunks as others have said.

Have one column just to track what you are actively working on at the moment. (Put only one or maybe two items in it. No more!) When you get distracted, now you can immediately remember what you were (supposed to be) working on.

Have a few other columns to sort items by priority. Now you don't need to remember what other things need doing.

Have one column to track stuff that you're waiting on something external.

And importantly, don't delete stuff that's done. Put all those things in their own column. It feels good to move things there, and see the progress you've made.


👤 alpaca128
If you use uBlock Origin I recommend exploring the preferences, it has a whole category of filters called "annoyances" which is disabled by default, among others.

For me NeoVim is great because it has zero distractions and clutter. It just does nothing by itself and doesn't try to proactively "help" me. I try to apply similar standards to the rest, with varying success. Muting browser tabs is nice, though I wish I could set it on a timer - I like to forget unmuting things.

I think Kanban boards work better for me than todo lists, or rather they have a better chance at working at all. Might be due to the smooth drag and drop of the tasks once I'm done.


👤 rslabbert
On a slightly different track to the other comments but make the computer work for you. Reduced memory retention means using good static types, lots of tests, and libraries/APIs that are hard to use incorrectly are an enormous benefit.

👤 qwerty456127
Look&feel matters an awful lot. Try different IDEs, different configs and different themes.

👤 daviddever23box
Better use of async communications with your co-workers helps significantly.

👤 helldritch
A little bit different to software, but the big kicker for me was a standing desk.

When I'm on calls I compulsively wander around the apartment with my wireless headphones on, I can't stand still. If I'm in a call for 4 hours, I will be walking constantly for 4 hours (often covering 20km in small circles in my apartment).

I got a powered sit/stand desk with presets so I can press a single button to have it raise up or lower down, and it's made me a lot more present at my desk during discussions, because I can sort of fiddle about on my feet while still being in front of my screens.

Strongly considering adding a flat, miniature, quiet walking machine underneath my desk for this stuff, if I can find one which meets my specs.


👤 mcluck
Pomodoro timer. If I get into flow I ignore it

VS Code with Foam for notes. I plan out my day by hour (sometimes more granular) and make each of those items a todo item so that I'm checking something off at least once an hour. It also helps remind me what to move on to next. I recently incorporated a checklist for starting and ending the day. It's nice because then I don't spend mental energy thinking about how to prepare and shutdown, I just follow a well thought out pattern. The ritual of it helps my brain transition in and out of work.


👤 fdye
Building on many in this thread of keeping a TODO list. I use PostIt notes, usually the larger, lined ones. I keep an unordered list of stuff to do, adding and crossing things off throughout the day. At the end of the day I rewrite my list for tomorrow, then I crumble up the old PostIt note and launch it into the trash can. Its visceral and fulfilling, accompanied by a mini-meditation of sorts to eject those tasks from my brain. I've tried Kanban-like programs and other things, I use them in project management. However, for my personal tasks I find nothing gets it done like a physical piece of crumbled paper, sometimes I jump up and dunk it into the trash with glee. It helps...

I don't beat myself up if I don't get to everything. I don't stress about how long the list gets. Sometimes I'll have multiple PostIt's going with some loose association of long term/short term or project-specific tasks. The important part though is the cross off of tasks (progress throughout the day), and the mental reset at the end of the day of what to start with tomorrow.

On a related note I feel the way people frame ADHD, particularly during elementary schooling, is all wrong. It is literally a super power. I can context-switch and am generally more engaged doing so. The idea of slogging away at only one task at a time in a linear fashion gives me hives. Its not to say I can't do it, but its highly dependent on my interest level with the task and my flow state. However, no matter what happens I know I can widdle a task down a bit in 15-30 minute increments with a context switch to something else, then come back later.

Many coworkers of mine over the year have commented on how I can switch between 3-4 things at once. It's common for me to drop a task (interrupted by someone or my interest level), come back, check the PostIt note, and pick right up where I left off. I think there is some truth in ADHD aligning well to entrepreneurship, product ownership, or senior leadership. The other piece of it is being brutally honest with yourself at what your not good at and finding others who can supplement those tasks. I worked closely with a senior dev for a long time who wanted a linear, head down, deep dive task to sink his teeth into. The four or five less understood, needs some research, maybe a quick PoC, pathfinder tasks, sign me up.

My other tools are 3-square meals a day, 8 hrs of sleep a night, and walking the dog before and after work (helps the mind reset). When the urge to do something strikes, try to follow through with it in the moment, there is a high probability it will be lost/forgotten otherwise.

Thats all I got...


👤 jenkstom
Obsidian has been a life-changer for me. I finally learned that I needed a certain amount of chaos in my organization, and Obsidian lets me rearrange things any time I want.

👤 dotdashdashdash
Not ADHD but ASD with pretty poor executive function.

The only thing I've found that helps is having a list of things somewhere I can see it. We have a list of tasks next to the fridge on a whiteboard, and it's the only way things get done.

As a side note, I'd suggest looking up ways to improve executive function, as this tends to be the area where this sort of problem falls into. There are tonnes of books out there, as well as ADHD coaches now, which can be pretty helpful.


👤 ttcmuni
Github copilot has actually been incredibly useful for me.

Writing boilerplate and starting new files was always so slow/boring, but copilot kinda helps me continue my flow (even when its suggestions are completely wrong).

Fair warning that sometimes its suggestions are subtlety wrong so you still need to read it over - but since it’s there my mind immediately jumps to verifying it as opposed to the risk of distraction when having to type things from scratch with limited autocomplete.


👤 skittleson
Get OSD on your environment then optimize for workflow with the least amount of distractions and immediate feedback. Unit/integration tests help to keep me in one place as well. Auto testing on file changes as well as autohotkey automations. Text to speech for reading emails and docs

👤 pryelluw
I’ve always lived in the terminal. Only have been reluctantly forced to use vscode at work. Though I still do most stuff in the terminal.

👤 joshxyz
i use leechblock ng to prevent myself from browsing websites that are not work related

👤 Nuzzerino
rectangleapp.com for Mac is great for tiling windows on the screen. Made a difference for me. Just don't stupidly assume that all of the keyboard shortcuts are meant to be memorized. Two is plenty.

👤 yuvalsteuer
Would love to hear about your tooling.