courses.reviews logo
I launched a free website to help you find the best courses with reviews & discounts.
Up to date
Published
4 min read

Trevor I. Lasn

Staff Software Engineer, Engineering Manager

When Should You Actually Worry About Tech Debt?

Technical debt isn't the monster under your bed, but it can become one if ignored too long.

Technical debt is like that pile of laundry in the corner of your room. Yeah, it’s annoying, but it’s not going to kill you… unless you leave it there for too long.

So, what’s the signal to start worrying? Here’s what I look for:

Feature Development Slows Down

This is a big one. If your team is spending more time working around messy code than actually building new features, it’s a sign that technical debt is holding you back.

Let’s say you’re adding a new feature to a product, but it takes twice as long because you’re untangling a mess of spaghetti code. That’s a bad sign. At this point, the debt is costing you more time than it saved when you first cut corners.

// This function has grown over time and is hard to maintain
function processOrder(order) {
if (order.type === "regular") {
processRegularOrder(order);
} else if (order.type === "rush") {
applyRushFees(order);
processRegularOrder(order);
} else {
throw new Error("Unknown order type");
}
// Update inventory, process payment, send confirmation, etc.
}

At first, this function worked fine. But as the project grew, it got more complex. Now, adding a new order type requires untangling a bunch of logic. It’s a sign that refactoring is due.

User-Facing Bugs Start Appearing

If your technical debt starts creeping into the user experience, that’s a serious problem. When your code is so brittle that it introduces bugs users notice, it’s time to take a step back.

I’ve worked on teams where we kept pushing new features without addressing the underlying technical debt, and eventually, users started seeing the cracks. Features would break for no apparent reason, or we’d roll out a new release only to have it introduce new bugs.

In this case, your technical debt isn’t just a dev problem anymore. It’s a business problem.

Scaling Issues

You might think, “Hey, we’ll deal with the debt when we’re bigger.” But scaling up is exactly when technical debt can bite you the hardest.

Imagine you’ve got 100 users. Everything works fine. Then you hit 10,000 users, and suddenly, your system can’t handle it because you made a ton of quick fixes along the way.

It’s not uncommon for performance issues to show up when your user base scales. That’s when you realize those quick, hacky solutions you put in place weren’t built to handle real growth.

Here’s an example of bad scaling logic:

// Example of technical debt causing scaling issues
function getAllUsers() {
const users = db.query("SELECT * FROM users");
// Fetches all users, which is fine with 100 but a disaster with 10,000+
return users;
}

With 100 users, this might work okay. But as soon as your database grows, this becomes a nightmare. Refactoring to a paginated approach early on would have saved you time and headaches.

New Devs Can’t Get Up to Speed

Another sign you need to worry about technical debt: when new devs join the team and spend weeks just trying to understand the codebase. If your code is so convoluted that onboarding takes forever, it’s a red flag.

If new devs can’t figure out how things work because the code is filled with hacks and workarounds, you’re paying more than just time. You’re losing productivity and morale.

When It Can Be Ignored (For Now)

Now, I’m not saying you should drop everything and fix every little thing that’s wrong with your code. In fact, sometimes you can ignore technical debt for a while. Here are a few cases when it’s okay:

  • You’re in early-stage development. When you’re building a product from scratch, speed is more important than perfection. Get it out there, get feedback, and then worry about cleaning up later. Just make sure you address the debt early enough.

  • You need to meet a critical deadline. If you’re launching a feature that’s going to make or break the business, ship the feature. You can fix the debt once the deadline’s behind you.

  • The debt is isolated. If you have one small section of your codebase that’s a bit hacky but isn’t affecting anything else, you can probably let it sit for a bit. Just don’t forget it’s there.

Pay technical debt down when it starts slowing you down, causing bugs, or keeping your team from being productive. But don’t panic about every little shortcut. Sometimes, shipping now and cleaning up later is the right move.


Found this article helpful? You might enjoy my free newsletter. I share dev tips and insights to help you grow your coding skills and advance your tech career.

Interested in supporting this blog in exchange for a shoutout? Get in touch.


Liked this post?

Check out these related articles that might be useful for you. They cover similar topics and provide additional insights.

Reflections
4 min read

Staying Motivated While Building Your Startup: A Balanced Approach

Building a startup is an exhilarating journey, filled with highs and lows

Dec 17, 2023
Read article
Reflections
7 min read

Can Scrum Be Salvaged?

Scrum is failing engineering teams and what it's actually costing us

Nov 14, 2024
Read article
Reflections
3 min read

When Tasked with a Problem, Start with the Bigger Picture

When faced with a challenge, I always step back to see the whole picture first. It's like pausing a complex strategy game to study the map. You might lose a few seconds of play time, but you gain a crucial understanding of the battlefield.

Oct 3, 2024
Read article
Reflections
3 min read

Engineering Managers Should Write Code

Engineering managers who stop writing code lose touch with their teams and become ineffective leaders

Sep 18, 2024
Read article
Reflections
3 min read

Barnacle Strategy for Startups

As a founder, you're always on the lookout for smart ways to grow your startup without burning through your limited resources. That's where the barnacle strategy comes in.

Oct 3, 2024
Read article
Reflections
5 min read

Advice to New Engineering Managers

Tips for being an effective engineering leader and how to avoid common pitfalls

Feb 15, 2025
Read article
Reflections
6 min read

Software Engineer Titles Have (Almost) Lost All Their Meaning

Examining the Devaluation of Software Engineer Titles and Its Impact on Tech Industry Integrity

Oct 20, 2024
Read article
Reflections
4 min read

High Performing Engineer Teams = motivation + enthusiasm + autonomy

Create the conditions where engineers want to excel and they'll surpass your expectations

Mar 7, 2025
Read article
Reflections
3 min read

The 5:1 Rule: Effective Performance Reviews For High-Performing Teams

Research reveals the ideal ratio of positive to negative feedback within high performing teams

Mar 20, 2025
Read article

This article was originally published on https://www.trevorlasn.com/blog/when-should-you-actually-worry-about-tech-debt. It was written by a human and polished using grammar tools for clarity.