I do not like the phrase, “eating your own dog food.”
This metaphor, colloquially shortened to “dogfooding” is one that some software developers use to describe becoming a user of one’s own software.
I don’t like it, because I don’t like eating dog food. It’s not made for me, it’s made for dogs. If I eat it, I’ll inevitably do one of two things: I’ll make it taste good for me instead of for the dog, or I’ll barf.
I don’t like it implies we should endure something odious by using something we made.
If I’m going to make software for which I am one of the users, it should surprise and delight both me, and everyone else who uses it. If I’m going to make software that isn’t for me, I should focus on making sure it will surprise and delight someone else. If I can find someone whom I genuinely like and trust, and make it surprise and delight that person, it can be a wonderful start to things.
The metaphor I like for this is family meal. At a restaurant when a chef cooks up a meal for the line cooks and the wait staff and the dishwashers, it’s called a family meal. It might not be exactly what’s on the menu that night, but it’s something close, and it’s damned fine food.
When programmers do work for other programmers, it should be like a family meal. Not like eating dog food.