Why I Love Writing Software
I don’t know about you, but I took a ton of those job matching tests. I hear they’re called “Jobbos” in the USA, which is a funny name. Every time I did one I got a list of jobs I would obstensibly be suited to. Every time – hand to God – software programmer was on the list.
Mind you, it was often joined by such exciting career paths as “librarian” and “lawyer”.
But, software programmer was the one which stood out. I should say, I was programming before I took these tests. I started making websites when I was around eight years old. I had my first website on the line at around ten years old. I started writing the real software when I was around thirteen. Etc.
So, I was set by around age thirteen on software programmer. And, that’s what I do now and plan to do forever. In that, that’s where any money I have comes from.
And, I love it.
I remember a conversation in school re software programming. The general response was “wow, that sounds boring”. And, I guess it does. Writing line after line of words which don’t seem to do much for one’s fun metre…
Nevertheless, it does for mine. I literally love writing software.
Let me explain how it works. First, you have an idea for something to make. I have around fifty ideas written down in various places. This is the most exciting part. This all consuming tidal wave of thoughts which just won’t stop. Sometimes, all I can think about for days is that latest software idea. It’s a real rush.
Next, comes the general design and detailed planning. Drawing pictures, making notes, working everything out. Damn this is fun. Then, comes the actual planning of code. I love this part too. The experts call it ’software architecture’. It’s the bit where you design high the building will stand up and exactly how everything in it will work. Software architecture is about designing the code and exactly what you need to write. What database software will you use? How will things interact and happen?
Then, you have to write it. I love this bit too (surprisingly). The solving of problems is fantastic. Writing seemingly meaningless words on a screen and then watching as it does something. The incredible frustration when something doesn’t work and the inexplicable joy when you finally crack it. I have literally screamed and cheered in joy when something finally works after hours of fixing it.
I also love the sheer possibilities of software. There really is no limit to what you can put on the screen. Hardware is physical and limited. But, software isn’t. You could write a system with perfect, human level speech recognition. You could write a system which talks to humans and understands what you want perfectly. There are no limits: only the current version number of your software. At the risk of sounding like a unicorn infatuated six year old: if you can dream it, you can build it.
And that’s why I love writing software. I genuinely really enjoy it and it’s pretty much all I want to do forever.