Sometimes my mind is blown about what I actually do for a living, just based on the fact that I have a really hard time explaining it to people. Despite being in a world where cell phones, the internet, and Microsoft Office are part of the daily fabric of life, how many of us are aware of the finer points of creating this software?
So as a fun little exercise, a colleague of mine at work (Michael Swart) was wondering how one would explain their job to someone in 1950 – a time before computers. His explanation inspired this post.
Explaining it in 1950
All of us use some sort of tool to help us with our jobs - a sewing machine, a reciprocating saw, or a typewriter. When you use that thing, you can tell if it has been well designed. Does it do what it’s supposed to do, and does it in such a way that makes that task easier? Does the spindle move without jerking, does it stop on a dime, do the keys mash or click gracefully?
It’s a little more abstract, but think about reading a book. The form of the book itself makes a big difference in how you you read – are the pages a pleasure to flip, is the print too small to read on the trolley, does it stay open or force itself closed, does it look rich, cheap, well worn, or brand new? All of those things are part of the design of that book, and that’s what I do – but not for books.
In the future, reading and writing will not be done with printed books and pens, but with a device called a computer. Computers will have television screens that can show words and pictures (rather than printed paper), and be hooked up to typewriters. This is how schoolchildren will read and write, teachers teach, and most of us send letters and notes to one another.
Computers can do many, many different types of things – each one of these things is called a program. I work for a company that makes computer programs for Universities. My boss tells me “improve this program where people write mathematics equations”, or “make sure that Chinese people can use this as well.” I work on a design for a program, that runs on a computer.
I work with a small team of people: I figure out how a program is supposed to look and behave. Others work on the nuts, bolts, logic, and engineering. Others make sure it works how it’s supposed to (quality inspectors), others write the manual, and others still deliver it to the client, and help them use it. It takes months, sometimes years, for a program to be “done.”
Believe it or not, someone pays me good money to do this.