In which I confess things about code

I have a confession and my confession is this:
I have a masters degree in computer science and am an out-and-proud geek, yet I couldn’t code my way out of a wet paper bag.
 
Ask me to use existing software to work out the viewshed analysis of an ancient Mesopotamian settlement, or display the pottery distribution of an Egyptian burial mound and I am *there*. I’ve even been known to set up the odd blog and website in my time, tinkering with templates and settings and what-have-you. I wrote this post using markup language to make certain words bold and create the hyperlinks and so forth.
 
But ask me to do anything more complex than working out why something isn’t displaying as italic on a webpage and I am lost. Honestly, anything more involved than coding a simple webpage (and let’s not forget using tables for layout was still an accepted practice when I learnt, gods help me) and I am stumped.

Suggest I create a computer programme from scratch? I will laugh and laugh at you. And then go hide under my desk hugging my MacBook, sobbing, feeling like a traitor to my geek-self.
 
Coding is a skill set I have just never learnt.

I’m clearly not scared of computers or technology and I have been playing with them since my father first brought one home in the late 80’s. I cut my geek-teeth on DOS and the C: prompt.

Somewhere along the way, however, I fell into the role of playing with (and frequently breaking!) the software that my brother coded. I became all about making existing software dance to my tune – learning what could be bent to do what was needed, and what you just had to work around because “it wasn’t built for that”. When faced with these limitations however, for some reason, I never thought “well, the tool I want doesn’t exist, so why don’t I just make my own?”

Which is crazy, when you think about it.

Because I am, first and foremost, all about learning the WHY. I have to figure out how things work and their underlying logic. It’s why I am constantly trying new things, picking up new hobbies. I am driven to understand how things are put together. So it would make sense, wouldn’t it, if I was to learn more about how the software I love playing with was coded and put together?

It’s not really because I doubt my ability. I’ve just… never learnt. Is that because I was never given the opportunity? Was it assumed that the boys would learn this stuff whilst the girls would just learn the touch-typing? Did I mentally just put this stuff into a “the things my brother does” box and move on to other things?

No matter.
 
2015 seems like the perfect time to change that. And Emma Barnes couldn’t agree more – her clarion call in the Bookseller lays out wonderfully all the reasons we should, every one of us, be reaching for that how-to guide. (Whilst Publishing-centric, the argument holds true for any industry really).
 
It really isn’t rocket science. Learn to code and you will be much better prepared to understand what is possible and to know when the tech-heads are having a laugh and taking you for a ride. You’ll be better placed to articulate what you actually want. You will be able to understand the limitations – certain things HAVE to be done certain ways because you decided things right at the beginning. Do ISBNs have 9, 10, or 13 digits, for example. Only code the capacity for 9 into your programme at the start and… Oops! Time and money to fix.

I’m not saying we all have to become professional coders and build our own Twitter, or version of Word, our own publishing platform, or a remote control that turns the kettle on in the morning three minutes before the alarm goes off so it’s boiling when I stumble into the kitchen…

(OK, someone has to build me that. NOW.)

I’m not saying you have to build a whole new thing from scratch. We can’t all be the ideas people and we can’t all have the desire, or quite frankly the time, to be the next Silicon Valley innovator. But in this day and age of open source, RaspberryPIs, and APIs, I do think we all need to educate ourselves and learn at least the basics.

Computers don’t scare me. Code, for some reason, does. A little bit. So here I will make my stand and say “Enough”. I will not be defeated Ruby, or Python, or Java, or (insert programming language here). I am reaching for the coding tutorials and I am excited about it.

I really am.

Who’s going to join me?