Technical Debt Will Kill You Dead (If You Let It)

Comment

Jon Evans

Contributor

Jon Evans is the CTO of the engineering consultancy HappyFunCorp; the award-winning author of six novels, one graphic novel, and a book of travel writing; and TechCrunch’s weekend columnist since 2010.

More posts from Jon Evans

A project I’ve been working on launched recently. Well, re-launched. A slick little iPhone app called Postography, which lets you send postcards with messages and pictures from your iPhone. Nifty, but sounds fairly straightforward, right? An app that shouldn’t have taken too much time to build.

Unfortunately, we didn’t build it; we rebuilt it. And the company that took the first crack at it (naming no names here) did a fairly good job on the server side…but epically botched the initial version of the app itself. Oh, it ultimately sort of kind of worked, other than the many bugs and frequent crashes. But quite aside from those, its codebase was such a festering abyss of global variables, spaghetti code, hacks, no-ops and race conditions that extending it or changing it at all was next to impossible without major reconstructive surgery.

This happens a lot more than anyone would like to admit. Behind the shiny UI of many applications there lurk Lovecraftian architectural nightmares that challenge the very sanity of anyone charged with maintaining them or adding features. Ask a developer, any developer; they’ll have some horrific tales to tell.

And if yours is one of those–if your company is an app, and that app works, but doesn’t work cleanly, or elegantly, or extensibly, or scalably–then your company has already racked up a pile of technical debt, and whether you know it yet or not, you’re already in big trouble.

I like to use a housing metaphor: just because your house looks good, and its rooms are comfortable and well-decorated, doesn’t mean it isn’t built on such a poor foundation that it may collapse if a heavyset guest so much as runs down the stairs. Add another story? Are you kidding? Forget about it. Indeed, your house may have been built on poor ground to begin with, in which case not even a new foundation will do: you have to scrap it entirely and start again somewhere else.

This happens even at extremely technical companies. I give you RIM as an example. Remember when they released a tablet without an email app? Remember how they silently treaded water for an apparent eternity while iOS and Android left BlackBerry in their wake? These debacles were not design choices or deliberate executive decisions. They happened because RIM had run up an enormous amount of technical debt, and it took them years to pay it off.

Like monetary debt, technical debt is perfectly OK as long as a) you don’t accrue too much of it and b) you know all about it. Of course there are often compromises to be made between, for instance, scalability and speed of development. Of course when a deadline is approaching, and/or the funding is running low, and the task seems immense, the quick-hack shortcut is sometimes the right choice. Of course all developers are understandably biased towards the tools they know–or, sometimes, the tools they want to learn–rather than the one that’s ideal for the job at hand.

Like all debt, technical debt compounds with time.

But all too often the accumulation of technical debt in favor of short-term success is ultimately a terrible mistake. Like all debt, technical debt compounds with time. Worse yet, many non-technical people — i.e. too many managers, executives, and founders — tend to underestimate its danger, or fail to even realize when they’re running it up by the vault load…until they find themselves spending many months fighting to pay off their technical debt while their competitors are happily zooming ahead. Just like RIM.

So how can startups avoid such an awful fate?

Hiring the right people is critically important, of course. Pair programming helps, as does the primary/secondary model I favor. And I’ve long thought that technical assessments would be a good idea: have a few experienced people take a week or so to audit your code and architecture, once early in the application’s lifecycle and once more midway through. The company I work for has done that once or twice, but alas, it’s not really common industry practice, or at least not yet.

What can you do if you’ve already run up a load of technical debt? First, get your head out of the sand and accept that you have a major problem. Second, stop digging. Stop adding new features, and get things into a semi-stable state so that you can see what you do and don’t have. Then try to determine whether you can keep your metaphorical house, but need to rebuild the foundation — even though things that previously worked will start to break again while that repair is underway, which is always frustrating — or whether you have to throw it all out and start again. (Which can be both the best solution and the fastest one.)

Most of all, though, listen to your developers. If you’ve hired the right people, then they want clean, extensible, scalable code as much as you do. It was almost painful looking through the initial source code of the Postography app. Now I feel a bit like we performed surgery that saved the life of a dreadful-car-accident victim who has gone on to become an Olympic athlete. It’s never too late to rescue your app; but the earlier you start, the easier it gets.

Image Credit: “Images of Money”, TaxFix.co.uk / Flickr.

More TechCrunch

Some Indian government websites have allowed scammers to plant advertisements capable of redirecting visitors to online betting platforms. TechCrunch discovered around four dozen “gov.in” website links associated with Indian states,…

Scammers found planting online betting ads on Indian government websites

Around 550 employees across autonomous vehicle company Motional have been laid off, according to information taken from WARN notice filings and sources at the company.  Earlier this week, TechCrunch reported…

Motional cut about 550 employees, around 40%, in recent restructuring, sources say

The deck included some redacted numbers, but there was still enough data to get a good picture.

Pitch Deck Teardown: Cloudsmith’s $15M Series A deck

The company is describing the event as “a chance to demo some ChatGPT and GPT-4 updates.”

OpenAI’s ChatGPT announcement: What we know so far

Unlike ChatGPT, Claude did not become a new App Store hit.

Anthropic’s Claude sees tepid reception on iOS compared with ChatGPT’s debut

Welcome to Startups Weekly — Haje‘s weekly recap of everything you can’t miss from the world of startups. Sign up here to get it in your inbox every Friday. Look,…

Startups Weekly: Trouble in EV land and Peloton is circling the drain

Scarcely five months after its founding, hard tech startup Layup Parts has landed a $9 million round of financing led by Founders Fund to transform composites manufacturing. Lux Capital and Haystack…

Founders Fund leads financing of composites startup Layup Parts

AI startup Anthropic is changing its policies to allow minors to use its generative AI systems — in certain circumstances, at least.  Announced in a post on the company’s official…

Anthropic now lets kids use its AI tech — within limits

Zeekr’s market hype is noteworthy and may indicate that investors see value in the high-quality, low-price offerings of Chinese automakers.

The buzziest EV IPO of the year is a Chinese automaker

Venture capital has been hit hard by souring macroeconomic conditions over the past few years and it’s not yet clear how the market downturn affected VC fund performance. But recent…

VC fund performance is down sharply — but it may have already hit its lowest point

The person who claims to have 49 million Dell customer records told TechCrunch that he brute-forced an online company portal and scraped customer data, including physical addresses, directly from Dell’s…

Threat actor says he scraped 49M Dell customer addresses before the company found out

The social network has announced an updated version of its app that lets you offer feedback about its algorithmic feed so you can better customize it.

Bluesky now lets you personalize main Discover feed using new controls

Microsoft will launch its own mobile game store in July, the company announced at the Bloomberg Technology Summit on Thursday. Xbox president Sarah Bond shared that the company plans to…

Microsoft is launching its mobile game store in July

Smart ring maker Oura is launching two new features focused on heart health, the company announced on Friday. The first claims to help users get an idea of their cardiovascular…

Oura launches two new heart health features

Keeping up with an industry as fast-moving as AI is a tall order. So until an AI can do it for you, here’s a handy roundup of recent stories in the world…

This Week in AI: OpenAI considers allowing AI porn

Garena is quietly developing new India-themed games even though Free Fire, its biggest title, has still not made a comeback to the country.

Garena is quietly making India-themed games even as Free Fire’s relaunch remains doubtful

The U.S.’ NHTSA has opened a fourth investigation into the Fisker Ocean SUV, spurred by multiple claims of “inadvertent Automatic Emergency Braking.”

Fisker Ocean faces fourth federal safety probe

CoreWeave has formally opened an office in London that will serve as its European headquarters and home to two new data centers.

CoreWeave, a $19B AI compute provider, opens European HQ in London with plans for 2 UK data centers

The Series C funding, which brings its total raise to around $95 million, will go toward mass production of the startup’s inaugural products

AI chip startup DEEPX secures $80M Series C at a $529M valuation 

A dust-up between Evolve Bank & Trust, Mercury and Synapse has led TabaPay to abandon its acquisition plans of troubled banking-as-a-service startup Synapse.

Infighting among fintech players has caused TabaPay to ‘pull out’ from buying bankrupt Synapse

The problem is not the media, but the message.

Apple’s ‘Crush’ ad is disgusting

The Twitter for Android client was “a demo app that Google had created and gave to us,” says Particle co-founder and ex-Twitter employee Sara Beykpour.

Google built some of the first social apps for Android, including Twitter and others

WhatsApp is updating its mobile apps for a fresh and more streamlined look, while also introducing a new “darker dark mode,” the company announced on Thursday. The messaging app says…

WhatsApp’s latest update streamlines navigation and adds a ‘darker dark mode’

Plinky lets you solve the problem of saving and organizing links from anywhere with a focus on simplicity and customization.

Plinky is an app for you to collect and organize links easily

The keynote kicks off at 10 a.m. PT on Tuesday and will offer glimpses into the latest versions of Android, Wear OS and Android TV.

Google I/O 2024: How to watch

For cancer patients, medicines administered in clinical trials can help save or extend lives. But despite thousands of trials in the United States each year, only 3% to 5% of…

Triomics raises $15M Series A to automate cancer clinical trials matching

Welcome back to TechCrunch Mobility — your central hub for news and insights on the future of transportation. Sign up here for free — just click TechCrunch Mobility! Tap, tap.…

Tesla drives Luminar lidar sales and Motional pauses robotaxi plans

The newly announced “Public Content Policy” will now join Reddit’s existing privacy policy and content policy to guide how Reddit’s data is being accessed and used by commercial entities and…

Reddit locks down its public data in new content policy, says use now requires a contract

Eva Ho plans to step away from her position as general partner at Fika Ventures, the Los Angeles-based seed firm she co-founded in 2016. Fika told LPs of Ho’s intention…

Fika Ventures co-founder Eva Ho will step back from the firm after its current fund is deployed

In a post on Werner Vogels’ personal blog, he details Distill, an open-source app he built to transcribe and summarize conference calls.

Amazon’s CTO built a meeting-summarizing app for some reason