You might have asked yourself why I, someone who offers web development and design services, used WordPress (with a standard theme) for my business homepage. Especially when so much of my work focuses on eating my own dog food.
Great question! Especially considering the fact that I use a custom CMS (called Meerkats CMS)for most of my clients’ websites, including ktschmid.de and many others.
“Eating your own dog food” and the limits of this philosophy
In a lot of software development companies, including my former employer Adobe, the sentence “eating your own dog food” (also: “dogfooding”) is used to describe using your own products in your day-to-day work.
There are, in fact, plenty of benefits to this. On the practical side, it means that developers will face any issues their customers will face themselves. There is also a layer of psychology to this:
“[Dogfooding] provides some evidence that the company has confidence in its own software.”
Warren Harrison
In many of my projects, I very much believe in a dogfooding approach. Most of my products are developed because I need them daily in the first place. I’m super motivated to fix bugs because – you’ve guessed it – they vex me just as much (if not more so) than you.
However, it’s important to also understand and appreciate the limits of this approach.
“In a market-driven industry such as software development, developers must understand not just their product but the products of others.”
Warren Harrison
Firstly, always eating your own dog food can lead to not seeing helpful features in your competition’s products. Especially in a specialized environment like a CMS, it is unusual for your clients to have experience with more systems than the one you introduce to them. So getting these as feature requests rarely happens. And planning features blindly without knowing about alternatives would be far from ideal.
But there’s also another aspect: a system being designed to be used by clients doesn’t necessarily have to be designed to be used by yourself. The fact that a client hired you usually means that you will probably work with the system from two different perspectives – yours and that of your client. You will tend to optimize the system to have a smooth interface between your client and yourself (and, thus, your respective perspectives on the system). When using that very system by yourself, you then work without that boundary (and interface) your system was optimized around.
Using WordPress for this homepage instead of eating our own dog food using the Meerkats CMS
In conclusion, using WordPress for this site instead of eating my own dog food and using the Meerkats CMS came down to these factors:
- Getting experience building my first site with WordPress and learning about its new features.
- Having more flexibility in terms of design decisions (the Meerkats CMS is more rigid out-of-the-box).
- Focusing exclusively on the content – web developers typically have the least amount of time for their own website.
- The Meerkats CMS is designed to optimize the collaboration between content editors and developers. This means that there is a rigid boundary between writing code (and with it, the design of the page) and producing content. A suboptimal boundary when working on a site all by myself.
Conclusion
Yes, I still believe in eating my own dog food. Yes, I will still develop Meerkats CMS. I’m still convinced it’s a great tool for many of the projects I get hired for. And yes: I still use the CMS myself for many projects.
But beyond catchy phrases like eating your own dog food, it is my job as a professional developer to know and choose the right tool for the job. Even if, like here, that isn’t my own dog food.
References