Deciding what to do about technical debt can be as thorny as tackling any other kind of debt. Spending substantial amounts of time and money to rebuild or clean up old code can be difficult to justify or explain, particularly to less technical co-founders or investors who are just focused on getting something out the door. At the same time, paying down technical debt can save you loads of pain in the long run.
To get a sense of how founders should approach the technical debt problem, we asked three brilliant startup leaders—Charity Majors of Honeycomb.io, Dieter Shirley of Dapper Labs, and Nick Rockwell of Fastly—how they think about it.
Lesson #1: Technical debt is a product of success, but not vice versa
When Dieter Shirley of Dapper Labs thinks about technical debt, he likes to use the analogy of pushing a boulder up the side of a hill.
“You spend all this time pushing the boulder uphill and it’s so hard and it’s so much work. But when you catch on in the market, suddenly you’re running downhill after the boulder, running as fast as you can to keep up.”
According to Shirley, a successful startup should be in one of those two situations: boulder pushing, or boulder chasing. If it isn’t, it probably can’t afford to divert resources towards paying down its technical debt. It needs to use as much time and energy as it can to push harder towards the top of the hill.
“The reality is that the most successful teams are the ones that have the most technical debt. It’s not that technical debt causes success, it’s that success causes technical debt,” he points out.
That’s not to say that startups still looking for product-market fit need to relegate the technical debt question completely to the backburner. And this advice only really works for early-stage companies: more mature companies should obviously take care of their technical debt.
“[If] you’re tearing your hair out because technical debt is getting in the way, then yes, by all means, fix it.”
But if you’re a startup and your technical debt isn’t hindering your day to day work, Shirley maintains, you’re better off putting your energy into something else.
Read more in our interview with Shirley here.
Lesson #2: It’s more of an art than a science
“The thing I think most management doesn’t understand [is] how badly engineers want to pay down that tech debt. You usually have to hold them back.”
That’s how Charity Majors of Honeycomb.io approaches the problem of paying down technical debt: realising that engineers don’t see it as a problem at all. Giving them the time and resources they need to clean up their code can be a great way to maintain an empowered, motivated engineering team.
At the same time, working at a startup—especially one that has investors and customers—means that engineering priorities are always competing with commercial ones. Managing that tension and making sure tech debt isn’t crowding out other, more immediate challenges is also important.
“When you’ve just gotten funded, you often have tension with your investors. They’re like, ‘Let’s see some progress.’ While we’re thinking, ‘We just got money, now we can pay down our technical debt.’”
Negotiating these competing priorities can be tricky and involve a lot of intuition—something that can only be learned working in the startup trenches. Majors says that the solution often ultimately comes down to the judgement of that startup’s technical managers.
“It’s more art than science. That’s why you really want to have deeply technical managers, because they have a gut feeling about when you’re starting to accrue too much technical debt.”
To learn more, check out our full interview with Majors here.
Lesson #3: Use your judgement
Nick Rockwell of Fastly often sees managers trying to prioritise technical debt by make a business case for it. While understandable, he thinks that’s the wrong approach.
“A lot of the time I don’t think you can. It’s slippery to say, ‘If we do this work, we’re going to be more productive.’ Although it’s often true, it’s difficult to prove and it sends you right back to productivity metrics.”
Business leaders often simply don’t have the same intuitive understanding around technical debt as technical leaders do. Instead of productivity or financial metrica, Fastly says conversations around technical debt need to be based on trust.
“At the end of the day the most effective way to mitigate tech debt is to say, ‘Trust me on this, this is really important.’”
This way, instead of constantly trying to measure or put a hard number to the outcome of a technical debt project, technical co-founders and engineers can actually focus on what’s important: building a better product.
Rockwell also says being opportunistic can help, especially at large organisations that are pivoting or re-evaluating big projects.
“Sometimes I didn’t even tell the business everything we were doing. We would just do it. I think that’s okay too. That should fall within the purview of the judgement of technical leadership.”
Read more about Rockwell’s experience in our full interview with him here.