The conversation

Lessons learnedExperience excerpt · English

There is certainly real tech debt

… There is certainly real tech debt. But I have lost count of the number of times in my career I've heard a bright, but less experienced, developer claim that because a certain piece of code uses Formerly Popular Framework A from 7 years ago when it was written instead of Current Popular Framework B, it is unmaintainable tech debt, despite it having tests, a working CI pipeline, working monitoring, etc.

Original discussionWe invested 10% to pay back tech debt; Here's what happened222 source comments · at import
6

What was this responding to?

Parent context · original excerpt

EC

Having been in this space for 25 years now, here's my take: Tech Debt is almost always a few things in disguise: 1. Product Failure - The person with the final say on the product has poor taste. They poorly understand the tradeoffs their tech stack gives and how it influences their product. And most importantly they hate their customers and don't understand their needs. 2. Marketing and Sales dominance - The product organization might be competent but they have been driven out of the decision making venues in the company. So marketers and sales make the decisions and hand them down to product to deal with, resulting in tone deft decisions even as the company continues to make good money, the product itself erodes, until competitors arrive and instantly wipe out the business. 3. success and shift - The product, which was initially a success, has stagnated. The product itself was so succes…

Full original

Community replies 0

No community replies yet. Add your perspective.

Replies from the source 6

Direct replies available in this import. Original-language excerpts.

RI

It maybe tech debt depending on a lot of context, with old tech you get into a lot of situations like this: https://stackoverflow.com/questions/9318895/how-to-integrate... Sure, there is an answer to the question, it is a little messy, not too bad, do this 30 times and you have a disaster to maintain. Formerly popular is also a red flag, over time it will get harder to hire. Resources and documentation will go black.

Full original
RE

This is a good one. I've seen (and probably made...) some refactor PRs where someone takes an old system and breaks it up into new conceptual chunks. Code reviewer comes in and they find the new code makes even less sense than the previous code. Of course it so happens that the reviewer already knew the old code, and so it's only natural that new code is less legible to them.

Full original
BB

> Also 6: tech debt being another term for "code I personally do not understand," or "software written in a way different than I would write it." Sometimes it's quicker for me to implement a desired change on a code that was written long ago by someone who is no longer with us by re-writing that part of the code in the way I understand it, and then implementing the change, as opposed to trying to understand the code and implement the change in a way that aligns with it.

Full original
DG

There is apparently a disconnect between refactoring, rewrites and green field development and maintenance and long term support. How often do developers who are quick to move to the next shiny thing held accountable for years after? How often do they ask the hard and boring "What if" questions? How much is empathy a driving factor in these decisions?

Full original
BE

I'd argue code I don't understand is indeed tech debt. not sure what you were implying with your statement, but I sounded as if you disagree with the statement. undocumented code that no one knows is a serious tech debt issue. time should be taken to read it, understand it, and document it.

Full original
TA

When Framework A is built nmaintained and therefore has known, unpatched security defects then migrating away is critical tech debt that needs to be prioritized. In my org frameworks are actually our largest source of tech debt issues. Example: Somebody years ago bet on Angular 1.x, migration to 2+ was deemed “a near-total rewrite” and postponed, so now I we have to rewrite in React or whatever flavor-of-the-month. The same happens with Java, .NET, and other backend frameworks.

Full original
Continue on Hacker News

Respect different perspectives. Share concrete experiences.

Sign in to post, reply, repost, and quote.