I just read that a local development and consulting company is now doing technical audits for VCs. I'll just say right off the bat, that I think the world of these people and I think this is a great idea and a great service. I'm not here to criticize them at all. But I am here to tell you that when your VCs hire them as part of their due diligence... well... you're almost certainly fucked. Totally.
This isn't the first time I've talked about this. In fact, I was ranting and raving about how Technical Debt is Real Debt just a couple months ago. But, based on the kind of code I see when startups come to me looking to grow, fix, or finish their MVP, the message still isn't getting through.
So, let's walk through the journey here. You have users, traction, revenue, and a nice looking growth curve. You've been pitching left and right and maybe even gone through an accelerator. Things are finally coming together, and you've circled the investors for your VC round. Now comes due diligence. Chances are, you've been so busy being scrappy that you haven't been doing a good job of keeping track of all of the paperwork you're going to need. Now, you're going to be spending a lot of long nights pulling things together. Usually, it's about finding stuff that's lost somewhere in a box or Google Drive, or finally getting around to documenting stuff that never made it past the back of the napkin. That's pretty much par for the course.
But now... one of the VCs wants a technical audit, too. Let me say again... THIS IS A REALLY GOOD IDEA!!! But, unlike those missing employment agreements and mission statements, this one isn't easy to solve. Because this is a real audit. Someone is going to pay about $25,000 to have some experts spend a couple of person-weeks looking deep into your code. Even at first glance, as they look at the README.md file in your GitHub repo, they probably aren't going to see this:
I mean, sure, you've heard that test coverage is important. You know that a good CI/CD process is important. And you've been planning to go back and clean up some of that code you rushed through, right? But let's be honest, you haven't even been watching those metrics, right? Because you're a STARTUP, and startups are young and scrappy and pushing the envelope and all that shit.
So your README file probably looks more like this:
And even if you put in the metrics, your code probably looks more like this:
And that just the first 15 minutes of the audit. There are still another 95.75 person hours worth of auditing to come.
Ok. so that does this all mean? What's the moral of the story? Is the deal dead? No, of course not. But here is what's going to happen:
The audit is going to find that although your code-school graduate "technical cofounder" built your MVP in nine months, the entire focus was on the "minimally" part, and, in the eyes of the professionals, almost none of it is "viable." They're going to be very nice about it. There's not going to be any blame or condemnation. They aren't going to criticize the long functions, the sloppy coding, and all the missing "best practices." They're just going to give an honest assessment of the quality of the code, measured against what a professional development house would have produced. They're going to figure out about how many developer-weeks it will take to bring the code up to industry standards. And that number is going to be big. Really big. Like 75 developer-weeks to go back and bring the code up to snuff. (They won't be bidding on the job. They're neutral and independent so there's no incentive for them to inflate the number. It will be honest and it will be accurate.) But, at an industry rate of between $10K-$25K per developer week, this code audit just reduced the value of your startup by $750K-$1.8M. Because Technical Debt is REAL DEBT!!!
The VCs still love you. It's a great product and you have a great team. But now, you have to convince them that it's worth giving you another $2M to pay down your debt.
Or, perhaps finding a million or two in unexpected debt is exactly the kind of reason good investors do due diligence and walk away from deals.
So the moral of the story is: DON'T WAIT! Find a mentor or a nice person to review your code and technical practices with you. Or go hire an expert to do a mini-audit on your code. Start collecting metrics and start tracking your technical debt like it's real money. Then, as you talk to investors, make it part of your disclosure up front. Savvy investors aren't afraid of debt. They aren't afraid of risk. They are afraid of SURPRISES.