I am not often invited to cocktail parties. When I am, however, I inevitably face the "And what exactly is it that you do for a living?" question. I prefer to mumble something about "computers" and let the conversation die a quick, painless death. Just in time to refill my Saratoga Fizz.
Thing is, "computers" is a pretty big field, and my job is just one little slice of the spectrum. Cramming automotive engineers, chauffeurs, mechanics, and gas pump jockeys into a large box labelled "cars" is a reasonable parallel.
Programming -- or "software development" when it's salary negotiation time -- is my chosen career. Unlike the doctor, the lawyer, or the exotic dancer, the programmer is not cocktail party material. The programmer offers few cocktail party-sized services: I can't repair your printer, expunge your spam, or add decimals to your bank account.
So what is it that programmers do? Well, they convert general-purpose computers into dedicated-purpose machines by writing software, but that doesn't tell you anything you already didn't know.
Instead, if you really want a taste of what it is to be a programmer...write instructions to a house-sitter for operating your TV/VCR/DVD/Satellite/Stereo setup. Your instructions are the software, and the house-sitter is the computer: able to do simple tasks but not without specific direction and explicit context.
Operating my TV is a nightmare for the uninitiated. For example, to watch a DVD,
- Turn on the DVD player and insert the disc.
- Turn on the TV, set the volume to about 15, and press the Video button at the base of the set (it's not on the remote).
- Turn on the Stereo and switch the input to AUX. Set the volume control about halfway (the TV speakers don't work properly so the stereo is required).
- Play the DVD by using the controls on the squarish-edged Panasonic remote. Control the volume on the round-edged RCA remote. Don't press the channel buttons or you'll have to get up and press the TV's video button again.
(Separate and different instructions are required for watching VHS tapes or listening to CDs. It is not currently possible to listen to the radio because the dog ate the antenna.)
Even given these instructions, it's uncertain whether the prospective house-sitter will be able to watch DVDs. I've left out all sorts of information about locating the devices and associated buttons, restarting the system after power outages, and dealing with accidental resets of the universal remote. More instruction, more context, more explanation and correction of exceptional circumstances is clearly needed.
That's what it is to be a programmer. Hence the Saratoga Fizz.