Kevin is the VP of Engineering at Abnormal Security, overseeing all aspects of growth and execution. In this class, he walks through the steps required to create and support a SaaS product from an engineering perspective, with a particular focus on what aspects to prioritize in the early days of your product. Kevin spent time at eBay and Quantcast prior to becoming an early-stage engineer leader at TellApart, then a Director of Engineering at Twitter.
Kevin W: Yeah. I mean, there's a lot of different things. I have to come into this. I think the first one that comes to mind for me around managing technical debt is you as an engineering leader in collaboration with your product partners have to really think through what is the right amount of time.
We breathe and expect any engineering team. Working on tech debt or keeping the lights on for a particular system. [00:20:00] And I don't think there's a perfect answer, but I've generally seen most teams are spending somewhere most healthy teams, rather, I guess I would say are spending 10 to 20% of the time doing tech debt kind of reduction working through, particular bugs or fixes that came up from the on-call right in the last week's rotation.
so I think the first thing you have to do is you have to get to some type of internal agreement of what is the right amount of time that you feel is. For your company and your team right now to be spending on tech debt. And that has to come into collaboration with a product partner. And the reason why that's really important, because you can then see that as a potential percentage are shifting over time.
Kevin W: Once you see yourself breach that SLA, it should be. Hopefully a lot easier to say, we need to prioritize, spending more time paying down that tech debt now, because we've seen that kind of shift into really what's slowing down the team from really being able to build new product features the first place, Because it's catching up to them over time. So that's one kind of problem we definitely have seen. And it's, there's usually an oscillation naturally over time as tech that looks better or worse just at different times in a company's [00:21:00] existence. The second thing. I think that we've really been struggling with as well, that I think happens when we're at a very Fastly growing company, is that the types of systems that you have to build to allow, hundred engineers to be simultaneously checking in code and deploying code on a code base is very different than what you need to build for those engineering effective systems for 10 engineers, right?
Just you have 10 X, more deploys, 10 X, more PR that are going out 10 X, more bugs being shipped, actually. So thinking through what are the. pretty fundamental school, technologies and systems you have to build to identify bugs as quickly as possible or regressions, continuous deployment, right?
Can use integration, et cetera, to really make sure that you can scale out the productivity of the team is also super important as your company, your product skills as well.