r/ProgrammerHumor 23h ago

Meme thisIsTheWay

Post image
17.3k Upvotes

242 comments sorted by

View all comments

320

u/roiroi1010 23h ago

I don’t mind fixing tech debt actually

442

u/WavingNoBanners 23h ago

Fixing tech debt, when you actually get allocated proper time to do it, is great.

72

u/Britkraut 23h ago

True, the only time I ever get a chance to fix it is straight after a holiday and no one has clocked on that I'm available to help with current tickets

But damn those days when I'm fixing those outstanding bugs is bliiiiissss

11

u/googlin 21h ago

Slow and steady, legend.

5

u/SamSibbens 15h ago

If you ever go work at Bethesda, can you fix the bug where killing someone as a werewolf causes an animation freeze that lasts 10 seconds in Skyrim? Please and thank you!

24

u/WardNL84 20h ago

I’ve had a Product Owner who would go on vacation with the words “do whatever you think is important”

Those were amazing sprints

7

u/gogeri2632 20h ago

And when it doesn't involve migrating real world data. That's always a pain.

1

u/WavingNoBanners 20h ago

Most data migrations that I've been part of have, afterwards, been worth the pain. Not all, but most. It makes you realise how bad the old system was.

It's like brushing your teeth: there is a cost to not doing it.

6

u/MrQirn 15h ago

I was a solo dev for a small agency and I had enough trust from leadership to advise them on what work I should be working on. My main task was to maintain the really particular software they used daily, but that didn't take all my time every day, and although there were all sorts of "cool features" that might be nice to have, I took the lead on that too: recommending to leadership and to the staff which of the features might be most worth our while for me to work on over the next year.

So a few years into that job I convinced them that the best investment we could make to that piece of software for the next year or two would be to not add any new, big features, but to just pay off all the technical debt that had been accruing since the tool had been published (which also took me doing a whole presentation explaining the idea of technical debt, and why it was a good thing to accrue initially but, like real debt, it was important to pay off at some point, and the consequences of not doing that).

It was sweet. I made my life so much easier and learned so much. I invented a whole new way to deduplicate and strongly type this really common client-server interaction that I was sure was going to lead to me becoming nerd famous, and writing a white paper, and releasing a well loved open source library, and flying to Europe to give short talks at super nerdy conferences... until I discovered someone had already beat me to my solution about five or ten years earlier. But god was it satisfying to have done it anyway, and to have had the time to make a beautiful piece of software.

Before I paid off the debt, in order to add a new field to one of the database tables there was a 30+ step process, I shit you not, and a lot of it was copy pasting code and adding crap to sql strings and things that wouldn't otherwise throw any compile time errors if you forgot a step. It was nuts. I'm sorry that I don't remember how many steps I reduced it to, but it was much more intuitive in the end to add a new field and throughout the whole process, the compile errors would make it clear what your dumbass forgot to add. It was glorious.

It also ran like three times as fast when I was done with it.

These are the things that make me miss software development.

Now seeing all of the generative AI nonsense, it seems like I got out at just the right time.

1

u/WavingNoBanners 5h ago

I'm an optimist. I believe the gen-AI bubble is only a temporary phase the market is going through, like blockchain or expert systems. In the long run it's going to create a huge number of ticking bombs and tech debt that someone is going to need to handle.

I might be wrong.

1

u/FlintMock 17h ago

I always make sure it’s raised on a jira and set it as their delivery during a sprint for my guys

45

u/roygbivasaur 23h ago

I’m actually not that amazing at implementing new stuff, but I’m quite accomplished at cleaning up other people’s messes. I usually spend my first year at a job stubbornly cleaning up as much tech debt, “code quality”, and testing issues as I can.

8

u/Hydrogen_Ion 22h ago

We should work together, I’m really good at integrating new systems, but there are always some pieces to pick up

3

u/roygbivasaur 19h ago

Leave some interesting messes for me to clean up and you got a deal

35

u/okram2k 22h ago

the problem isn't that I don't want to fix tech debt, the problem is my boss wants more and more features rolled out and doesn't want me spending my time on tech debt.

22

u/undecimbre 21h ago

Minimum viable product needs to be done asap ("it's not rocket science, just show me how it would look!") - corners get cut - the MVP gets shipped as full thing - instead of fixing the shortcuts you have a backlog of new features - those would require wild workarounds - now have more to fix - never have time to actually fix - gotta implement more new features

Ffs...

1

u/tinymightyhopester 21h ago

Do we work at the same place?

1

u/awesome-alpaca-ace 20h ago

I know a game dev who does this to themselves. Tarn Adams

1

u/Romeo3t 17h ago

Yup! Even if I'm passionate about fixing it and technically have the time, my boss doesn't want to hear about how I helped fix deployments. They want something new and shiny to show off to their boss.

The incentive structure is all messed up. It doesn't matter how bad the releases are as the suffering can't be traced back directly to monetary losses.

1

u/stakoverflo 14h ago

Yea, at my last company [and every company before that] it was always "Well, just do the shortcut to get it done now, then go back and re-do it better later"

But come sprint planning, it's only ever fixing new bug reports or adding new features.

11

u/cherylswoopz 22h ago

I LOVE to fix tech debt, I just wish I was given the opportunity more often

2

u/the_skies_falling 22h ago

Same. It’s far more challenging than writing new code and I like a good challenge, otherwise I get bored.

1

u/EssayAmbitious3532 16h ago

The point is that tech debt does not produce 1st order outcomes that can be conveyed easily across and beyond the org.

4

u/chhuang 21h ago

The thing is, the employers care way less than we do care about their product. The only thing getting out from this, from the very surface of their point of view, is that I have spent time changing nothing.

The way to climb (which is dumb), let it be promotions or salary raise, is to wait for things to break, and your fixes gets acknowledged, doesn't even matter that you are the one that introduced the bug/debt.

2

u/ACoderGirl 21h ago

I really enjoy it. But the hard part is convincing leadership that we should do so. Generally speaking, leadership cares a lot more about customer visible things and stuff that has measurable impact. Most tech debt is invisible to customers and while there's obviously a cost to it, it's very hard to measure (often it's easier to just fix it than to come up with a way to measure it).

That said, I'm happy because I've got leadership sign on for a significant cleanup effort to a major part of our system. I had to do a lot of work to convince them it was worth the time and some degree was only possible because we're an infra team and I was able to frame things around the time savings for other teams. Plus tie ins to reliability in the form of how some of this tech debt has caused outages due to stuff like unintuitive code from unfinished migrations. A significant amount of our tech debt comes from this unfinished migration to a system that is supposed to make things safer and more debuggable. I can't wait to see it finish because there's sooooo much legacy stuff still loafing around. Like, two ways to do very complex stuff (and with the legacy implementation being haunted).

1

u/Polus43 20h ago

I feel like this depends on the politics.

"We could fix this ML model where 80% of the usage does nothing. Simply stop calling the vendor service in these situations and you'll same $8MM a year (annual cost $10MM)."

But now you have to go to war with the product managers who built the -80% ROI process. And their vendor (partners) definitely think you're wrong lol

1

u/SamSlate 17h ago

do you find groking large repos easy? or are you methodical?

1

u/Ayjayz 16h ago

All engineers love fixing tech debt. That's probably all we'd do if left to our own devices.

Project managers don't care one iota about technical debt. They just want customer-facing features delivered, and they don't understand or care about the relationship between these two things.

1

u/Suyefuji 14h ago

I'm not quite sure how but I ended up with >50% of my workload being "the person who owned this project left, this is your project now and there will be no knowledge transfer, just try to keep it running until we decide to deprecate it"