Embracing Dogfooding: A Contractual Mandate for Developers
Written on
Chapter 1: Understanding Dogfooding
Dogfooding refers to the practice of utilizing one's own products or services. For software developers, this means becoming end-users of their creations. This approach can be crucial for refining the user experience, as regular users often struggle to articulate issues in a manner that the internal team can easily comprehend.
> "I believe my code is flawless and the user experiences I create are impeccable. There's no need for dogfooding in my work. Also, I’m not particularly fond of dogs."
Section 1.1: The Developer's Perspective
Recently, I attended a team meeting where the tech lead discussed a new strategy with our tech manager. They requested that we create accounts and actively use our product—a practice known as dogfooding. Their rationale was to uncover any production-related issues.
> "We encountered some production challenges, and it became evident that the team lacked insights since they didn't have access to the production version during development. This is a practice we should reflect on critically."
#### Subsection 1.1.1: The Reality Check
According to my colleague, we now have a formal obligation to engage with our product. "Let me emphasize: our staff is contractually required to use it, and it's surprising how many seem unaware."
> "One developer mentioned encountering difficulties when trying to sign up, which I interpreted as a lack of effort. While I understand that our growing number of contractors might not prioritize the product, the lack of initiative among permanent staff is concerning. If they disregard their contractual duties, how can we trust their input?"
Section 1.2: The Importance of Dogfooding
If we aim for our software to function effectively, we must use it ourselves. Given our technical expertise, we can address issues we identify, potentially discovering problems that typical users might struggle to pinpoint or articulate.
> "If you're not contributing positively to your work, perhaps you should reconsider your position."
While dogfooding isn't obligatory, it plays a critical role in ensuring software quality.
Chapter 2: Finding the Right Fit
"It's essential to choose a company that aligns with your values. The organization described earlier might appeal to those indifferent about the product. It's up to you to evaluate this during the interview process!"
Understanding a company's culture can enhance your chances of career advancement and overall job satisfaction.
Tips for Evaluating Company Values During Interviews
To determine if a company is suitable for you, consider the following:
- Review their stated values prior to the interview.
- Investigate the company culture on platforms like Glassdoor through employee feedback.
- Ask relevant questions during the interview that reflect their values.
- Visit the office to get a genuine sense of the company's atmosphere and meet potential colleagues.
Conclusion
Engaging in dogfooding is an effective way to connect with the products you create. In most cases, it proves beneficial.
> "Sadly, many companies fail to prioritize this practice, often due to individual developers not taking their responsibilities seriously. Isn’t it time they started?"
About the Author
The professional software developer known as "The Secret Developer" can be found on Twitter @TheSDeveloper and frequently shares insights on Medium.com. The Secret Developer may or may not be a dog owner.