1. What's your background that’s led you to your current position at ProdPerfect?
My background is mostly in back-end software engineering, site reliability and operations. I'm familiar with standard QA practices, but it's never been my job.
I knew ProdPerfect was a good fit because, in my prior job, I built a smaller-scale version of what ProdPerfect does. I built an environment that allowed our internal teams to test any branch of their software in a scalable, dynamic QA environment. That project gave me an idea of what it would look like to do this kind of work at scale, which is one of ProdPerfect’s primary goals—to make testing easy and scalable.
2. Can you paint for me a picture of what life is like in your role?
At this stage, we're figuring out how to scale, which is one of my favorite problems to solve. I like taking a technical solution and figuring out how to expand it and roll it out.
One project my team is working on now is what we call our remote harness environment. Until recently, customers ran tests in their own Continuous Integration (CI) systems. They would maintain their own servers to do that. The remote harness allows customers to run tests on demand, on infrastructure that ProdPerfect controls. They don't have to worry about running servers or doing anything that would make integrating with ProdPerfect difficult. My job is building that and then scaling it. I.e.: How do we support 10 times as many customers as we have now?
3. What are some elements of a "typical" interaction with customers considering our product?
The role of my team is to maintain infrastructure, build APIs, and provide a nice, uniform experience for running workloads in our environment. So my interaction with customers is through tooling—publishing and releasing tooling customers can use to run tests. Our goal is to provide consistent, reliable tooling that behaves predictably and is a joy to use.
Internally, it’s a support-based interaction. If customers have questions like “How does this work?” or “Why is this not working?”, we'll investigate, support, and troubleshoot. We’ll figure out why the environment is failing to behave the way we want it to. For other teams, we develop best practices and make sure that, across the organization, we're doing things consistently in a way that's scalable and maintainable.
"I saw how powerful my work was in enabling other teams."
4. What intrigues you about engineering at ProdPerfect?
The thing that got me hooked was when I saw how powerful my work was in enabling other teams. I realized the work I'd done—even though it was difficult—was worth the investment because it saved so many other teams so many hours. The idea of doing that at scale was really interesting. It's a really hard and finicky problem to solve even for a single company. So it's super ambitious to solve that broadly for lots of companies.
I also find it interesting because we're a start-up. You don't know how we'll grow. So it’s the excitement of building something out that doesn't exist yet and learning how to scale it as the business grows.
5. How do you explain to people the value of ProdPerfect?
The value we provide is in making the process of developing software better and in making better quality software. We cut out friction by making it easier to test, maintain and develop software, and deploy things with confidence. Of course, there's also value in money saved in not shipping bugs.
Another thing I think about for anyone involved in the development lifecycle is: How frustrating is it for them to test software and get a release out? If we make testing easy and quick, everyone will use it. But if it's tedious and frustrating, people are going to skip steps. And they're not going to use systems that are there.
One of the other things that got me hooked was our CEO and Cofounder Dan's vision and enthusiasm. The company has a set of values and everything revolves around that.
6. In your own words, how would you differentiate ProdPerfect from competitors?
We are multiple products in one. There's the analytics side: capturing analytics from customer sites. Then there's machine-learning automation: a lot of companies do testing, but our efforts are to remove humans from that process and still make testing useful. Then, there’s what my team does: serve as an infrastructure provider. We're not just handing off tests and saying: "Here, go run these." We'll even run the tests for our customers.
We collect the data, develop the tests in an automated fashion, and we even provide the infrastructure to run those tests. It's as low-friction as we can make it. The unique combination of how we're solving this problem is definitely what sets us apart.