this post was submitted on 15 Oct 2024
323 points (99.4% liked)

Programming

19827 readers
510 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 [email protected]



founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 17 points 6 months ago* (last edited 6 months ago) (3 children)

The thing that frustrates me about developers who feel powerless over technical debt is...who is actually stopping them from dealing with it? They way I see it, as a software engineer, your customer is sales/marketing/product/etc. They don't care about the details or maintenance, they just want the thing. And that's okay. But you have to include the cost of managing technical debt into the line items the customer wants. That is, estimate based on doing the right things, not taking shortcuts. Your customer isn't reading your commits. If they were, they wouldn't need you.

It would be bizarre if your quote for getting your house siding redone included line items for changing the oil on the work truck, organizing the shop, or training new crew members. But those costs of business are already factored into what you pay at the end of the day.

[–] [email protected] 15 points 6 months ago (1 children)

Yes, this. Refactor first to make the upcoming change easier and cleaner, not after. Don’t ask for permission, don’t even call it refactoring or cleanup. Just call it working on the feature, because that’s what it is. Don’t let non-engineers tell you how to engineer.

[–] [email protected] 6 points 6 months ago (2 children)

Yes, this! I rarely ask for permission on that sort of thing. I’ll just do it as part of my work and see if anyone calls me out on it.

[–] [email protected] 4 points 6 months ago (1 children)

I do this too, but I realize I'm privileged to be able to. In past jobs people actually would get pissed at me for doing it. I had a manager have a really shitty talk with me about it once. I'd guess a lot of people have bad experiences like that

[–] [email protected] 6 points 6 months ago (1 children)

I believe for many companies, developers work on giant codebases with many hundred thousands or even millions of lines of code.

With such large codebase you have no control over any system. Because control is split between groups of devs.

If you want to refactor a single subsystem it would take coordination of all groups working on that part and will halt development, probably for months. But first you have to convince all the management people, that refactor is needed, that on itself could take eternity.

So instead you patch it on your end and call it a day.

[–] MajorHavoc 3 points 6 months ago* (last edited 6 months ago)

So instead you patch it on your end and call it a day.

Yep!

I'm looking forward to the horror stories that emerge once some percentage of those changes are made solely by unmanaged hallucination-prone AI.

I would feel bad for the developera who have to clean up the mess, but honestly, it's their chance to make $$$$$$ off of that cleanup. If they manage not to, their union is completely incompetent.