Why I'm a programmer

This post is inspired by a HN post, Why I'm a Programmer and a discussion with a colleague shortly after I read it.

Reading Nathan's post me me think as to why I'm a programmer, why I'm still programming after 13 years of doing so — many life sentences aren't that long — and why I'm not doing anything else that interests me. So this post is going to be me collating my thoughts as to the above in hopefully a readable format for you.

To the past

It all started when I was much younger, I hurt my knee, bed-ridden my mum went to the library and bought back a book on JavaScript. I remember spending hours - barely being able to read the majority of the book let alone comprehend the technical terms - typing out the code examples, taking bits out and seeing what happened. Missing a comma? Broken. Spelt something wrong? Broken. On top of that, I was using good old IE4 we didn't have the V8 engine to clean up after your mistakes back then! Whether it was the aggravation from my countless mistakes that kept me pursuing an understanding of what was happening or boredom I don't know, craziness perhaps?

What makes a programmer?

By definition, Wikipedia states a programmer as:

{% blockquote Wikipedia, http://en.wikipedia.org/wiki/Programmer %} A programmer, computer programmer, developer, or coder is a person who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software.
{% endblockquote %}

Whilst this may be true, the term "Computer Programmer" is nowhere near as popular as it was a decade or two ago, no, infact we've been seeing the term "Engineer" used instead, which depending on how you look at a programmers job is far more suited, sure, we may be "programming" but we're engineering a solution, like a structural engineer has a solution for the tallest building in the world. But then are "programmers" artists in the same fashion as an engineer? Understanding, yet alone writing good code is an artful skill.

I started writing code because I had nothing better to do. Whilst some people have regarded me as smart — so I have an IQ score, it means nothing to an employer —, I'm not academical in the slightest. Maths especially, three times I've attempted to do better than D in my Maths GCSE, no luck. And yet I'm able to write quite complex code and have an understanding of what's truly happening underneath the high-level code wrappers. Doesn't this go against the whole "Computer science degree required" in a job application? I'm no computer scientist, but that doesn't mean I don't think like one.

The way I see it is that it's having a mix of a logical mindset and motivation to continue learning past what you already know, that allows programmers to program. It's having an understanding of complex patterns and grammars that, although may be typed in English, require a different way of comprehending than it does to write a complete English sentence.

Why am I still doing it?

I think it boils down to simply this; I love it. Although I can spend countless hours infuriated by a single line of code not doing what I think it should be doing, I have a fire inside of me that'll keep burning and pushing me forward to solve my next puzzle, whether that's writing an application, a website or automating a current solution, they're puzzles and I like puzzles.

Yesterday I was discussing with my colleague, Stacie, that I wish I could copy & paste in real life, that I could automate the most boring parts of my day-to-day routine. Writing code is magical to me because I can make things happen by themselves whenever I want.

Today I write code as my full time occupation, some times even in my free time, however I've found that I'm cutting back on my side projects, spending an hour or so here and there, I don't want my hobby to turn in to something I dislike doing.

Would I do anything else? Not unless I lost the use of the majority of my fingers, or my eyesight, otherwise even if I had locked in syndrome I'd be writing the code in my head, not quite Stephen Hawking style mind.

None of this makes sense James!?


comments powered by Disqus