Refreshing

A while ago I built something small. I volunteered my services to crank out a quick and dirty little timezone clock for someone that has to schedule meetings with people scattered across a large chunk of the world. It turned out that there wasn’t a great way to get this information in a readable format and so I stepped in. It didn’t take very long. Despite timezones getting kind of messy and involved, it wasn’t very hard, either.

It was probably the most fun I’ve had writing software in a long time.

The Usual

I spend most of my time working on stuff that will be used by people I will never meet. In fact, I’m only aware of them as an abstract concept. “People” will use this. They will be “users.” It’s helpful to think in these terms if you need to group a bunch of otherwise unrelated entities together and figure out what the commonalities are so you can build them something that serves their needs as a group.

This is imperfect because you (or your team) created some sort of idea of a user that didn’t necessarily correspond to any one individual. If this was in-house software, maybe you had one or two power users in mind that you were crafting for and everyone else was going to fall in line. But generally, you’re taking your best guess at what this invention of yours might want. Sometimes you’re better at guessing than other times.

The feedback you’ll get the most of will be (unintentional) negative feedback. The thing you created broke in some way that created a sore spot for someone in this group. This results in a phone ringing, or a ticket in a queue, or an email. It’s not necessarily out of anger, but all you hear about is when your stuff broke. Generally.

This is necessarily the case when the group that you’re working for is enormous. I work for a company that produces a bunch of software both public-facing and internal. The internal stuff alone is used by more people than I’ve probably met in my life. I could not possibly keep track of all of them and get to know their individual idiomatic behaviors and produce something better for each of them, specifically. The best I can hope for is that my working model is a good enough representation of them, as a group, that I won’t produce something they regard as garbage.

The Refreshment

This aforementioned “someone” actually uses my software. I can talk to them and then they tell me about how much good it’s done for them. I don’t get a notification (by any medium) about how broken it is. 

I didn’t create anything groundbreaking and I’m certainly not going to retire off of this kind of application. The stuff that actually helps someone out doesn’t have to be hard, after all. Someone that never opened an editor in their life isn’t going to be able to easily figure out how to build something even this simple for themselves. It only looks easy when you have the required skills.

I am reminded of the sense of possibility that I felt when I wrote my first program years and years ago. “Hello, world” was a gateway to creating things that I really wanted, or wanted to interact with. The draw was solving problems, getting the computer to do something useful, smoothing off another small rough edge of life.

Between “hello, world” and this ridiculous little timezone application, I’ve had jobs. I’ve been distanced from people who use what I work on and I’ve been subjected to endless debates about how to encapsulate the work in a user story so that I can update a Project Manager that will forget what I said. I’ve had “critical, time sensitive” work shelved when priorities changed. I’ve wandered far afield of what was appealing to this endeavor in the first place.

Sometimes you can make something that really, really makes someone’s day better.

Published by Joe

I'm a software developer from Minnesota. I also ride bikes!

Leave a comment