Dogfooding Your API: How to Build New Features Faster by Consuming Your Code
Blog post from Zapier
Jared Cheney, a senior software engineer, shares insights on the importance of "dogfooding"—using one's own products before releasing them to customers—while detailing the challenges and lessons learned from developing an API for TSheets. Initially, the team outsourced a desktop widget, which failed due to the API's limitations, prompting them to adopt a new approach of being the first consumers of their API. This shift led to improved API design, allowing them to successfully develop a native Android application by letting the app's requirements dictate the API endpoints. Cheney emphasizes the need to avoid unnecessary features, ensure transparency for external developers, and document tips and tricks for efficient API use. The article underscores how this approach not only enhances product quality but also aligns with the idea that designers should be intimately involved in using and documenting their systems, a concept supported by Donald Knuth's experiences with TeX Typesetting software.