Strategy & Tradeoffs PM

Inherited debt managed quietly is inherited accountability.

Strategy & Tradeoffs Strategy & TradeoffsAdvanced

Tech Debt Tolerance Is Not Constant, It Depends on Where You Are on the S-Curve

The correct level of technical debt tolerance for a product team is not a fixed standard, it shifts based on which phase of the growth S-curve the company is in. PMs who do not name the phase shift explicitly will inherit the consequences of engineering culture that was set at founding and never renegotiated.

The Debt Your Predecessor Left You Is Not the Problem You Think It Is

Picture this: you join a company at Series B. The product works, users are growing, revenue is real. Two weeks in, you start hearing the phrase "legacy architecture." A month in, an engineer pulls you aside and explains that three core systems were never designed for the load they are currently carrying. By month three, you are sitting in a post-mortem for a production incident that was not a surprise to anyone who had been there longer than six months.

You did not create this debt. But you own the consequences of it. And if you manage it quietly, if you treat it as an engineering problem that engineering will eventually solve, you will spend the next two years fighting fires that were set before you arrived.

The uncomfortable truth is that the debt was probably correct when it was created. The failure is almost never the debt itself. The failure is the team that never renegotiated its relationship with debt when the company moved from one stage of growth to the next.

flowchart LR
    T[Traction] --> I[Inflection] --> S[Scale] --> E[Expansion]

    T --> T1[Tolerate aggressively\nSpeed over durability]
    T --> T2[Mistake: over-engineer\nbefore PMF exists]

    I --> I1[Selective repayment\nHarden load-bearing systems]
    I --> I2[Mistake: treat as\nextended Traction]

    S --> S1[Low tolerance\nReliability is a metric]
    S --> S2[Mistake: manage debt\nquietly after incidents]

    E --> E1[Near-zero on core\nTraction-level on new surfaces]
    E --> E2[Mistake: core debt\npropagates to new products]

What the S-Curve Actually Says About Debt Posture

The S-curve is not a metaphor. It maps to four distinct operating realities for a product team, and each one carries a different correct answer to the question: how much technical debt should we tolerate right now?

Traction, High Tolerance

The company has a hypothesis, not a proven model. Speed of learning outranks durability of code. Every week you spend hardening an architecture you might throw away is a week you did not spend finding out whether the product works.

Debt at this stage is not recklessness. It is leverage. The teams that shipped Minimum Viable Products that worked well enough to validate the idea before rebuilding, those teams won. The teams that built for scale before they found product-market fit burned runway on infrastructure for a product that did not yet exist.

Engineering culture formed here defaults to: ship it, fix it later. That instinct is correct, for this stage only.

Inflection, Selective Repayment

This is the most dangerous stage for debt management, and most teams treat it like an extension of Traction.

Inflection is the point where the curve begins to steepen. Growth is accelerating. The metrics that matter are moving in the right direction. This is when the pressure to ship increases, new features, new markets, new hires, and debt repayment feels like it competes with growth.

It does not compete with growth. It funds growth at the next stage. The systems that will carry the load at Scale need to be identified and hardened now, before Scale arrives and hardens them under fire instead.

Scale, Low Tolerance

At Scale, debt is no longer a financial metaphor. It is a product liability. Latency becomes a user experience problem. Reliability becomes a retention problem. The architecture that was good enough to get you here is actively costing you users, revenue, and engineering velocity.

Twitter in 2008 was a live demonstration. The fail whale, the HTTP 503 error page that appeared whenever the platform buckled under load, became a cultural artifact. Users joked about it. Journalists wrote about it. The jokes obscured the damage: trust eroded, competitors positioned against reliability, and engineering morale degraded as the team spent more time on firefighting than on the features that would have compounded growth.

The infrastructure debt that caused the fail whale era was not wrong at Traction. The team was moving fast, the product was finding its audience, and over-engineering early would have been the wrong call. The failure was not beginning systematic repayment at Inflection. When Scale arrived, and with Twitter, Scale arrived fast, the debt was still fully intact.

Expansion, Near-Zero Tolerance on Core Systems

At Expansion, the company is adding product lines, entering new markets, or building on top of the core platform. Every new surface that runs on a brittle foundation multiplies the risk. A debt problem in a core authentication system, a billing layer, or a data pipeline is no longer isolated, it propagates across every new product that depends on it.

Tolerance at this stage is near-zero for core systems. New surfaces can carry their own Traction-stage debt, that is appropriate for new experiments. But the platform underneath them cannot.


Stage vs. Posture vs. Instinct vs. Mistake vs. Cost

Stage Correct PM Posture Engineering Instinct (set at founding) Common Mistake Cost of Mistake
Traction Tolerate aggressively, speed is the only metric Ship fast, fix later Over-engineering for scale that does not exist yet Burned runway on infrastructure for an unvalidated product
Inflection Selective repayment, identify load-bearing systems before Scale Keep shipping, debt repayment feels like slowdown Treating Inflection as extended Traction Arriving at Scale with Traction-era architecture
Scale Low tolerance, reliability is a product metric Reluctance to slow down after years of moving fast Managing debt quietly, absorbing blame for incidents User trust damage, retention loss, engineering velocity collapse
Expansion Near-zero on core systems, Traction-level on new surfaces Applying the same standards everywhere or nowhere Allowing core platform debt to propagate into new products Cascading failures across product lines, compounding incident cost

The Conversation Nobody Wants to Have

Every PM who has managed inherited debt has felt the impulse to manage it quietly. Name the systems, estimate the impact, create a quiet backlog of improvements, and chip away at it incrementally without making it political.

This does not work. The reason it does not work is that the engineering culture that created the debt still exists, still has instincts formed at the stage when the debt was correct, and will continue producing debt at the same rate unless someone names the stage shift explicitly.

The stage-shift conversation is not a technical conversation. It is an organizational one. It needs to happen between the PM and engineering leadership, and it needs to be direct about three things:

First, name the stage. Not "we are growing fast", that is a description of every company that believes its own story. Name the specific shift: "We are no longer in Traction. We have passed Inflection. The behaviors that were correct at Traction are now producing failures at Scale."

Second, attribute the debt correctly. This is the hardest part. The debt was not a mistake. It was a correct call at the time. Treating it as a mistake insults the engineers who made the right decision for the stage they were in and creates defensiveness that shuts down the conversation. "This debt was the right call when we were moving at Traction speed. We are not at that stage anymore."

Third, force the renegotiation. Not a proposal. A renegotiation. "Our debt posture was X. It needs to become Y. Here is what that means for the roadmap, here is the sequencing, and here is what happens if we do not make this shift."

The PM who does not have this conversation will spend the next year in post-mortems explaining why systems that everyone knew were fragile finally broke.


The Judgment Turn

PMs who joined at Scale and are being blamed for debt they inherited need to stop managing it quietly.

This is the uncomfortable position: quiet management of inherited debt is a choice to absorb accountability for decisions that were made before you arrived. It is not humility. It is a political miscalculation that will cost you credibility every time an incident lands.

The correct move is to name the history explicitly. Not defensively, the goal is not to avoid blame. The goal is to give engineering leadership an accurate map of where the debt came from, what stage it belongs to, and what the cost of not renegotiating will be.

Twitter's fail whale was not an engineering failure. It was a governance failure. Nobody named the stage shift from Traction to Scale loudly enough and early enough to force the renegotiation. The engineers who built the original architecture were not wrong. The organization that allowed Traction-era instincts to govern a Scale-era product was wrong.

The PM's job at every stage transition is to be the person who names it. Engineering culture does not self-update. It holds the posture it was built with until someone applies enough organizational force to shift it.

If you are reading this and you are currently absorbing blame for a production incident caused by debt that predates your tenure, the question is not how to manage the debt better. The question is why you have not yet named the stage shift out loud in a room with engineering leadership.


Key Takeaways

  1. Debt tolerance is a function of S-curve stage, not engineering discipline. The correct level changes as the company grows, and the team that does not update its posture will pay the cost.
  2. Inflection is the only window to repay Traction-era debt before Scale makes the repayment mandatory and expensive.
  3. Twitter's fail whale era demonstrates that debt accumulated during Traction is not the failure. The failure is the organizational inability to renegotiate at Inflection.
  4. The stage-shift conversation requires the PM to attribute debt correctly, as the right call at the wrong stage, not as a mistake to assign blame for.
  5. Inherited debt managed quietly is inherited accountability. Name the history explicitly or own the consequences of not naming it.

Related Articles

Warm-up Reps

Did it land?

0 / 1 CORRECT
Three quick checks on the ideas above. Pick an answer and you will see why it is right or wrong. Consider it the warm-up before the real gym.
Q1
A PM joins a company that is clearly at Scale. The codebase carries significant debt from the Traction phase. What is the right first move?
Managing inherited debt quietly is the trap. The PM must name it, attribute it to the Traction phase where it was earned, and force the renegotiation, not absorb blame or defer indefinitely.
AW

Anmoll Wadhwa

Senior PM · writing The PM Code

Field notes on product judgment: essays, teardowns, and reps for PMs who would rather think than template. A sharper take most days on LinkedIn.

More like this. Once a week.

Tactical essays on the calls that actually matter. In your inbox before they are on the feed.

LEARN·BUILD·COLLABORATE