Sometimes it's difficult to define programming to people. Especially too old or too young people can not understand what I do to earn money. They think that I repair computers, or they want to think that I (as an engineer) build computers at work. :) It's really hard to tell people that you produce something they can't touch.

Here is a funny question, how would you explain your job to a 5-year-old?

+36  A: 

You teach computers how to do things.

You don't teach them - you tell them to.
Scarcely accurate
Ólafur Waage
Not really. That's more what users do. Programmers create process, which is analogous to teaching humans. A user says "Print my document"; a programmer had to teach the computer how to do that.
am with you on this chaos - we teach them to do things+1
Please keep in mind that we are talking to a 5 year old... ;)
that's very shakey ground, programming isn't really analogous to teaching humans. You tell them to do things. Humans have 'free will', computers in this instance, do not. I slightly agree with the way of explaining but it's not a good analogy.
What have you *told* a computer to do when you write a system library? You haven't initiated a process, you've added a capability which can be called upon at will in the future. I cannot imagine what's more closely analogous to teaching.
I think "teaching" implies that the computer has flexibility in achieving a desired result (or that it knows about any desired result). What we do is more like giving the computer a rigid set of orders to follow -- whether the result is what we intend or not.
Ever write a heuristic?
If you're teaching, it implies that the computer is learning. What they do isn't really learning though, even though it looks like it, even though they eventually might pass a Turing test. On the code level, they're still just following the orders you've given it.
You're going to make me pull out the neural networks, aren't you.
+1 "teaching" is fine, especially when explaining it to a kid. You could even make the analogy explicit: it's like a school for computers, and you're the teacher, you tell computers how things work and how to do things. It's perfectly fine for a kid. This is not for a computer science book.
+1 I think this is great and will certainly suffice for a 5 year old :P
+3  A: 

You make computer games. Sure, they might be really boring games, but it's the closest thing they can relate to! Or you make web sites.

+1  A: 

"I write software that makes funny noises"

Nik Reiman
Yep, every child knows what "software" means :)
Arve Systad
No, but they don't care anyways. But they all love the funny noises. :)
Nik Reiman
+9  A: 

I like to tell kids that I invent computer programs. They always ask "what did you invent so far?"

Martin Cote
+57  A: 

Computers are machines that can do all kinds of interesting things... but only if you know how to speak their language.

I talk to computers in their language, and I tell them what I'd like them to do. And if I've told them how to it right, they do it! :)

+1: Excellent answer!
Anthony Cuozzo
Show me!!! Talk to that computer!! <type type type> No, TALK to the computer.
It's a good idea to include the part about "if I've told them how to it right."
Rob Kennedy
Yeah, I was thinking that it's good to give the kid a glimmer of what the challenge and fun is all about.
+1 You make it actually sound *interesting* to other people. :)
Kyle Rozendo
The "computer whisperer". Awesome
Tim Drisdelle
@Tim Best comment ever!!
Jake Petroules
+4  A: 

You can say that you speak computer language and that you use it to tell them what to do or how to behave.


My five year old thinks daddy works in an office.

+1  A: 

I tell me daughter, she's six, that "I fix computers", which isn't far wrong because I seem to spend most of my time fixing bugs these days.

Steve Claridge
+13  A: 

I'm the computer's boss.

Jeff O
guess you're not programming for vista then
5 yr olds love Vista.
Jeff O
Are you sure the computer isn't your boss?
The computer doesn't sign my checks, yet.
Jeff O
+7  A: 

Mind your own business you cheeky little...

Peter Morris
ehehe. Tres droll.
+18  A: 

I told my kids I make software, which I equated with "things you do on the computer, like Google Earth". They love Google Earth, so this clicked.

So...the eldest one (8) told her teacher "my dad made Google Earth", which they were suitably impressed by.

Not looking forward to next parents evening...

Paul Dixon
hehe "my dad made Google Earth" that's awesome :)
+14  A: 

I told my 5-year-old daughter that computers are high-speed idiots that need to be told what to do by low-speed idiots. I'm one of those low-speed idiots :-)

+14  A: 

"I write Silverlight apps that utilise WCF Webservices that interface to a SQL Server database. I wont patronise you by attempting to simplify it because I know your skills already surpass mine"

Kids these days...

Hahahaha. I'm 21 and I feel old, not to mention outdated by younger people who are learning things I haven't had a chance to get into yet.
+5  A: 

When I was a kid, I thought tiny men make the TV work.

So I can say : "I feed tiny blue men that live in computers."

+9  A: 

"I put food on the table, now go shovel the driveway and get a job"


"Just google it...!"

+2  A: 

I use metaphors like constructing buildings, gardening, cars driving on motorhighways, etc. whatever fits the current thing I explain. Fruits are brilliant to explain how operating-systems are layered.

problem with this is - people often loose track on what you really are doing. so mostly I just tell them and then I explain it constructing a metaphor using their field of work. Since old-people often used to work in any craftsmanship or know how such things work - and even little children can imagine how a house is built (in general).

It's a problem - explaining what you're doing - in any conversation, since it's often so abstract that the communication-partner can't really understand all the implications and oneself is too stuck to talk about anything else ;)

+9  A: 

My five year old is into secret codes, after learning about them from his seven year old neighbor, and he has recognized the word "code" on some of my computer books. So I told him I write special codes that tell computers what to do.

Bruce Alderman
+4  A: 

"Well, most of the time I'm making the computer show pretty colors! Well actually it's just one color. It's a big, ehm... pretty blue screen with a lot of little white letters and numbers. Nobody knows what they mean, nobody. And then, after the pretty blue screen, the computer goes to sleep."

+4  A: 

The janitor of the computer world. I clean up everyone else messes .....

+6  A: 

My 2.5 yr old is happy with "Daddy goes on a train to work". Trains are even better than trucks/diggers.

Although I worry that by the time he's five, he will think I drive the train.

Colin Pickard
This answer exactly reflects the reality of my 2.5 year old. Except I get a bus, not a train. Unfortunately, busses are less cool than anything you've listed above!
+2  A: 

Could say something like i'm a typist only difference is i can type whatever the hell i want!! and get paid for it! lol!

+3  A: 

Or, how does a five year old describe your job? My 3 year old says:

"Mummy works in a big building."

"Daddy plays in his study."

I guess that is close enough for now!

+1  A: 

"I'm an astronaut!"


Greg D
+3  A: 

"The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.

Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be."

F. Brooks

For a child you can say the same thing with different words: "With computer you can do all you can imagine, including creating robots, create music, manipulate objects... The only thing which limits you is what you know, so learn, learn, learn".

Nicolas Dorier
this needs more upvotes

"Daddy, what do you do with computers?"

"Go to your room".