Skip to main content

The Joy of Programming

I was having a conversation with Big-Headed Simon on Friday, about what it meant to be involved in the software industry.

As far as I'm concerned, the whole point of writing all this software is solely to improve people's lives. Solve problems, automate repetitive tasks - generally remove the clutter and periphery from the process at hand, so that there is more time spent at the intention, than is spent on the surrounding process. Ultimately, that should translate into people having more time to enjoy their lives, and less time poking about shuffling paper and arguing with bosses.

So for me, actually writing code is something of a necessary evil. I don't much like it, and as long as something works, I'm not really concerned with how horribly inelegant it is. Computers are fast, they get faster all the time, and If I was honest with myself, I would say that I really couldn't give a toss if my code has an elegantly defined OO hierarchy, or if it's just one enormous chunk of procedural code filled with thousands of nested IF statements . Because, to me it's all just a means to an end - not an end unto itself.

Simon on the other hand, views his work as an art form. He's always striving to write more and more perfect code, and appreciates the code itself, probably slightly more than the problem he's solving. He likes languages, and the subsequent innovation and difference between languages, whereas to me it's just the difference between "Abracadabra" and "sHazzam!".

Obviously well written code is easier to maintain, test and share - which are all great reasons to pay close attention to your code - and for those reasons, whenever I write code I always force myself to refactor (Constant Vigilance!) , even though I really don't want to. I wish I could actually care as I go, but the sad reality is that I don't.

So, as with most things, I guess you need a balance. Hiring a developer who understands the Joy of Programming is a very good thing to do. But, hiring a whole team of them could mean that you miss the whole point of developing software in the first place - you need people focused on the ultimate outcome too.

Comments

  1. I'm with you, Gord. Coding is one of those things that is a means to an end. My problem is probably worse than most. While I can code in everything from c++ to prolog, java to python, as soon as I can see a solution, I get totally bored with finishing the code. I'll jump to the next problem quick smart.

    ReplyDelete

Post a Comment

Popular posts from this blog

Easter at Blackhead

Camping out on the headland, miles from anywhere. Big swell, off-shore winds, clear crisp nights and smoke from the wood fire. Sometimes it's so rewarding to get out from under the pressure of your life and just be a family of humans.

How to rename an XML Node in C#

This was driving me crazy - here's an easy cut and paste solution to not being able to use the DOM to rename a node for lazy developers like me: public static XmlNode RenameNode (XmlNode node, string namespaceURI,string qualifiedName) { if (node.NodeType == XmlNodeType.Element) { XmlElement oldElement = (XmlElement) node; XmlElement newElement = node.OwnerDocument.CreateElement(qualifiedName, namespaceURI); while (oldElement.HasAttributes) { newElement.SetAttributeNode(oldElement.RemoveAttributeNode(oldElement.Attributes[0])); } while (oldElement.HasChildNodes) { newElement.AppendChild(oldElement.FirstChild); } if (oldElement.ParentNode != null) { oldElement.ParentNode.ReplaceChild(newElement, oldElement); } return newElement; } else { return null; } ...

Democracy in Action...

I have to vote in the US Senate Election Tomorrow. Okay, I don't have to vote, but being an Australian American, voting is something we do. Australia has compulsory voting, which I am overwhelmingly supportive of. People often assume that the point of compulsory voting is to somehow educate people about politics - to force them to have an opinion. The reality has nothing to do with voters, and everything to do with ensuring good governance - By forcing politicians to care about every voter, rather than just the ones who can be bothered to go down to the poll both and vote, it means that politicians are consequently forced to address the needs of all the citizens in the country. Under a non compulsory voting system, it's mainly the wealthy and educated who vote. I was a little shocked to find out that part of the aim of the campaign advertisements that have been confusing me for the last month on TV is not to encourage voters to vote for one candidate or another, but to discou...