Recently, a colleague posed a thought-provoking question: "How much should you spend on infrastructure?" This resonated with me, especially considering the constant challenge of improving build and test infrastructure while maintaining a reasonable level of investment.
Reflecting on past experiences, I found a couple of guidelines worth sharing:
Initially, these seemed like sensible benchmarks, but the more I pondered, the more I realized a universal truth across diverse teams and technologies—slow builds, flaky tests, and information gaps are persistent challenges in software engineering.
This realization led me to a compelling conclusion: When you have someone passionate about improving infrastructure, don't constrain their investment. Finding dedicated individuals for infrastructure work is often a challenge, and imposing rotating shifts leads minimal investment, and in the long term, chronic under-support.
If you have a team member with innovative ideas and genuine motivation to enhance infrastructure, seize that opportunity! Instead of setting limits, nurture their enthusiasm. Acknowledge the positive impact on the entire team and ensure that investing in infrastructure doesn't become a career dead-end. Of course, a well-thought-out plan, progress tracking, and continuous communication are essential. I'm curious to hear from fellow managers—how do you approach this question? What experiences have you had with build and test infrastructure improvements? Let's share insights and elevate the standards of our software engineering practices! 💡