This is a post I'd like to share for Geek Mental Help Week in the hope that someone out there would find it helpful.
I am very, very, lucky to be alive and I appreciate that fact every day.
When I was about 24 something went wrong and I broke. I've no idea what the cause was, probably a multitude of things but I went, in what seemed to be a very short time, from being a confident, strong, happy guy to a complete wreck who wanted nothing more than to spare everyone the misery of being around me.
In the following four and a half years I inflicted a multitude of horrible acts upon myself.
- Slit my wrists
- Tried to hang myself,
- Taken multiple overdoses
- Starved myself
- Jumped out of a 3rd storey window
- Burned myself with an iron
- Tried to bleed myself out with a drip.
I distinctly remember lying in a hospital bed crying, throwing up over and over in reaction to Acetylcysteine (used in the treatment of Paracetamol overdose), and begging for a nurse to let me die. I remember the single bloody-mindedness of slicing into my wrist with a Stanley knife despite the incredible pain. I remember the unpleasant sluggishness brought on as a side effect of the multiple medications I was on, and I remember waking up wishing I hadn't.
It wasn't a pleasant time in my life.
I was utterly convinced that I was a burden upon those around me, despite the constant care and love I received. My family and friends were incredibly supportive. In my head I had no discernible skills, no future and was a total waste of time and oxygen.
And then I discovered writing code...
I’d grown up with code around me. My dad used to make text adventure games for the Commodore 64 in his spare time, we always had a computer or five lying around but I only ever played games and did couple of very poorly taught lessons in Basic at school. I had no idea how awesome writing code could be.
It’s the raw unadulterated logic of it all. Life has an unfortunate way of throwing up unsolvable problems at you. Work, money, relationships, so many things can go wrong without reasonable answers but code creates solutions. Sure there’s quirks in every language but they are reasoned or a consequence of poor design. It still all boils down to logic and I love logic. I love the little victories, the fist-pumps, and the immediate visible result of your work.
I was backpacking around Australia in 2008 in a vain attempt to run away from everything when I decided to build a website for people doing the Harvest trail. I’d had very limited success finding farms that weren't intent on exploiting workers and I wanted to help other travellers avoid the bad places and reward the good - The government website was truly awful and I thought I could do better. I didn't have clue how to go about it but as soon as I read the first coding article online I was hooked, I read and absorbed everything I could get my hands upon and couldn't put my laptop down for months. It was amazing and made me feel like I was finally doing something important and useful.
It was a total disaster. Almost impressively slow and clunky and nobody wanted to use it but I genuinely didn't care. (I’d love to have another go at it sometime, maybe when I finally move back out that way). I had found my vocation. I had and have a million other ideas and I want to code them all.
Writing code gave me the focus I need to rebuild myself. It gave me the desperate breathing space my brain needed to let me re-evaluate everything sensibly and set myself firmly on the road to recovery. Whenever I needed a break from the world around me I could always depend on a few hours problem solving to set me back on the right path. With that new-found focus I spoke to doctors and counsellors, I read self-help material, took my medication, I was more honest with my friends and family and I took great care to look after myself.
I got myself a job within a year and have worked hard to make a name for myself, giving back to the community whenever I can through my open source projects. Hopefully I've helped you, the reader, in some small way through writing this.
It’s not all been sunshine and rainbows. I've had setbacks, some of them very major but I've always been able to fight back and found myself stronger as a result. I can be a grumpy shit at times but I've always had my code to turn to in times of trouble.
I’ve not needed medication for almost three years now. I feel pretty much spectacularly awesome 99.99% of the time. I’ve rediscovered a very childlike joy in the simple things in life and I recommend to anyone and everyone to try and do the same. When I look back at the incidences of my past it feels like another lifetime.
I honestly believe that the programmers are particularly prone to depression because we seek logical solutions in things that we cannot possibly control. The particular gifts we have that allow us to successfully solve difficult computational problems are our Achilles heel - We look for answers when there are none and beat ourselves up when we fail.
My success in battling depression has been due to the ability to separate those types of problems. I guess it helped that I came to programming so late and I was immediately able to see the difference.
If I have any advice to give is that you should try to do the same. Enjoy the little victories, don’t sweat in unwinnable situations. As long as you are trying, you are winning and nothing can take that away from you.