Live data from Hacker News

Three Kinds of Good Tech Debt

engineering.squarespace.com

11–20 of 159 posts

Re: Three Kinds of Good Tech Debt

#11

As I’ve gotten more senior in my career, I think one of the most enlightening things has been anticipating debt before it happens (in planning/architecting), acknowledging it when it does and then taking prudent measures to minimize it and log it for future refactoring. It’s also been funny seeing managers try to rebrand tech debt with other business speak like “tech health”. Debt shouldn’t be a bad thing but one tha…

The term "debt" is really helpful. It also explains that while you can pay off debts by taking on other debts, there is a good reason why this is illegal (if done with money) in the real world. Technical debt in your solution is fine. Running a Ponzi scheme in your solution isn't.

> while you can pay off debts by taking on other debts, there is a good reason why this is illegal

Loan consolidation is quite normal in the UK

Re: Three Kinds of Good Tech Debt

#12

As I’ve gotten more senior in my career, I think one of the most enlightening things has been anticipating debt before it happens (in planning/architecting), acknowledging it when it does and then taking prudent measures to minimize it and log it for future refactoring. It’s also been funny seeing managers try to rebrand tech debt with other business speak like “tech health”. Debt shouldn’t be a bad thing but one tha…

The term "debt" is really helpful. It also explains that while you can pay off debts by taking on other debts, there is a good reason why this is illegal (if done with money) in the real world. Technical debt in your solution is fine. Running a Ponzi scheme in your solution isn't.

> there is a good reason why this is illegal (if done with money) in the real world.

Erm, it very much isn't illegal. At least not in most places.

Taking on fresh debt to pay off other debt is the very definition of a consolidation loan which is perfectly legal in most, possibly all, jurisdictions.

There are limits of course, like not using a loan to pay the deposit on a mortgage, or simply not lending beyond defined means, but these are set by the bank to manage their own exposure to risk rather than limits set by law. Such limits are merely encouraged by law, via regulatory limits on standing capital compared to debt held and so forth.

Re: Three Kinds of Good Tech Debt

#13

Earlier quoted context omitted.

The term "debt" is really helpful. It also explains that while you can pay off debts by taking on other debts, there is a good reason why this is illegal (if done with money) in the real world. Technical debt in your solution is fine. Running a Ponzi scheme in your solution isn't.

> while you can pay off debts by taking on other debts, there is a good reason why this is illegal Loan consolidation is quite normal in the UK

Sorry, I was mentally adding "without the consent of both parties".

Because otherwise, what would stop you taking on a loan for X, then paying it off after a while by taking on the same amount from another bank?

Re: Three Kinds of Good Tech Debt

#14

Two points I really enjoyed: > Not Fixing All the Edge Cases We’ve all seen bugs that occur so rarely, and fixing requires destroying some part of the original design architecture. The ability to acknowledge these types of bugs as not worth fixing is liberating. > Err on the side of building too little because you can always build more later. Build things to be easy to throw away and replace; I find developers tend t…

> I find developers tend to really dislike throw away code or temporary solutions knowing they might break in the future.

IMHE, it's usually management that feels this way.

Re: Three Kinds of Good Tech Debt

#15
Tech debt is inevitable and is good as long as you keep the level of debt reasonable, so maintanance cost doesn’t sunk too much of your dev time.

More good examples:

1. Technology progress: Long time ago JQuery was the best for UI library. Today you would use React or friends.

2. Company stage. As a early startup you usually prioritize for speed and validating hyphothesis. As you got a significant user base quality matters more.

3. Size of development team. With 5 or less developers having a monolite is good enough. With 50 developers you likely take more advantage of microservice architecture so each team can be decoupled and move faster.

Re: Three Kinds of Good Tech Debt

#16

Earlier quoted context omitted.

> while you can pay off debts by taking on other debts, there is a good reason why this is illegal Loan consolidation is quite normal in the UK

Sorry, I was mentally adding "without the consent of both parties". Because otherwise, what would stop you taking on a loan for X, then paying it off after a while by taking on the same amount from another bank?

> Because otherwise, what would stop you taking on a loan for X, then paying it off after a while by taking on the same amount from another bank?

Nothing. That's why lenders do credit checks and due diligence.

Re: Three Kinds of Good Tech Debt

#17

I'm not sure if I'd even consider these things tech debt. I tend to distinguish between: 1. Unfinished/unpolished implementations 2. Implementations that are architectural flawed, such that fixing them requires throwing away the existing code. Issues in (2) are a lot more problematic than issues in (1).

Yea, I was going to say the same thing. Work undone as part of prioritization is not debt. Debt to me is causing more work than it would take otherwise so that less work can be done now (or because the developer / architect just doesn't know any better). Using a switch statement instead of a factory. Using role based auth instead of attribute based. Things like that.

The problem is, the debt metaphor is not being applied correctly. Not doing future work now does not take on responsibility for the future work - so it's not like taking a loan. Doing work in a way that commits the team to extra work that didn't exist before - that's like taking on a loan. For instance, I don't want to do this 80 points of work now, so I'm going to ship the same requirement by doing 40 points of work on a solution that will take another 60 points to get to the original 80 point solution which is the way we know we have to go long term. I just borrowed 20 points on behalf of the team.

Re: Three Kinds of Good Tech Debt

#18

Two points I really enjoyed: > Not Fixing All the Edge Cases We’ve all seen bugs that occur so rarely, and fixing requires destroying some part of the original design architecture. The ability to acknowledge these types of bugs as not worth fixing is liberating. > Err on the side of building too little because you can always build more later. Build things to be easy to throw away and replace; I find developers tend t…

It's also great that the author gave concrete examples of times where it made sense to eschew purity for pragmatism. Very good article all-around.

Re: Three Kinds of Good Tech Debt

#19

Two points I really enjoyed: > Not Fixing All the Edge Cases We’ve all seen bugs that occur so rarely, and fixing requires destroying some part of the original design architecture. The ability to acknowledge these types of bugs as not worth fixing is liberating. > Err on the side of building too little because you can always build more later. Build things to be easy to throw away and replace; I find developers tend t…

> I find developers tend to really dislike throw away code or temporary solutions

This is good way to level up: Learn to love throwing your code away!

Re: Three Kinds of Good Tech Debt

#20

Earlier quoted context omitted.

> while you can pay off debts by taking on other debts, there is a good reason why this is illegal Loan consolidation is quite normal in the UK

Sorry, I was mentally adding "without the consent of both parties". Because otherwise, what would stop you taking on a loan for X, then paying it off after a while by taking on the same amount from another bank?

Absolutely nothing stops you. The bank you owe money to has no rights whatsoever to control where the payoff money comes from.

https://www.moneycrashers.com/responsible-use-0-balance-tran...

Post reply on HN