Eat Your Own Dog Food

The phrase “eat your own dog food” has an interesting origin story (click here to learn more). Its basic meaning is this:

  • Use the product that you are building
  • Get to know the product intimately
  • Put yourself in the user’s shoes

Why?

Because as an engineer, you should give a d*** about the product you build. The more engineers care about the product and its users the better the product will become.

Case study

The year is ~2002. Amazon.com is growing rapidly, having recently expanded from selling only books to selling lots of different things. The need for more infrastructure and software is also expanding. The engineers are working hard, but throughput is lacking. Teams are re-inventing the wheel each time they need to create a new database, server, queue, etc. So, they begin to build internal APIs to support common infrastructure needs for cross-team usage –which greatly increased their development throughput.

This leads to a breakthrough: why not share this with the world?

To support their new Infrastructure as a Service (IaaS) business, they would need to double down on their APIs to make them good for public use. Around this time, Jeff Bezos sends out a mandate that basically says this (and I’m paraphrasing):

“Hey! You know how we want to get others to use our APIs outside of Amazon? And you know how some of our internal teams aren’t using those APIs but rather creating backdoors to access the data they want? Yeah, not okay. No more backdoors. Let’s eat our own dog food. Let’s use the services we create just like the customer will use them –via the APIs over the network.”

paraphrased source

And he ends the memo with this:

Anyone who doesn’t do this will be fired.  Thank you; have a nice day!

Fast-forward to today

AWS is the worldwide leader in Cloud Infrastructure Service Providers. They have a strong culture of using their own products whenever possible –including some tools that are definitely less feature-rich than competitors. A friend of mine who currently works at AWS complains about being forced to use tools like CodeCommit and CodeBuild. But the more painful it is for them to use their software the more likely they are to improve it 😎 . It’s a healthy culture 💪 .

What I believe:

I believe eating your own dog food as an engineer (or sales person, or marketer, etc) will help you build top-notch products and make the world a better place.

If you regularly use the products you’re building, you will:

  • Gain more empathy for the end-user
  • Understand the system more holistically
  • Understand the context behind stuff you build which will in-turn motivate you to do your best work

Yeah, but…

AWS engineers have it easy. They are building engineering tools for engineers when they themselves are engineers. You may be thinking:

“This doesn’t apply to my situation. Here’s my excuse for not eating my own dog food:
– I don’t know the industry.
– I’m not part of the target market.
– I’m not a product manager.”

These are good points. And maybe the product you’re working on really is not easy for you to use yourself. Maybe you won’t understand the value of the feature you built outside of the hands of a real user. That’s why we also do stuff like User Acceptance Testing (UAT) and monitor usage metrics with KPIs and OKRs and adjust the product as needed.

So yeah, sometimes this is hard to do. However, whenever possible, it is wise to partake of your own dog food 🐶 🦴.

How to do this where you work

Here are a few things you can do to engage in using your product or service more:

  • If you can, use the software as yourself.
  • If you must, use the software while pretending you’re someone from the target market.
  • Report bugs you find.
  • Suggest ways to improve the software.
  • Participate in alpha testing new features.
  • If your product manager allows, attend usability testing sessions to witness how the actual user uses your software.

Conclusion

Eating your own dog food worked for AWS, and it can work for your product too. Yes, it takes time. But the pros of using your own software outweigh the cons.

So, Napoleon, maybe you should try your own food before chucking it over the fence to Tina the llama. Just a thought 😉.

One thought on “Eat Your Own Dog Food

Leave a comment