Here’s a story I like to tell:

I started programming when I was fifteen. (Actually, I wrote my very first BASIC program when I was ten years old, but that’s another story.) I’m now forty-six, so you can see I have some experience. Anyway, when I was fifteen, my dad taught me the rudiments of structured programming. He was a programmer himself, for the Star-Tribune.

Something he said has always stuck with me. He said, what usually happens is this: Management issues some directives; the programmers fulfill the directives; the end users try to use the programs — and things go wrong because the end users were never consulted about what kind of tools they need to do their jobs.

The successful programmer, dad said, is the one who first goes and sits down with the end users, talks to them about their jobs, finds out what they really need — then integrates this knowledge with Management directives. He called this “going native” (before he was a programmer, he took his degree in anthropology).

I’ve always taken this to heart, and in this sense, I’ve got something like thirty years experience in good interface design. Of course, I don’t actually say this on my resume, it’s kind of silly. But it’s a great story, and I think it illustrates the approach I take to my work.

- Karl Jones