zlacker

[return to "Can't be fucked: Underrated cause of tech debt"]
1. lnxg33+h1[view] [source] 2023-10-12 16:27:16
>>todsac+(OP)
I tend to consider bullshit any point that finds somehow acceptable thinking that people is lazy, in this society, in this world, on this planet, ffs we have to work 40 hrs per week per decades and rest after reincarnation, and you want to talk about laziness? Let's talk about how any bit of mental energy is extracted to built other's wealth and then when you are too old to do nothing other than watching work in progress they just spit you out

when I am supposed to fix tech debt? if every week there is another functionality going out that needs to be done yesterday? Do you think that I have to do it in my free time? Why should I even bother existing

◧◩
2. yetihe+p3[view] [source] 2023-10-12 16:37:13
>>lnxg33+h1
> when I am supposed to fix tech debt?

Try to lie about how long will it take. Just today I finished* 1-month almost total rewrite of firmware for one of devices at my work. It started as a 1-week small rewrite of part of communication module for a small bug and was scheduled as that. But I've got chill PM and coworkers who will appreciate that now we can actually fix some 8yr old bugs in legacy parts of that code.

* well, now some testing of edge cases and another round of fixes but at least remote code updating works so we can ship those devices...

Edit: "Lie" is call to action here, there were some misunderstanding in comments. Previous start of my comment was "Lie. ..."

◧◩◪
3. candid+66[view] [source] 2023-10-12 16:50:45
>>yetihe+p3
I rewrote something from scratch, now we can finally fix all of the old bugs.

Let me tell you the tale of a man named Sisyphus...

◧◩◪◨
4. yetihe+P8[view] [source] 2023-10-12 17:01:03
>>candid+66
Yeah, but that rewrite actually fixed a lot of other old bugs which we had to circumvent on server side. Before rewrite the code was just ugly spaghetti mess (interrupt routine of usart port was longer than main).
◧◩◪◨⬒
5. candid+Z9[view] [source] 2023-10-12 17:06:45
>>yetihe+P8
The problem is you most likely introduced new bugs, created new build/test toolchains, and your team knew the previous codebase, probably quite well.

I have never in my professional career seen a solo developer rewrite something from scratch successfully in isolation. It almost always turns into the developer leaving, either because they became burnt out being the sole SME, or it fluffed their resume enough for them to find a new job. Everyone else on the team is left holding the bag.

I'm actually more surprised your manager/PM let you do this. Most of the time this happens as a skunkworks thing.

Rewrites should always be incremental, never big bang, and never in isolation.

◧◩◪◨⬒⬓
6. yetihe+lc[view] [source] 2023-10-12 17:20:02
>>candid+Z9
I agree with all of your comment. This was indeed pretty unique case. No one in my small company (including me) actually knew that codebase, it was total mess written by original EE (who sayed himself he was not a programmer), it was pretty small (32kb of rom puts a limit on your codebase) by "team of programmers" standards and currently we have no one else who could actually do anything with that code, one coworker is learning to write firmware and new version is already much more readable and reasonable. It was TOTALLY in need of rewrite, but not all code is a good candidate for something like this.

> I'm actually more surprised your manager/PM let you do this. Most of the time this happens as a skunkworks thing.

I didn't know it will take so long, delving into this was like a frctal of bad code. When I've tried to fix something, it required fixes in other places which required fixes in another places. I could make several TDWTF posts from that code.

> Rewrites should always be incremental, never big bang, and never in isolation.

Yeah, but that codebase was not that big, so it was medium size bang. Never in isolation - there was no one other at my company who could actually do it and it was tested functionally by others once it was stable enough.

[go to top]