this post was submitted on 31 Mar 2026
169 points (99.4% liked)

Programming

26304 readers
798 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

A client’s team spent a full week adding a CSV export to their admin panel. Two engineers, clear requirements, maybe a day of actual work. The rest of the time went to understanding existing code well enough to change it safely. That’s what I call codebase drag: when the codebase makes every task take longer than it should. It doesn’t show up in any dashboard or sprint report.

you are viewing a single comment's thread
view the rest of the comments
[–] beeng@discuss.tchncs.de 2 points 1 day ago* (last edited 1 day ago) (1 children)

Whilst true, I was not talking about maintenance...

Rather "getting started in" ie onboarding.

[–] firelizzard@programming.dev 3 points 20 hours ago (1 children)

“How easy is it to onboard?” is functionally equivalent to “How easy is it to understand?”. The biggest factor in maintainability almost always boils down to how easy it is to understand. So, difficult to onboard almost certainly means difficult to maintain, and thus is tech debt.

[–] beeng@discuss.tchncs.de 1 points 10 hours ago (1 children)

I see that as too idealist. When the rubber hits the road you cant spoon feed every newcomer with 100x docs per 1x code, so it's inevitably going to be difficult for some to approach.

So now cos it's hard for somebody you assume there is debt?... It can't be infinitely easy.

[–] firelizzard@programming.dev 1 points 2 hours ago (1 children)

If your project is easy to maintain (aka low tech debt) that means it should be easy to understand the overall structure and it should be easy to understand any given component. So a new dev should be able to quickly figure out what part they need to change and how to change that part.

Some large, complex systems (like an OS) are unavoidably complex. Maybe it’s not fair to call that tech debt, but it’s still functionally the same thing - stuff that slows down development velocity due to difficulty of understanding. It’s just (probably) unavoidable given the domain.

But the majority of software projects aren’t that complex. The majority of software is apps and libraries that aren’t terribly complex. Monsters like operating systems and million to billion user scale products are outliers.

[–] beeng@discuss.tchncs.de 1 points 48 minutes ago

So did we make it to "codebase drag" yet?

Something that isn't debt but is a headwind to making changes.