Why I Code Part 2

Early this month I wrote a post about why I code (tl;dr time is valuable to me), but there is another equally important reason I appreciate software: human error. Right or wrong, computers only do what we tell them, whereas people do basically whatever the hell they want and frequently aren’t even aware of what they’re doing. Guess which one causes more problems?

I’ve spent all of my professional career in academia, which is the only organizational culture that gives politics a run for it’s money on red tape and nonsense. Human error comes into play is when we take our beautiful, powerful, super-magic-future tools and use them as glorified typewriters. Got a survey to send out? Let’s do it on paper and then transcribe the results! Got thousands of records to make minor changes to? Sounds like a job that needs to be spread out over days or weeks as each row is changed in excel by hand. Need to coordinate a meeting with a large number of busy colleagues? Plain text emails to the rescue!

You cannot complete lengthy, time-consuming, monotonous tasks without human error. Anyone who says otherwise is either a liar or a robot disguised as a human. Yet day in and day out I encounter people who insist on doing things by hand even though it’s boring and unfulfilling work that will generate more work when they have to fix the problems caused by their errors. And there will be errors.

The first “real” software I wrote was to automate a boring task I was asked to do by hand. After a few weeks of nearly falling asleep due to boredom (and causing tons of errors in the process) I decided to try my hand at automating it. When I told my boss I had automated the task and it would no longer take me 20 hours/week of wasted time they had no idea what I should do instead because my time was budgeted for this ridiculous task. Did I mention that awful task had been performed by hand for years before I started working there?

And the bar for accuracy isn’t even very high; as long as my code didn’t generate so many errors that I spent more time fixing them then I would have spent doing the task by hand then it’s still a win long term. The only two reasons that leap to mind of why someone would keep doing things by hand when it could be automated are:

  1. They don’t know any better
  2. Having a horrible monotonous task no one else wants keeps them employed

I don’t blame people for reason #1 and I try to spread the good word of technology whenever possible. I absolutely blame people for reason #2, especially when their excuse for not modernizing is “I’ve always done it this way.” Technology is not always the answer, but it is the answer for human-error prone monotony.

And if you’re the kind of person who actually wants to spend their career doing horrible boring error-prone work that could easily be done by a machine, freeing you up to do something more interesting, than I just don’t understand you.