Iconic Software Engineering Joke – Downhill Car Break Fail

Downhill Car Brake Fail Software Engineering Joke

(Source of this image:blog.koormann.de)

A Software Engineer, a Hardware Engineer and a Departmental Manager were on their way to a meeting. They were driving down a steep mountain road when suddenly the brakes on their car failed. The car careened almost out of control down the road, bouncing off the crash barriers, until it miraculously ground to a halt scraping along the mountainside. The car’s occupants, shaken but unhurt, now had a problem: they were stuck halfway down a mountain in a car with no brakes. What were they to do?

“I know,” said the Departmental Manager, “Let’s have a meeting, propose a Vision, formulate a Mission Statement, define some Goals, and by a process of Continuous Improvement find a solution to the Critical Problems, and we can be on our way.”

“No, no,” said the Hardware Engineer, “That will take far too long, and besides, that method has never worked before. I’ve got my Swiss Army knife with me, and in no time at all I can strip down the car’s braking system, isolate the fault, fix it, and we can be on our way.”

“Well,” said the Software Engineer, “Before we do anything, I think we should push the car back up the road and see if it happens again.”

Six Stages Of Debugging in Software Engineering

I came across these six stages of debugging somewhere over the internet. So, I created a poster for you guys to print and hang on to your cubes or workplace, if you want. I don’t know the original author of this six stages – so I don’t know who to attribute the original work to. But these stags are great realities of probably anyone’s debugging life.

Here is the text version of these six stages of software debugging

  1. That can’t happen
  2. That doesn’t happen on my machine.
  3. That shouldn’t happen.
  4. Why does that happen?
  5. Oh, I see.
  6. How did that ever work?