The Arts and Craft of Tech Debt — for the Startup Founder

Nathan Smith
6 March 2023

You’ve got an idea for a tech product that will revolutionise how consumers around the world buy lollipops. In this global village of influencers pimping their sponsored wares, a large swathe of people can only grind their teeth in frustrated FOMO because their local corner store lacks the means to stock artisanal tiger lollipops hand-crafted in Japan. That’s right; You’re going to build an app so that people can purchase lollipops they’ve only seen un-wrapped on social media by smug so-called connoisseurs!

In typical startup fashion, you’ve partnered up with a colleague you worked with at Confectionaries-Are-Us, and you’re hustling a plan in your “garage”. You’ve pitched the idea to a hundred investors, and finally, Grandma Jones, who you used to mow lawns for when you were in high school, just so happens to be a billionaire lollipop-oholic who gives you $200,000 to make your idea a reality.

Now you’ve encountered the typical pain points of any successful startup.

You’ve found a hard problem to solve. In this case, it’s not just an app you need to build; you need to solve the procurement and distribution of lollipops at a cost people are willing to pay.

You don’t have enough money to solve the problem.
You will need more rounds of funding to reach the dream of global lollipop domination.

Let’s Define Tech Debt

Tech debt is a metaphor that compares the development of technology to borrowing money. Just as financial debt can accumulate over time, tech debt can also grow as a company adds new features, expands its product offerings, or makes other changes to its technology infrastructure. The idea is that while borrowing money can help a company grow in the short term, it also means that the company will have to repay the loan (with interest) in the future. In the same way, taking on tech debt can help a company quickly build or improve its technology, but it also means that the company will eventually have to deal with the consequences of those shortcuts.
— Thanks, ChatGPT

Typically It’s code that programmers write fast. They are encouraged by praise for every new feature shipped, but over time it becomes more complex and slower to add new features. One sign that tech debt is at play is when you overhear your quietest engineer muttering, “There be dragons,” while the Tech Lead blithely estimates one month of work to add three new fields to your registration form. WTF?

If timelines are particularly aggressive, you could see this happening at the 3-month mark, certainly by the 6-month mark, and by the 1-year mark, you are rewriting your whole application. If you get the funding.

The Classic Tech Debt Dilemma

You’ve formed your crack development team of technically savvy lollipop addicts. Your research has determined that people are 100% more likely to purchase a lollipop after smelling it. The latest iPhone has just released a new ScentSnap feature that allows users to smell their photos.

Good news. The new technology is a novel way to make your product stand out in the lollipop retail marketplace.

Bad news. It’s only available on iPhone, and Apple has protected its intellectual property in swathes of patents that won’t see Android users smelling digital daisies anytime in the next fifty years.

The Arts and Crafts of Tech Debt

Your team comes up with two main ideas:

  1. You could build a native iPhone app. It’s the quickest solution, but it means you have halved your audience out of the gate, and you will need to develop an Android app in the future to address the remainder.
  2. You could use Flutter, a technology that allows developers to build iPhone and Android apps using the same codebase. It will take longer to ship because the ScentSnap feature is too new and not supported by Flutter, so the team has to build a custom Flutter component.

This illustrates a classic tradeoff between a short-term speed to market by incurring a higher cost to expand and make changes in the future. Which option you choose will depend on several factors, such as the type of phone your target audience owns and how much time is left in your funding runway.

The Dark Side of Tech Debt

Now picture the above discussion with your team, except you aren’t in it. It happens at a micro-scale during the day in the life of a programmer. Instead of big technology decisions, they are deciding whether to spend the extra time to make their code simpler for everyone to read and understand. Or to call it done and move on to the next bug on their list because their eyeballs feel like they are about to fall out on the tail end of consecutive eighty-hour weeks.

Never Fear; the Tips are Here

The following are essential questions to get a handle on your current and future tech debt strategy.

How are we doing with tech debt right now?

First, you need to get the 10,000 ft view. This question should prompt the team to give you a rundown of your tech debt, how much there is, which parts of your technology are affected, and what might happen if it’s not paid back.

What happens when we add new feature X, and how does it affect our workflow?

Your team can help you understand the impact of adding new products or features on your tech debt. This knowledge allows you to make strategic decisions about when you need to pay back debt vs continuing to build out that feature.

What’s the best plan for paying back tech debt?

You want your team's thoughts on how to pay back tech debt. Paying it back little by little will minimise the impact on operations, or paying it back all at once will get it out of the way quickly.

Remember that your team is smart, so outline your short and long-term business goals. You’ll focus the team on the right things rather than clearing their pet annoyances with the code.

How can we avoid taking on too much tech debt in the future?

Your team is best placed for tips on how to keep tech debt under control in the future. They may suggest using more efficient technologies or having better processes for managing tech debt.

The team will appreciate you asking this question because it shows you care about tech debt, which is near and dear to their hearts. But only if you listen and discuss it with sincerity. Makers, not fakers.

By asking these questions and having open and friendly communication with your development team, you’ll have a much better handle on your tech debt and be able to work together on a plan to manage it effectively.

So onwards and upwards to satisfying lollipop-oholics the world over with the iPhone’s new imaginary SnapScent feature.