What I learned about programmers by reading 200+ programming jokes (part 1)

The Apifonica blog editor dug into more than 200 programming jokes and noted to her surprise that they covered all of four topics.

I have this friend who turns his life upside down once every five years or so. He learns a new language, moves to a different country, and makes new friends there. So far his multi-year stays have included Russia, the Balkans, and Europe, and he now has his eye set on South America. The thing that I find most interesting, however, is that he has this uncanny ability to acclimate himself to his new surroundings and culture so well that the locals start to accept him as one of their own—I’m not exaggerating! One time I asked him how he’s able to dive so deeply into new cultures. “I read jokes about the country and the people who live there,” he answered. “You can’t imagine how much you can get out of them.”

So, of course, I wondered if his theory would work with jokes about programmers. What could we learn about them by delving into their humor? I jumped right in, reading every programmer joke I could find on the internet—around 200 by my estimation, not counting variations. And you know what?

The way the jokes reflect on programmers follows some interesting patterns we’ll talk about a bit later. For now, though:

The methodology for the “study”

I put “study” in quotation marks since this post is hardly scientific; it’s really just to satisfy my (and maybe even your) curiosity. On the other hand, I really did approach this project with a methodology I’ll briefly describe:

1. I googled “programmer jokes” as well as “programming jokes” and read all the results one after another. I did stick to text, staying away from image and video search results.

2. I stopped reading when I got to ten sites in a row that didn’t have a single joke I hadn’t already read.

3. I threw out variations (when the same joke was told differently). As a result, I was left with 200 unique jokes.

4. I threw out jokes about languages, platforms, and programming techniques (for instance: “Knock-knock.” “Who’s there?” …very long pause… “Java”), figuring that they have little to tell us about programmers themselves. I only left the ones looking at the different aspects of life as a programmer.

I ultimately ended up with three dozen jokes for my analysis.

Classifying jokes

The first thing I decided to do was create a classification system, and for that I needed to figure out which aspect of reality for programmers was being laughed at in each joke. I did that like this:

1. I reread my selection once again and designated a topic for each joke in two or three words.

2. I ran a simple semantic analysis of what I came up with and grouped them by idea.

Imagine my surprise when I realized there were only four of those groups! In other words, I found that for our purposes it would be fair to say that programmers only joke about four topics:

• Programming mindset
• Programmer fears
• Programmer social skills
• Programmers vs. non-programmers

I don’t pretend to have run the be-all and end-all of programmer joke analysis, though I will go so far as to say that every one of the jokes I found about programmers fits easily into one of those four categories. That in itself is already fascinating. The selection points to what is most important to programmers, given that the most important function of humor is to blow off steam and relieve stress. Nobody makes jokes about what doesn’t matter to them. Instead, we joke about what bothers us, what angers us, and what scares us. And that is why looking at the topics programmers joke about can provide valuable insights into what it is like to be one.

We’ll talk about those insights a bit later. But before we do so I’d like to ground our discussion in a few examples of the jokes we’re talking about. I’ll split the post up into two parts so I don’t overwhelm you: part 1 (you’re reading it) will be a short analysis of jokes in the programming mindset and programmer social skills categories. Part 2 (read it here) will look at programmers vs. non-programmers and programmer fears.

Let’s get started.

1. Jokes about the programming mindset

This is the most popular of the four categories both by quantity and by variation. You probably know most of the jokes here, though I’ll include them here for the purposes of our experiment.

1.1. Light bulb

Q: how many programmers does it take to change a light bulb?
A: none, that's a hardware problem

1.2. Car joke

A physicist, an engineer and a programmer were in a car driving over a steep alpine pass when the brakes failed. The car was getting faster and faster, they were struggling to get round the corners and once or twice only the feeble crash barrier saved them from crashing down the side of the mountain. They were sure they were all going to die, when suddenly they spotted an escape lane. They pulled into the escape lane, and came safely to a halt.
The physicist said "We need to model the friction in the brake pads and the resultant temperature rise, see if we can work out why they failed".
The engineer said "I think I've got a few spanners in the back. I'll take a look and see if I can work out what's wrong".
The programmer said "Why don't we get going again and see if it's reproducible?"

1.3. Another car joke

An engineer, a mathematician, and a computer programmer are driving down the road when the car they are in gets a flat tire.
The engineer says that they should buy a new car.
The mathematician says they should sell the old tire and buy a new one.
The computer programmer says they should drive the car around the block and see if the tire fixes itself.

1.4. Errors

A guy is standing on the corner of the street smoking one cigarette after another. A lady walking by notices him and says:
"Hey, don't you know that those things can kill you? I mean, didn't you see the giant warning on the box?!"
"That's OK" says the guy, puffing casually "I'm a computer programmer"
"So? What's that got to do with anything?"
"We don't care about warnings. We only care about errors."

1.5. Father's lesson

A programmer is debugging a program. His son comes over to him:
“Dad, why does the sun rise in the east and set in the west every day?”
“Have you checked to make sure it does?”
“Yep.”
“Really checked?”
“Yes, really!”
“And it works?”
“Yes.”
“It works every day?”
“Yes, every day!”
“Okay, then don’t touch anything and for the love of god don’t change anything!”

1.6. Glass joke

An optimist person will say that the glass is half-full.
A pessimist person will say that the glass is half-empty.
A programmer will say that the glass is twice as large as necessary.

1.7. Another glass joke

A programmer puts two glasses on his bedside table before going to sleep. A full one, in case he gets thirsty, and an empty one, in case he doesn’t.

1.8. Grocery store

A programmer is sent to the grocery store with instructions to "buy butter and see whether they have eggs, if they do, then buy 10." Returning with 10 butters, the programmer says, "they had eggs."

1.9. Shampoo

Why do programmers take so long in the shower?
They read the directions on the shampoo bottle and follow them to the letter: Lather, rinse, and repeat. 

1.10. Beta joke

My attitude isn’t bad. It’s in beta.

1.11. Marines

Once a programmer drowned in the sea. Many Marines where at that time on the beach, but the programmer was shouting "F1 F1" and nobody understood it.

1.12. Janitor

I called the janitor the other day to see what he could do about my dingy linoleum floor. He said he would have been happy to loan me a polisher, but that he hadn't the slightest idea what he had done with it. I told him not to worry about it - that as a programmer it wasn't the first time I had experienced a buffer allocation failure due to a memory error.

1.13. Golden hummer joke

A programmer and a business analyst are sitting in the break room one day eating lunch when suddenly the microwave catches fire. Thinking quickly, the analyst leaps up, unplugs the microwave, grabs the trash can, fills it with water from sink, and dumps the water on the microwave to put out the flames.
A few weeks later the two are again having lunch in the break room when suddenly the coffee maker bursts into flames. The programmer leaps up, grabs the coffee maker, shoves it into the microwave oven, and then hands the trash can to the business analyst, thus re-using the solution developed for the previous project.

1.14. My favorite joke

Don't anthropomorphize computers. They hate that!

And with that, fourteen jokes. At first glance it might seem like they’re all different, though a closer look reveals that they’re all built the same way. The comic effect is a result of programmers interacting with reality just like they would with a computer. Or, of course, the opposite: interacting with a computer just like they would with a living being as in “My favorite joke.” If we were talking about another profession, we would call this professional deformation. When it comes to programmers, I would posit that it’s more a feature than a bug. In other words, it’s the programmer mindset.

2. Jokes about programmer social skills

2.1. Shoes

Q: How do you tell an introverted computer scientist from an extroverted computer scientist?
A: An extroverted computer scientist looks at your shoes when he talks to you.

2.2. Binary joke

There are 10 types of people in the world.
Those who understand binary and those who get laid

2.3. Two diaries

Her diary:
Tonight I thought my husband was acting weird. We had made plans to meet at a nice restaurant for dinner. I was shopping with my friends all day long, so I thought he was upset at a fact that I was a bit late, but he made no comment on it. Conversation wasn’t flowing, so I suggested that we go somewhere quiet so we could talk. He agreed, but he didn’t say much. I asked him what was wrong. He said, «Nothing». I asked him if it was my fault that he was upset. He said he wasn’t upset, that it had nothing to do with me, and not to worry about it. On the way home, I told him that i loved him. He smiled slightly, and kept driving. I can’t explain his behavior, I can’t explain why he didn’t say, «I love you too». When we got home, I felt as if I had lost him completely, as if he wanted nothing to do with me anymore. He just sat there quietly, and watched TV. He continued to seem distant and absent. Finally, with silence around us, I decided to go to bed. About 15 minutes later, he came to bed. But I still felt that he was distracted, and his thoughts were somewhere else. He fell asleep - I cried. I don’t know what to do. I’m almost sure that his thoughts are with someone else. My life is a disaster.

His diary:
My code is broken, can’t figure out why.

2.4. Zero-indexing joke

One day you’ll ask me who takes first place for me—you or programming.
I’ll tell you that it’s programming.
And you’ll leave never knowing that you always took zeroth place.

2.5. Birth control

Q: What do Computer Science students use for birth control?
A: Their personalities

2.6. Mountain bike

Two software programmers meet in the park for lunch.
First programmer: "Hey where did you get that great mountain bike? I bet it cost you a pretty penny?"
Second programmer: "It was free!"
First programmer: "But how did you get it for free?"
Second programmer: "The other day I came to this park to eat and this really beautiful woman rode up. She jumped off her mountain bike, took off all her clothes, and said 'you can have anything you want!'"
First programmer: "You were so right to take the bike. I bet none of her clothes would've fit you."

2.7. Frog joke

A guy was crossing a road one day when a frog called out to him and said, "If you kiss me, I'll turn into a beautiful princess." He bent over, picked up the frog and put it in his pocket.
The frog spoke up again and said, "If you kiss me and turn me back into a beautiful princess, I will stay with you for a week." The guy took the frog out of his pocket, smiled at it and returned it to his pocket.
The frog then cried out, "If you kiss me and turn me back into a princess, I'll stay with you and do anything you want." Again the guy took the frog out, smiled at it and put it back into his pocket.
Finally the frog asked, "What is the matter? I've told you I'm a beautiful princess, that I'll stay with you for a week and do anything you want. Why won't you kiss me?" The guy said, "Listen, I'm a programmer. I don't have time for a girlfriend, but a talking frog is really cool.»"

2.8. Wife & mistress

Three men are talking: A programmer, a doctor, and a lawyer.
The lawyer says, "Man, the only way is to have a mistress. With all these divorce suits, it's terrible. The only way is to have a mistress."
The doctor says, "Are you kidding? With all the STDs out there, you want a wife and that's it."
The programmer says, "You need both a wife and a mistress. Because when you're not with the mistress, she'll assume you're with your wife, and when you're not with your wife, she'll assume you're with your mistress, and THAT leaves you more time to be in the lab programming!"

2.9. Meta joke

Joke: A novice programmer was explained the meaning of RTFM. He showed up the next day saying: "So I went out and bought the Kama Sutra. Now what?"
Meta-joke: If you tell the joke above to a non-programmer, he will ask: "What's RTFM?" A programmer will ask: "What's Kama Sutra?"
Meta-meta-joke: If instead of laughing in response in the meta-joke above you have asked "I knew both, now who am I", then you are probably a programmer over the age of 30, who has realized the value of social skills, and who may even be married, but who is still an uber-geek who takes things way too literally.
If you have asked "I googled both, now who am I", then you are probably a high-school kid who reads stackoverflow and takes things way too literally, but who had not yet known about RTFM or Kama Sutra. Congratulations, you are well on your way to becoming an uber-geek. Please try to acquire some social skills along the way. You may not think so now, but they do come in handy.

The world is a lot less rational and logical than programmers are used to, which can lead to “bugs” in their interactions with other people. What’s interesting is that the focus of every joke, with the exception of the one about shoes, is the bad luck programmers have in their sexual/family lives. A dissatisfying personal, and specifically sexual life is used as a metaphor for the difficulty programmers have fitting into society as a whole. We could also discuss the sexism built into programmer humor, but that is a topic far too delicate to touch on in passing. We’ll leave it to diversity specialists.

***

An alien using programmer humor in an attempt to figure out programmers would have to conclude that they are strange creatures who see the world as a big computer and therefore continually find themselves sexless and in entertaining situations.

That, of course, is a glimpse of the forest that never considers the trees.But how far is it from the truth?

If you believe any important jokes are missing, feel free to PM me on Twitter.

And be sure to read part 2 here for jokes about programmer fears and programmers vs. non-programmers.

More on the topic:

What (else) I learned by reading 200+ programming jokes (part 2)

How to survive the tech bubble's upcoming burst without getting fired

Four good intentions paving the road to programming hell

How bad a software developer are you?