If the term “dogfooding” isn’t familiar to you, it’s simply (over-simply?) the practice of using the software you create. I know. Pretty far out there. The idea is this will make your software better. I’m a big believer in it. And so I bring to you today an anecdote (though not from the world of software development) illustrating its usefulness.
I’ve got in my front room a piano we bought off some folks we found in the want ads. A nice piano, but it’s needed tuning for the entire 4 years we’ve had it. So about 8 months ago my son started taking piano from a lady in our neighborhood. I’ve always wanted to learn how to play the piano, so I’ve been the one sitting down with him and helping him through his lessons. After each lesson, I’d say to my wife, “Wife, it’s about time we got that piano tuned.” And she’d say, “Yes, you should find somebody.” “Ok, I’ll do that.” Which I wouldn’t.
Then comes today. The Boy has some duet pieces he’s been learning for a recital that just happened last week. So I decide today is the day that I should learn the 2nd part to play with him, just in case he wants to play it now that the recital is over. One of the pieces is “Bingo” which should be easy enough for me to learn because I can sing the melody in my head as I learn the harmony on the keys. The problem is, every. single. note is out of key.
For the first few times through I try to shrug it off. It’s a small thing, really, and I shouldn’t let it bother me. I’ve got notes to learn, and on a deadline. The Boy will be home from school soon and I’ve got to get this song down so we can play it for his grandparents because they missed the recital and they will be robbed, ROBBED, if they can’t hear the piece as it was meant to be played. But eventually (like 15 minutes) I can’t take it anymore and I call the piano tuner to make an appointment to come tune my piano.