Bringing that back to tech debt: a simple kind of high-interest short-term debt would be committing code without tests or documentation. Yay, it works, ship it! And truthfully, maybe you should, because the revenue (and customer feedback) you get from shipping fast can outweigh how much more bug-prone you made the code in the short term.

But like all high-interest debt, you should plan to pay it back fast. Tech debt generally manifests as a slowdown in your development velocity (ie. overhead on everything else you do), which means fewer features launched in the medium-long term, which means less revenue and customer feedback.

[…]

Bankruptcy

The tech bankruptcy metaphor is an easy one: if refinancing doesn’t work and your tech debt continues to spiral downward, sooner or later your finances will follow. When you run out of money you declare bankruptcy; what’s interesting is your tech debt disappears at the same time your financial debt does.

This is a really important point. You can incur all the tech debt in the world, and while your company is still operating, you at least have some chance of someday paying it back. When your company finally dies, you will find yourself off the hook; the tech debt never needs to be repaid.

Okay, for those of us grinding away at code all day, perhaps that sounds perversely refreshing. But it explains lots of corporate behaviour. The more desperate a company gets, the less they care about tech debt.

  • HaraldvonBlauzahn@feddit.orgOP
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    9 days ago

    Brilliant and nuanced description.

    It also makes me pause when thinking about AI. AI-generated code, as it is commercially used, undoubtly increases technical debt. Companies want to use it because they see it as an advantage. But it can also lead quickly to technical debt bankruptcy. Which will likely be the outcome given the bone-headed way how many companies actually use AI.

    But what drives them?

    A lot of AI adoption seems to be driven by two things: Fear and greed. Fear, of becoming obsolete among the competition. Greed to not miss out on a perceived bonanza. This is not necessarily rational. It might be the cause why all these purported gains in speed are rarely actually measured.

    But as Apenwarr (Avery Pennarun) points out, companies often behave more rational than it seems. Specifically, as he writes, they accept an unsustainable level of technical debt when it seems that they cannot compete any more. That makes actually sense: Why polishing a shiny, immacculate, well-designed code base, when you never have the chance to re-earn the money that you did spent for that? (People do the same: An aging person living in a run-down house with broken roof and heating might not want to invest in repairs or installing a heat pump, because that person will not see the gains from this investment - possibly their children, but will they keep the house?).

    But how does all this match up with technical debt and AI? Are tech companies simply giving up business? Are they completely unaware on the level of technical debt it creates? Why does this happen?

  • nark3d@thelemmy.club
    link
    fedilink
    arrow-up
    1
    ·
    8 days ago

    The metaphor never quite works for me because debt is something you decide to take on, and most of what I’ve inherited nobody decided, it just piled up. What I do in practice is smaller than the metaphor suggests. I tidy the code I came in to touch and leave the rest for its own change, mostly because a refactor bundled into a feature branch makes the review harder and the bisect painful later. Agents have made that harder to stick to. Ask one to read a file and it’ll often come back having rewritten half of it. https://prickles.org/tenet/leave-it-better/P6

    • draco_aeneus@mander.xyz
      link
      fedilink
      arrow-up
      1
      ·
      6 days ago

      Indeed, I think a clean workspace is a better analogy. The more you live in a space, the dirtier it becomes. As a place gets dirty or messy, it gets harder to live/work in the space. You must, at some point, take some time to clean, or you end up living in a hoarder’s house. There is a limit to where cleaning and organising has diminishing returns, and eventually, you’re just shuffling stuff around instead of cleaning.

      The analogy isn’t perfect, of course (no analogy is), but it’s better than the debt analogy, I think.