When people ask what I do for a living, I generally say I’m a computer programmer. I say this because it’s simple and understandable, but it’s only partly true. I do a lot more paperwork than programming.
I write test plans. Follow test plans. Write documentation. Organize documentation. Read documentation that tells me what documentation to write. Send e-mails. Answer questions. Manage projects. Estimate costs. Estimate schedules. Define requirements. Design software. Explain to other software developers what we need. Consult with vendors. Receive training. Et cetera.
I’d say that computer programming – the actual writing of code – accounts for less than 20% of my time.
To be fair, these other tasks aren’t just overhead. They are part of my job description. Lots of people in IT do valuable work and never write programs at all. That’s fine.
But when I get to do some real programming – as I have this week – it makes me happy.
It sounds odd to say programming is a simple pleasure. After all, programs are often staggeringly complex, spanning dozens of modules, multiple layers, thousands of lines of code. It’s not at all unusual for a single web application to involve five or more different languages working together (HTML, XML, javascript, SQL, and VB.NET/C# spring to mind). Just learning how to use the development tools is itself a neverending task.
Yet despite all that complexity, programming is a simple pleasure.
It’s simple because computers do exactly what you tell them, no more, no less. And it’s a pleasure because there is joy in precision, in defining a thing and seeing it immediately done.
People are emotional, they’re vague, they have conflicting priorities, they lie, they frequently don’t know what they themselves are doing. Let’s face it: people are trouble.
But if a computer does something wrong, it’s because you (or someone) gave it the wrong instructions.
Programming is also tremendously creative and liberating, because once you know how to write code – in any language – you can do whatever you want. You could write a chatbot, a joke generator, a recipe database, an interactive movie, a speech recognition system, a tic-tac-toe partner – or something cooler than all of those put together.
The mind’s the limit.
I’m reminded of a quote from Jack Sparrow in the first Pirates of the Caribbean movie.
The entire ocean. The entire world. Wherever we want to go, we’ll go. That’s what a ship is, you know. It’s not just a keel and a hull and a deck and sails. That’s what a ship needs. But what a ship is…what the Black Pearl really is…is freedom.
What programming really is, is freedom.
What about you? Do you ever find simple pleasure in complicated things?





