For most of my life I’ve been battling with 2 things: bugs in code and mental illnesses. The former can be fixed given enough time and patience, the latter may never be so.
It is not uncommon being a programmer with mental health issues. Actually, most programmers think are somewhat depressed or that science supports the correlation between spending days of your life coding and mental issues. Albeit some think otherwise, I’m not going to discuss about it. More importantly is to explain to the general public what is exactly like to try to create software while suffering from mental illnesses; in my case, depression and ADHD.
First of all, I constantly feel like I am doing 15% of what I could. Every day. Even in the good days, I can barely do what I consider the minimum for my intelligence and time spent. Perhaps I overestimate either or both but the feeling prevents me to actually enjoy or think as I did enough for the day. Which clearly helps in increasing the depression.
I give up too easily. It’s not like I don’t try, which is something often observer blame me to, I can’t go through the hardiness of learning and applying generous amounts of mental energies which are needed to code and fight off the ADHD. When I don’t get immediate, positive results, that’s when the depression kicks in and giving up becomes automatic.
Most of my days when I code go like this:
- I have an idea to write something or fix a bug
- I rush into implementing it. Key word here is rush as otherwise I believe the idea or fix may slip, forever
- I find issues in the idea (which is perfectly normal for any developer)
- I look for/think about solutions. That means furiously pressing the right keys on the keyboard in order to find the correct solution
- If I don’t find any within 5 minutes, the desire to look away and try something else or another day grows
- Perhaps at this point I found a way to go on with the code but it nonetheless feels like I’m dumb for not having thought of it before or knewn it beforehand
- ADHD is attacking me now, luring me into doing something else, anything else, be it kittens videos or browsing for the news or opening Twitter
- The fights against ADHD starts and the energies are lessening
- Next issue or bug I find is usually when I stop, wonder what am I good at, if anything, getting angry at myself for not being “smart enough” and despairing to ever succeed
- Depression ensues and that’s, unsurprisingly, the end of the coding session
Simply too much thinking about the code, keeping at bay the thought of wasting time as I’m not seeing any progress and fighting against distractions makes me give up each time. Only a bit later or earlier, depending on how many energies I have or the difficulty of the problems I’m facing that day.
What if I did something else? Perhaps I’d make more progress. That’s an ever-occurring thought while coding; I often try to, only finding another block, which restarts the whole process and I look for something else again. Usually after 3-4 times switching objectives, I give up for the day. The thought of trying again makes me irritable and angry at myself until the moment I go to sleep, the ultimate sign of having given up progressing for the day. Next morning I’m usually not in the mood to code, nor I feel encouraged to do so by the previous day failure.
I take frequent breaks. I mean, like every 3 minutes I open a non-coding related website or I get up and have a brief walk. I can’t stay focused for longer than 5 minutes, at most. Unless I am making progresses, which is usually only at the beginning of a project when lots of parts are easy to write and issues come up only later. That’s the best part, where I stay put for hours, in the very best days, and the only ones when I feel really productive. Any other time, I distract myself to not feel the pain of failure and the stress of avoiding it.
It may be not a failure, I know. Logically I do. Yet the feelings are not logical, clearly. I am sure I would not get these feelings if I hadn’t ADHD: without it I would have a sense of having tried hard at least, “giving it all”, and albeit failing, it would assuage my regrets. I’d sleep better, as to say.
Therefore, ADHD is the main culprit. Depression is just the ultimate result of failing again and again.
Yes, I do learn things. It’s not like my efforts go wasted all the time. I’m intelligent enough, and in this I’m quoting most people who know me and by no means making any self-claimg of greatness, to improve even if I give 15% of my intellect to the task at hand. Yet, it’s a waste of time, can’t stop feeling like this.
I wish someday to be able to live one week, one week only, as a programmer without ADHD and depression. I would like to know how it is “on the brighter side”, how it is like to have the mind of those programmers that crunch code all day long and have a dozen side-project they regularly return to. I would like to experience this just to have a way to tell myself how good I am to keep trying despite my mental limitations. That would make returning to my normal self much more bearable.
Main photo credit to Filip Bunkens