HowICopeAsADeveloperWithADHD
2024-05-12
Dave Mitten
ADHD, autism, and all neurodivergence have been misinterpreted and misunderstood for as long as we have records. Many still see it purely as the reason why some kids can't sit still in class. Yet, as the science and understanding have evolved, ADHD has taken on an umbrella term. It affects those it afflicts uniquely. It's a set of diverse abilities that creates different challenges in modern-day life.
There are studies [1] into how ADHD may have been an evolutionary mismatch. A variety of skills and traits helped humans earlier on and can still be incredibly valuable in the right settings.
ADHD is a spectrum and, therefore, results in different difficulties at varying levels. There are people out there who have ADHD but spend their whole life undiagnosed, wondering how other people have it seemingly so easy.
So, what do we know about ADHD?
"Attention-deficit/hyperactivity disorder (ADHD) is marked by an ongoing pattern of inattention and/or hyperactivity-impulsivity that interferes with functioning or development.""
For the most part, the main issue relevant to this article and my job as a developer is executive functioning. For other people, it might be something different they struggle with. All people living with ADHD have their own unique ways of dealing or not dealing with their own unique bag symptoms.
It is physiological as much as it is psychological.
But who am I?
My name is David Mitten. I am an engineer working at Antler Digital. I have been a developer for almost 6 years, working primarily with Javascript (Typescript), React, and NodeJs.
I have ADHD, I was late diagnosed, and I have to medicate daily.
So, where to start?
Like any issue, before we can solve it, we need to understand precisely the problem we are dealing with; ADHD is no different.
Current research shows us a lot about the condition and how it works. For me, it all boils down to a reduced capacity for executive functioning.
According to the research, ADHD is ultimately an executive functioning issue. This means that while we can imagine a task and desire to do it, we are unable to begin, continue, or finish it.
As I've mentioned, ADHD is an umbrella, and it is unique to each individual. However, many strategies shared by other sufferers and me today might help you in your own ADHD battle. We can rely on certain neurochemistry and tactics to either resolve our issue or aid us in finding a solution.
The currently offered research-backed solutions include.
Medication
Medication helps by generating the neurochemicals we need in the body to bridge the gap our natural make-up lacks on any given stereotypical day. This is not something you can self-medicate, and prescriptions should be given and dosages calculated by a doctor.
CBT
Cognitive behavioural therapy is psychotherapy that teaches you to identify thoughts that work against you and change them into helpful ones.
A simple definition for this is:
- You have a thought,
- That thought creates a negative or anti-pattern,
- The therapy teaches you to analyse what that thought is,
- Categorise it, and then,
- View the thought differently, creating a better or alternative outcome.
There are more solutions, but these are the ones I personally use. I suggest you do more research before beginning any path towards a resolution.
I use these and also create systems, like anyone with ADHD and neurodivergence, to help me achieve my daily goals.
Before diving into these strategies, through trial and error, I have found a couple of specifically 'large needle movers' when it comes to improving my ability to work with my condition:
- I often use the 'remembered' feeling of frustration ahead of the 'felt' feeling to remind me how it is to not achieve the goal. In other words, predicting my disappointment in myself and embodying that feeling assists me in driving myself forward to achieve the desired outcome.
- Secondly, sleep. The number one fixer of problems. Through personal trial and error, I need vastly more sleep than even the helpful articles I've seen online recommend. The science suggests that it is extreme stress or anxiety that creates this high demand. Increased demand on the body or mind increases the dose of sleep needed to repair the body or mind. If you add daily exercise to this, you will often find that your sleep needs become huge compared to a 'normal' or suggested sleeping period. Prioritising sleep has given me the most significant improvement in my daily capabilities and reduced my struggles.
Day organisation
To achieve the most in a day, I have had to set up systems. The day seems longer than it is, and the end comes around much faster than I anticipate every day.
One of the side effects of ADHD is that everything seems to have the same priority; this makes it incredibly difficult to focus on single tasks as any distraction or new information is considered by my brain to be of the same importance, even if the task I am currently working on is mission critical.
Having a daily routine and systematic approach to my day assists in guiding my brain and making it easier for me to complete the tasks per logic or assignment.
Setup
Before logging on, I need to make sure I am ready to start. This means water is ready, I am dressed, and the desk is set up. Whatever it entails, I have to be at the desk, logged in, and ready. Any matter that is in my head needs to be parked. Often, I do this by making an extensive list. Most of it is nonsense, but emptying my head is key. I can ready my mind by info dumping onto a page, (this has the added benefit of saving my colleagues ears too).
I start by reading the notes and conversations from the previous day regarding the work I am about to do today. This grounds me in the work that was completed and the work that needs to be done, and it prepares me for our daily standup.
Note-taking is the single most important thing during my day. Notes do not stop until the work day is over. I write what my colleagues say, what is communicated, and any actionable tasks that can be extracted. Then, I write the tasks list for the day, with times next to it, with breaks included (even breaks of 10 minutes to stretch and get drinks).
I refer back to and adjust the list as I go, updating it and ticking off completed actions. The trick with the day's format is to loop back, periodically reminding myself of what has been done and what needs to be done. It is hard to keep task lists in my head; by only having to remember to check the list, I can keep the focus and complete more items.
Close down
Closing down is as important if not more important than the Setup.
First, I check what has been done. Then, I write up an update of the day's achieved tasks, referring to notes and conversations to make this update accurate. Specifically, for my job, I have to push all code written or updated for the day.
I have to check several times to see if this has been done. I check in the terminal in the history. I check in our CICD systems to see that the branch that has been pushed is building, and then I check in my preferred Git management tool (Sublime merge) to see if the branch has no commits to be pushed to the origin. Checking in multiple places might seem over the top, but it guarantees no code is left sitting locally on a code editor - which can be highly detrimental as we are a remote team with people working at all hours of the clock. Sometimes, if I still feel uncertain, I screenshot evidence of clean branches and add it to the EOD (end of day) update.
How does ADHD affect my job?
- Large amounts of information
- Focus
- Attention to detail
- Deadlines
- Task completion
No, these are not all the problems that people with ADHD suffer from, but they are barriers most neurodivergent people will have to tackle.
Large amounts of information
I had to understand that scale is all in the mind. Any task that is large can be broken down into tiny, almost insignificant steps that seem approachable.
People with ADHD find that tasks won't get done when they are intimidating or show signs of requiring a large amount of effort to complete. The larger the task appears, the more likely my brain will create any number of obvious and non-obvious reasons not to start working on it.
So, logically, the way around this is to reduce the scale. You aren't reading a page, you are reading a sentence, then another.
Focus
Staying on task is hard some days, very hard other days and practically impossible others.
Focus is a significant topic, with many tactics to help improve it, increase it and make it selective. My current solutions are a mix of physical activity in the mornings before I do tasks, more physical movement mid-way through the day and medication.
These are the basics; there are a huge number of factors like hydration, sleep, diet, workspace, etc, that can also help, but to keep it simple, medication and physical activity help me personally stay in the game.
Attention to detail
More recently, this has become an area I have tried to remedy. It was not an area I really paid attention to, but recent events and complications that arose from my inability to remember what had been done led me to devise methods to work around my poor working memory.
Logically, if you don't have a good working memory, you need to create a system to replace this. For me, this presents itself as writing notes. I read about the noting practice of other engineers, recording notes on a pad every day. Writing about the problems that were faced and solutions that were found.
It is much like the film Momento (a great film); whilst this is an extreme version, the lesson is important; you must write down what you cannot remember. To put it into practice, for me, this takes the form of a Notion table. In that table, each row is noted for that day.
Within each Notion page are free-flowing note thoughts. Not one day looks like the other. Yes, a pattern has emerged over time, and I have found I become better at note-taking, but this is secondary to achieving the goal of having the actual note in the first place.
The notes allow me to relieve the pressure on my poor working memory and convert it into a digital format. They allow for tags and grouping, and due to the notions search function, a database, you can search for exact notes.
Deadlines
ADHD can often manifest as an inability to follow standardised time. Deadlines far off in the distance are as difficult to remember as a meeting in an hour.
The time or date for a deadline can quickly be forgotten, and unfortunately, this is an all too common occurrence for me.
To overcome this, I use Notions ' timeline and Apple's Calendar, reminders in both of those, and periodic reviews of when work is due. Remembering to check a list is much easier than remembering all the items on that list.
Task completion
Starting and finishing a task can prove to be a tricky task in itself. In development, we cannot afford this, and it was one of the first things I had to solve to be able to succeed.
To achieve a solution, I had to factor in a few elements.
- Note-taking
- Break down the task into smaller steps
- Realistically time box
- Rubber duck
Notes
As I've mentioned, copious notes keep me on task and improve my ability to pick up where I left off or jump back into projects that have been progressing without me.
Smaller Items
Breaking items into smaller steps allows me to play more accurately where I should be and, most importantly, assists with stopping me from getting in my own way when beginning larger work tasks.
Time Boxing
Realistic timeboxing is needed; otherwise, I can get lost in tasks that are less relevant to the overall goal. As developers we can all get stuck in rabbit holes and really digging down.
One of the most important things I learnt was to ask for help earlier. Timebox my own work and then get my head out of the whole, raise it above the parapet and ask for a second opinion.
Rubber Duck
After all whats the point of working as part of a team if you don't help each other. My team mates helped me realise this and we actively encourage group discussion of solutions and best ways forward.
Rubber ducking is the process of verbalising your problem to someone else, we use this a lot in development to assist in clarity of thinking. Often the act of verbalising to the 'rubber duck' per se unlocks the solution that has been hiding from you.
In summary
Tasks are either not started or not finished for various reasons. The task seems too large to start, or it becomes frustrating or boring midway.
These can be focus killers. Taking breaks is fundamental to keeping yourself focussed. Keeping to small achievable task lists helps breakdown the monotony or weight of the task.
Most of all, I needed to remember why I chose to code, I enjoy it.
Becoming an engineer was an active choice. I wanted to make a better life and a life that I enjoyed everyday I worked. To listen to my body and to be kind to myself also had to be included in that change.
It is easy to find solutions when you want to do the task.
ADHD isn't about not wanting to do something; it is, even though you want to, still not being able to focus and achieve. I have highlighted some of the simpler aspects and tools I use to help me achieve in my roles.
I have many more tricks, supplementation, mental practices, physical practices, and methods that I implore every day.
We as people change each day and that requires different methods to achieve a consistent standard. While I am not the best engineer in the world, I am a good engineer. I strive to support my team and the wider company by being the best version that I can be.
Thankfully, all my teammates understand how much harder I can find, even the simplest of tasks, and always work with me to improve and grow. With teamwork and understanding, this is achievable.
Lets grow your business together
At Antler Digital, we believe that collaboration and communication are the keys to a successful partnership. Our small, dedicated team is passionate about designing and building web applications that exceed our clients' expectations. We take pride in our ability to create modern, scalable solutions that help businesses of all sizes achieve their digital goals.
If you're looking for a partner who will work closely with you to develop a customized web application that meets your unique needs, look no further. From handling the project directly, to fitting in with an existing team, we're here to help.