I've written and re-written this about three times firstly because it's relatively personal. This blog's mostly about the Go programming language and tech in general. I don't often do 'personal posts'. They make me feel a bit icky. Like I'm being self-indulgent, or narcissistic. But I figured it was worth putting my very British fears aside and talking publicly about myself, and something personal this time. I also wanted to get the tone absolutey spot-on. I don't want to paint people with ADHD in one light or another. It affects people differently, and it looks very different from person to person. I can only write about my own experiences, and what's generally medically known.
I'm writing this mostly for anyone out there who are going through something similar. As I know a few people close to me who are currently. Who inspired me in part to write this. Or perhaps for people who know someone who might be, who wanted to get a better understanding of their situation. This post will be partially technical, with references to the Software industry and practices, but it's general audience for the most part.
Aged 30, I was diagnosed with ADHD. I was atrocious at school, so this came as no surprise. I was labelled 'class clown' in just about all of my comically terrible school reports. I sensed that school wasn't for me. Despite being bottom set for just about everything, I was making circuits out of batteries and bits of wire I'd salvaged from old broken electronics when I got home by the age of four or five. I was frequently reading encyclopedias and spending hours looking at maps of the world. It was apparent to people that knew me, that I wasn't exactly stupid. I was just 'not living up to my potential'. I left school feeling fairly hopeless like there wasn't much I could do; I felt inadequate and insecure. Especially after 14 or so years of being told I was insufficient, a clown, 'naturally bad at' several subjects. I'd had a lifetime of less than helpful put-downs because I didn't fit that particular system of learning. I was almost removed from school entirely on a couple of occasions; there was talk of sending me to an educational 'unit', which turned out to be a concrete block with bars on the windows and high metal fences. I wondered if this was to adjust kids who fell out of the school system to their potential next move in life after school.
School report from my maths teacher, one of the only teachers I had a good rapport with (he gave me Drum and Bass CD's).
Despite that, I made a career out of something I loved doing, something that tapped into the mind of that 5-year-old kid playing with bits of wire and batteries.
Still, though, this insecure feeling lingered, a sense that I was struggling against a tide that others around me weren't. I became renowned almost every job I had as being a bit of an 'airhead' and someone who needed to be told things a couple of times. Most people found it amusing; I was a character. I even tried to convince myself that maybe I was a chaotic genius type, but I was trying to save face.
After a close call at work, where I failed to follow a list of clearly written instructions, which nearly led to a production outage, I knew something was more of a miss than just being a bit of an airhead.
When I tried to read instructions or do something which required methodical, rigid thinking like this, I could feel my attention pulling away from me; I would zone out. I'd forget where I was in the steps; I'd start doing them in the wrong order. I'd realise I wasn't listening to the person who wrote the steps. The steps were too dull to think about for more than five minutes, but not just slightly dull, unbearably dull. Boring to the point I could barely bring myself to look at this little piece of paper. In fact, the whole task was monotonous, if only I could churn through these steps in record time, and move onto something else. It's hard to describe; these things aren't conscious thoughts, they're feelings that emerge from your core, that pull you in all directions. It's a feeling that builds, like a pressure cooker, intense nervous energy; a sense of impatience.
I went to the doctors and began the assessment process, expecting to show up on the mild end perhaps. Friends and family had to fill out the questionnaire, including somewhat sceptical people. Low and behold, the specialist explained I was on the extreme end. Not only that, of the two main categories of ADHD (hyperactive, and inattentive), I scored relatively high for both. Whilst more on the inattentive side, hyperactivity was also problematic, which people who know me can attest to. Especially anyone who has had to sit through an entire film with me. Or be in a long meeting with me, for example.
So that's the backstory. What does this have to do with Software Engineering? Well, I've noticed an intersect of behaviours which help me, which may benefit others around me, too. I'm going to list some of them, describe how they benefit someone with ADHD, and how they may help everyone else as well. I'm writing this because after I was diagnosed with ADHD, I began wondering if I was cut out for engineering at all, something associated with attention to detail and immense amounts of persistent concentration. I began to suspect I'd peaked, that going to the next levels would require skills that I couldn't offer. But I started to notice positives; it wasn't all doom and gloom; actually, there are some positive behaviours, too.
Light touch processes
I'll be honest; if a company's release process or development process is remotely too elaborate, it will probably take me a while to 'get', and I'll probably start looking for shortcuts. When I started my current role, things were too complicated for me to feel productive. We were doing large releases, which involved carefully working through long lists of steps ever few months(!!). It involved having several streams of work in progress at any given time for teams, multiple features in flight for each team. It involved having branches and changes hanging around for long periods, waiting to be released. After my first few weeks, I thought 'it's only a matter of time before I mess this up'. As a senior engineer and team lead, I knew I couldn't drive this process or maintain it. So for selfish reasons, I knew I had to simplify things. I knew that others could benefit from this, too. Although I didn't make the connection at that time, that I was making things ADHD friendly.
The trouble is with ADHD, the more hurdles we have to jump to get to the juicy part, the more we're going to be distracted along the way. The more we're going to have to wrestle with ourselves and get frustrated to get there.
My role had a degree of freedom to shape things a little, and I was given a great deal of autonomy to do so. So over two years, I helped guide us to CI/CD and trunk-based development. No more long-lived branches to think about, no worrying about release branches and keeping several environments in sync. We condensed everything down to one rule 'don't merge something to master unless it's behind a feature flag, or good to go live', which afforded a great deal of flexibility, as long as you followed that one rule. But this desire to simplify things, to reduce the amount of 'things' I had to try to remember, didn't just benefit me.
This change in processes led me to realise that, if you could make something work for someone with ADHD, you can makes things a breeze for everyone else, too. Because even those without attention deficit disorders, still have to apply mental effort remembering all of these things, it's just that they are more consistently able to do so. In other words, the more systematic, structured thinkers who blow my mind with the number of tiny details they can remember and adhere to, still have to exhaust their mental energy on this.
When I see code that's a wall of text, little abstraction or organisation, not obviously named, poorly organised, I find it hard to concentrate on. A lot of engineers can push through that aversion and make do. But this kind of code can become a hurdle for the ADHD brain. Fundamentally, ADHD is a lack of available dopamine, so the ADHD brain craves novelty and stimulation. Things that people find a 'chore', or trying for little gain, can feel tedious but not impossible to most people. Their dopamine reserves are high enough to reward them for getting through these perhaps less obviously rewarding tasks. But the ADHD brain revolts, and holds the person hostage, and says 'nope, not worth it, you're gonna need to go bigger than this, if you want my help'. So dealing with code that's a chore to deal with requires a period of pleading with one's own mind, for it to cooperate. It becomes a constant battle with more minor, more readily stimulating distractions, like Slack, emails, refreshing Hacker News every 5 minutes, and adding more to the already out of control stash of browser tabs.
When I see code like this, I know I'm going to have a battle on my hands, so the urge to tidy, to simplify, to organise, so that I can focus on the rewarding side of coding more, which is adding value and solving problems. But this need to simplify doesn't just help keep things distraction-free and straightforward for the ADHD brain. It also makes codebases easier to work with for everyone else. I'm not saying people with ADHD write perfect code because of this, absolutely not. We can also be our own worst enemies as well at times. For example, we can attempt to over-abstract things or get stuck down a rabbit hole trying to make things too idealistic when that isn't required, which took me a long time to get better at. So learning to stop when things are 'right enough', is essential. But that urge to simplify, to make things obvious, benefits anyone using that code. But it's almost a necessity for the ADHD brain.
I used to feel stupid asking for clarity, but since the whole ADHD thing, I've realised there's not a huge amount I can do about it, and beating myself up for it, probably won't help either. I know it's not about looking 'foolish' now, it's about accepting that the way I work, I need things to be clear at times. I might need things written down. But actually, I've found that often it's not just me unsure about something. I tend to think out loud, repeat myself, I felt the need to explain myself on this recently, I realised people thought I was re-iterating points back to them, I had to clarify 'oh no, no, this isn't for your benefit, this is for me'. But jokes aside, this process of thinking out loud, writing my understanding out and asking people to check my thinking, has been hugely beneficial for me. But then who doesn't benefit from seeing things written down somewhere in simple terms?
I once described a feeling I get to a friend, expecting they knew what I was talking about. 'I dunno, I guess I just feel like a floating head, and I can only see the thing I'm concentrating on, everything else is greyed out'. I've described that sensation to many people, and I've mostly got blank faces in response. I guess it's what Mihaly Csikszentmihalyi describes as a 'flow state'. Well, the ADHD brain has a flow state as a coping mechanism. It's not fully understood, but the theory is because we find it tricky to focus, when we do tap into something that grabs our attention, we REALLY tap into it.
A lack of effort isn't the core problem for someone with ADHD. It's being able to consistently apply it to something, regardless of it being 'interesting enough', or not. It seems that the reducing barriers to the 'interesting part', and removing distractions seem to be vital (more on this later). It's common for me to have a patchy period where I don't get as much done as I'd like, where I flit aimlessly between tasks I'm struggling to make a dent in. Then bouts of almost uncontrollable output, where nothing else in the world exists. Complete tunnel vision. Where I forget to eat or drink, this is a great state to be in. Which reminds me of a phenomena that will happen from time to time, where passenger planes flying between the UK and the US catch a jet stream of rapid moving air and accidentally do near-supersonic speeds.
It's hard to tame a pinball machine for a brain, but when it comes to coming up with ideas, someone with ADHD can often find themselves in their element. The brain adopts different approaches to thinking about problems that are more fluid, often more visual. It's more like a scrapbook than a textbook. That being said, implementing ideas is the hard part, especially for the ADHD brain. Which leads me onto some strategies I've learnt so far.
What strategies have I adopted?
Whilst there are some abstract benefits to having ADHD, there are also plenty of downsides and obstacles to overcome. Many qualities that come naturally to a lot of engineers will be a considerable struggle for someone with ADHD. But it can happen. It took me years to remember to check and update Jira regularly, for example. Years. I watch juniors straight out of college grasp this habit in a week or two. You're bound to compare yourself with others and feel inadequate and insecure. You have to learn to be kind to yourself first and foremost.
Make things interesting, even if they're not
I used to find 'delivery' boring, tracking work, doing releases, monitoring progress, integrating changes. I was terrible at this. But over the past few years, I realised I had to find a way to take an interest in it to get better at it. I started to see it as a problem that could be optimised. I began to see it as a challenge in its own right. It's not just this extra admin work you have to do; it's integral to engineering, as much as writing lines of code. Once I built-up this narrative, I started thinking about how we could improve it, it became interesting. I began to find enjoyment in releasing changes. I'm still not perfect here, but I can maintain it consistently now with far fewer forgotten tickets and lost branches.
This ties into the simplify and clarify strategy I touched on earlier. But I became conscious of this tendency and built on it. I read that for the ADHD brain, it's essential to keep the path from interest to doing, as short as possible. I'm now always on the lookout for these little trip-wires. In some cases, I've automated some of these problems away, for instance, having scripts that automate daily tasks that I used to have to go into the browser for. Effectively cutting the number of times I have to open up the portal to all distractions.
It can even be simple things, such as closing everything on your computer, not related to what you're working on. Don't give your brain a platter of novelty to choose from by having the Jira tab surrounded by a million interesting articles and programming live coding videos in your browser. I found a Chrome plugin which lets me copy all the open links, so I try to do a 'tab dump' into something like Notion or notes so I can refer back to them later without them hovering dangerously around the things I'm supposed to be doing.
I turned off all notifications on my phone, bar phone calls, and I also put my phone on DND throughout most of the day. With notifications turned on, when I get a notification about reward points for Cafe Nero, it's too tempting to 'just' check x, y, and z whilst I'm here. I've started viewing notifications as things trying to steal my time away from me.
Lists, lists, and more lists
I wish I could tell you that I've had great success organising myself, I've tried just about every approach to writing todo lists and keeping track of things, but I keep coming back to a notepad and a pen. Somedays I write a detailed todo list, and never look at it again. Somedays I can't remember where I put the notepad or forget about the notepad entirely, so don't even write a todo list. I accept that whatever my approach is to todo lists etc., it needs to be ad-hoc, frictionless and somewhere visible. I try to leave my notebook on my desk where I can't miss it. But even that's not foolproof. But, this is what I've stuck to most consistently, so I have to build on that. I've learnt that it's essential to find things that work and build on them.
None cognitive hobbies
I love to cook, especially Indian food. I spend hours watching videos on YouTube, and I'm not satisfied just rustling something up in twenty minutes. If I'm going to cook, I need every pan in the house. I need at least two hours. But it's thoroughly enjoyable. I couldn't figure out where I'd gotten this deep love of cooking from; it's not in my family. But I realised it's about the only time where I tune out, do something mindful. I took up photography recently, too. It's time spent outdoors, surrounded by quiet and nature. I've found some of the chaos dissipates after spending a few hours doing mindful, none technical, or creative activities like this.
I love running; I've run a marathon, countless half marathons and 10k's, I went 'all in' on running after the initial pain subsided. I got something much, much more from it than health. I got a sense of inner peace from it. Still to this day nothing clears my head better than running. The only other thing to come close is mindfulness. Days where I run and do 20 minutes of mindfulness, tend to be consistently pretty good days in terms of ADHD battles. Not just in terms of productivity, but self-esteem, confidence, sleep, just about every aspect of my well being.
What I'm still working on
People with ADHD tend to be night-owls, for whatever reason this seems to be reasonably consistent. I'm not really 'ready for bed' until around 2 am. People say to me 'just go to bed earlier'. What happens when I do this? I lie in bed wide awake until around 2 am, and then it might take me another hour to fall asleep. Unfortunately, it's hard for us to switch-off. Which, in a cruel twist of fate, exacerbates other ADHD symptoms. Unfortunately, the world isn't built for us night owls. I wish I could offer advice here. But sadly, I can't. What's worse, the medication you will likely be prescribed will be a long-lasting, powerful stimulant, similar to speed. So things could get a lot worse here. You can ask your doctor about sleeping pills, such as melatonin. But I can't report back on this yet.
Another aspect of exhaustion, the constant need for stimulation and novelty means it's easy to overdo it. The ADHD brains wiring might be slightly different, but your body isn't. I still don't know how to switch off properly. Which means I spend a lot of time completely exhausted and don't have a sufficient enough strategy for recharging. Someone described ADHD to me once, as being like an engine, or motor that's continuously running. The time when I'm supposed to be relaxing, sitting on the sofa watching a film, I'm refreshing Twitter, fidgeting, moving around in my seat. Thoughts are often racing about anything and everything.
I still struggle with impulse buying on Amazon, swaying violently from eating raw brocoli, to three takeaways a week. I don't drink, because it becomes an effort to not drink everyday. I was a heavy smoker by the time I was 20 (I managed to stop luckily). I suspect this will be a life time's work to mitigate. Medication helps with this by boosting available dopamine, but only for the first 12 hours of the day.
I always thought I was 'sensitive' or 'hot-headed', quick to react. I thought that was just me. Well, the impulsivity of ADHD applies to emotional regulation as well. ADHD comes with another acronym, RDS, or Rejection Sensitive Dysphoria. Which isn't fully understood, but many people with ADHD have a hard time regulating things like the perception of themselves, have difficulty dealing with criticism, tend to catastrophise and take things to heart. We also tend to dwell on things, to overthink nuances of peoples choices of words, in minute detail. There's some suggestion that the part of the brain that would typically act as a filter. Doesn't get a chance to 'kick in', before the more intuitive or emotional part of the brain has already reacted. Meaning the emotional regulation aspect of the ADHD brain can be as ineffective as the ADHD brain's ability to regulate biscuit intake, or alcohol intake, for example. In other words, it's a part of the same misconfigured impulse control.
Some theorise a lot of this stems from growing up in a competitive environment which just isn't geared to the ADHD mind, which means from an early age, effectively being entered into a 16 year-long losing race. Only then to have to go out into the world, with all these insecurities, to find work, to maintain relationships, to manage your money, your time, not fall into too many destructive behaviours. It's predicted that at least 25%  of the prison population meet the diagnostic criteria for ADHD. Which is a large percentage, given only 2.8%  of the population are said to have the condition. So no wonder we find criticism and rejection often challenging to shoulder. Besides the neurological considerations, we've already had a lifetime of criticism to deal with.
There's a chance it's down to a combination of the above. Which gives me hope that the more people understand and adapt the environment for people with ADHD, the better this could get to some extent.
In summary, it isn't all bad at all; in some ways, we serve a purpose. There's even some suggestion that that's always been the case, too . I don't intend to make excuses or to give myself a free pass; because I never give up trying to improve and to work on my flaws (for want of a better word). But I have given up believing in the use of guilt and shame as a self-motivating force, and now focus on more positive ways to view myself and my abilities. As perhaps positive differences, rather than downfalls.
I'm going to end with a link to a TED Talk by an inspirational individual who's done fantastic work for people with ADHD: https://www.youtube.com/watch?v=JiwZQNYlGQI
- https://bmcpsychiatry.biomedcentral.com/articles/10.1186/s12888-018-1858-9#:~:text=With around a quarter of,recidivism%2C appropriate intervention is crucial.
- https://www.additudemag.com/statistics-of-adhd/#:~:text=ADHD Prevalence in Adults,according to a 2016 study.&text=Prevalence estimates for adult ADHD,0.43 percent a decade prior.