this post was submitted on 09 Oct 2025
387 points (96.9% liked)

Technology

75792 readers
2967 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] chunes@lemmy.world 43 points 2 days ago (1 children)

Software has a serious "one more lane will fix traffic" problem.

Don't give programmers better hardware or else they will write worse software. End of.

[–] fluckx@lemmy.world 19 points 1 day ago (2 children)

This is very true. You don't need a bigger database server, you need an index on that table you query all the time that's doing full table scans.

[–] GenosseFlosse@feddit.org 2 points 1 day ago* (last edited 1 day ago) (3 children)

You never worked on old code. It's never that simple in practice when you have to make changes to existing code without breaking or rewriting everything.

Sometimes the client wants a new feature that cannot easily implement and has to do a lot of different DB lookups that you can not do in a single query. Sometimes your controller loops over 10000 DB records, and you call a function 3 levels down that suddenly must spawn a new DB query each time it's called, but you cannot change the parent DB query.

[–] fluckx@lemmy.world 3 points 1 day ago

Where is this even coming from? The guy above me is saying not to give devs better hardware and to teach them to code better.

I followed up with an example of how using indices in a database to boost the performance helped more than throwing more hardware at it.

This has nothing to do with having worked on old code. Stop trying to pull my comment out of context.

But yes you're right. Adding indexes to a database does nothing to solve adding a new feature in the scenario you described. I also never claimed it did.

[–] sugar_in_your_tea@sh.itjust.works 2 points 1 day ago* (last edited 1 day ago) (2 children)

but you cannot change the parent DB query.

Why not?

This sounds like the "don't touch working code" nonsense I hear from junior devs and contracted teams. They're so worried about creating bugs that they don't fix larger issues and more and more code gets enshrined as "untouchable." IMO, the older and less understood logic is, the more it needs to be touched so we can expose the bugs.

Here's what should happen, depending on when you find it:

  • grooming/research phase - increase estimates enough to fix it
  • development phase - ask senior dev for priority; most likely, you work around for now, but schedule a fix once feature compete; if it's significant enough, timelines may be adjusted
  • testing phase/hotfix - same as dev, but much more likely to put it off

Teams should have a budget for tech debt, and seniors can adjust what tech debt they pick.

In general though, if you're afraid to touch something, you should touch it, but only if you budget time for it.

[–] lightnegative@lemmy.world 1 points 1 day ago (1 children)

"Don't touch working code" stems from "last person who touched it, owns it" and there's some shit that it's just not worth your pay grade to own.

Particularly if you're a contractor employed to work on something specific

I get that for contractors, get in and get out is the best strategy.

If you're salary, you own it regardless, so you might as well know what it does.

[–] ieGod@lemmy.zip 1 points 1 day ago (1 children)

That budget is the key. You have to demonstrate/convince the purse holders first. This isn't always an easy task.

Fair. If that's not possible, I'll start looking for another job, because I don't want to deal with a time bomb that will suddenly explode and force me to come in on a holiday of something to fix it. My current company allocates 10-20% of dev time to tech debt, because we all know it'll happen, so we budget for it.

[–] PattyMcB@lemmy.world 2 points 1 day ago (1 children)

That's why it needs to be written better in the first place

[–] GenosseFlosse@feddit.org 3 points 1 day ago (1 children)

Tell me you never worked on legacy code without telling me...

[–] PattyMcB@lemmy.world 0 points 1 day ago (1 children)
[–] Womble@piefed.world 3 points 1 day ago (1 children)

You do accept that bad software has been written, yes? and that some of that software is performing important functions? So how is saying "It needs to be written better in the first place" of any use at all when discussing legacy software?

[–] Reginald_T_Biter@lemmy.world 0 points 1 day ago

It's not, but you'll still hear it a lot. Funny, no one can agree on what "better" means, especially not the first person who wrote it, who had unclear requirements, too little time, and 3 other big tickets looming. All of these problems descend from management, they don't always spontaneously come into being because of "bad devs", although sometimes they do.

[–] PattyMcB@lemmy.world 1 points 1 day ago

Or sharding on a particular column