The Distracted Developer
I am a permanently remote software engineer, diagnosed with ADHD, and stubbornly refuse to take medications. This combination puts me at particular risk of straying from the work I should be doing. Sometimes that means I'm working on low-priority things, and sometimes that means I'm browsing Reddit. In either case, it's not good for my long-term productivity or efficacy. Always the problem solver, I've spent years of deliberate practice and effort to get pretty good at managing myself and my attention.
Below I've compiled an unordered list of things that help me stay focused, productive and happy. There's a heavy emphasis on the struggles folks with ADHD are particularly prone to, but all these tips and tricks are useful for anyone who finds themselves wanting to be more focused.
- Respect the fact that your employer is happy.
Imposter syndrome sucks for everyone, but I think it's worse when you have ADHD and are constantly wondering if you're not as productive as you could/should/would be. If your employer is happy with you and your work, that's all that really matters at the end of the day. Don't beat yourself up. - Leverage any flexibility you have.
If you're lucky enough to have flexibilty, or even be so lucky as to work remotely, then leverage that. Ride the hyper-focus wave when it hits, ride the "nah, imma do the dishes" wave when it hits, and ride the "take a stroll outside" wave when it hits. Be cognizant and responsible of your time, but in general take advantage of any flexibility you have. I'm a strong believer that the mind is most effective when you're working with it, not against it. - Don't beat yourself up.
Semi-related to the above, but you're going to have days where you're in the freaking zone, knocking things out and working for hours at a time. And you're going to have days where you're not feeling it and the most you do is respond to chat messages. Once again, be diligent to ensure that every day doesn't become slacker day...but accept that focus comes in waves. For me, it helps to think about my productivity by the week, rather than by the hour or the day. - Mindfulness meditation.
This is seriously on hard-mode with ADHD, but it's also been studied and proven to help our jumbled brains a lot. Half the struggle in keeping focused is simply recognizing when you're distracted, and mindfulness meditation helps with that. I started with Headspace, and would recommend it to beginners. - Make and maintain a daily task list.
It can be as detailed or as vague as you want, but the general idea is wake up, make your coffee and before you do absolutely anything else, make an agenda for what you're doing that day. Mine is usually pretty detailed. After you've made the list, maintain it! Stick to your goals, crossing things off one at a time. If new things come up, rearrange your agenda to account for them. If you can, simply make a note to add it to your agenda tomorrow. - Minimize the amount of input sources.
I used to have two monitors, and it took me a while to realize it was actually a bad idea for me. Two monitors means "one monitor for work, one monitor to distract me with everything I shouldn't be doing." Guess which monitor I spent most my time on? Nowadays I have one monitor, and use Mac's workspace and window management grouping to keep everything compartmentalized. Basically, put as many barriers as you can between you and whatever might distract you. Only have one thing in sight: what you're working on. - Put a timer on when you get distracted.
When that itch happens to go do something else, and you just can't fight it, go do it. Once again, work with your mind, not against it. But either keep a mental timer or a physical one to pull you away and back to what you should be doing. I usually find that 5-10 minutes is the sweet spot for me. - Consider non-distracting sensory input.
For me, this looks like idle fidget toys and background music. ADHD at it's very essence is sensory mismanagement, and for me minor stimulation helps. Having something non-distracting like instrumental music and a mindless fidget toy on my desk helps take the edge off that. - Document the hell out of everything you do.
Document it, and organize it well. Regardless how hard you try, your distracted brain is going to take over at some point. One moment you're analyzing a complex system, the next moment you're writing a blog article on being distracted, and you don't even know when that transition happened. That really sucks, but if you take detailed notes it means you can pick up where you left off easier. It also helps with the working memory problems that frequently plague ADHD brains. Finally, it's just good practice in general - months down the line you'll still be able to come back and reference what you did and why. - Utilize existing resources and communities.
This one is specific to ADHD folks, but seek out communities of other people who share the struggle. There are lots of them: YouTube channels, subreddits, online forums, podcasts, books and blogs. Pick your favorite. You can't find solutions to problems until you recognize that they are an issue. - Become an email filter extraordinaire.
Things that end up in your default inbox should be things that require your personal, immediate attention. Everything else should end up in some category for you to wade through when you're procrastinating other stuff. Company announcements? Team updates? Warnings from automated systems? Updates from your CICD pipeline? Everything gets a category, until the only things that land in your inbox are things that need direct attention. - Timebox your butterfly chases.
Ah, the old cliché of the ADHD kid wandering off to chase a butterfly. Classic. And hey, it happens. Fighting it is a constant battle. And sometimes, fighting it isn't even the right choice: maybe your manager asks you to look into something, or a bug gets assigned to you that you're super sure will only take a minute to investigate. Either way, create a timebox to stop yourself from hyper-focusing and wasting hours of time you should be spending on something else. - Know when to immediately do things, and when to backlog them.
Sometimes, you don't have a choice. Production outage? Sorry, but that's priority number one. However, often times you do have a choice. And learning to be smart about when to immediately handle it and when to backlog it pays in spades. With ADHD, it's a double-edged sword. You can immediately handle it and end up getting distracted, hyper-focusing and wasting time. Or you can shelf it and then forget to do it later. Which brings me to my next point... - Keep an organized backlog.
A recurring theme you may be noticing is less discipline, and more organization. I've found it very ineffective to try and whip my brain into shape. One of the best ways to stay organized is to free up space on the stack, so to speak. Don't try to juggle your state management alone, instead keep a rigorous backlog that you can quickly add items to and pop them off when needed. - Put your phone on silent, in another room.
This echoes the minimal input sources sentiment, but deserves a special callout. Studies have found that simply having your phone present effects your cognitive performance, increasing your susceptability to distraction. So turn it on silent, put it in another room and forget about it the best you can. - Automate the boring workflows (when you have time).
This is good practice for any developer, and should be a second-nature impulse if you've been in the field long enough. But it's especially important for maintaining focus, because having to do some monotonous, boring routine is the perfect conditions for your brain to decide literally anything else is more interesting. The workflows don't necessarily have to be long or arudous, either. - Join meetings early.
Maybe it's just me, but it's a constant struggle to remember to join meetings. It goes like this: I get a calendar notification, usually ten minutes before, reminding me of a meeting. Twenty minutes pass and I've gotten distracted or sucked into my work, causing me to completely blow through the meeting start time. To avoid this problem, I've started just joining early. At the first notification from my calendar, I'll join the meeting call and then go back to whatever I was doing until someone else joins. - Full-screen video call meetings.
Let's be realistic with ourselves: we're going to end up opening another tab and doing something else the second the meeting stops having your interest. So full-screen it. Give it your complete and undivided attention. - Favor putting it in writing, including entire meetings.
I strongly favor text-based communications. There's a lot of reasons outside of distractability, but for this particular point, text-based communications are great because they allow you space. Space to think, space to reply, space to get distracted because the dog next door barked and that reminded you that you need to set up a vet appointment...you get the idea. Text is asynchronous, and doesn't require the immediate, undivided attention that talking does. - Holding myself accountable.
I very rarely do this, and don't want to encourage anyone to do so regularly, but occasionally I have to be honest with myself and go "alright, you really just spent 6 hours of your workday on Reddit and playing guitar. You're going to have to work tonight to catch up on what you should have done." It's important to note that you're rarely going to have a "full-focus" day. Nobody does. So don't work late every day because you took an hour off for lunch.
If you've read this far, I'm impressed. I could barely even type this far. I'd like to close on one final note of encouragement and celebration. Dealing with ADHD, and distraction in general, can be frustrating. But it is surmountable, and you can learn to thrive with the cards you've been dealt. Furthermore, it can be cause for celebration! The way an ADHD brain ticks is different from some people, and that difference can cause both good and bad manifestations. For instance, I'm very good at multi-tasking, and very good at juggling complex networks of states in my head. Work with your brain, and turn your struggles to a superpower!