That’s why everyone switches jobs every few years.
Sure, the increased pay is nice, but the real benefit is not having to deal with the catastrophically awful code that you’re forced to write because product wants to ship this 3 months ago and you haven’t been given enough time to design and implement the system in a way that actually makes sense.
At this moment, I am staring at a 200-line block of postgresql that has about 40 JOIN clauses. It is not trivially or realistically debugable, testable, or extensible by anyone, including the people who wrote it (and no, I didn’t write this shitshow). There are basically zero nuanced tests around it, despite the fact that that’s a banner I’ve carried in a pretty militant fashion since starting at this place about 2.5 years ago, meaning that I trust this baroque confluence of relational db logic about as far as I can throw my car. It was done this way because “we’ll have time to go back and optimize it later (oh, sweet summer child)”.
Oh, I was fearing we worked together, so I just went to check one of my workplace’s megaviews. But no, it’s 448 lines.
I wrote its first version a few years ago, with less than 100 lines, then I rewrote it with common subqueries so it could be actually maintained. It was much larger by that point. Later I removed some of the ambiguous (and subtly bugged) subqueries and rewrite it to use only about half of them. Looks like I need to do something about it again.
My consolation is that I’m not the one maintaining it.
It’s just a tinsy bit of technical debt. How bad could it be?
Well, as long as it is well documented…I’m sure it will be fine. (as I am not that one that will have to maintain it)
That’s why everyone switches jobs every few years.
Sure, the increased pay is nice, but the real benefit is not having to deal with the catastrophically awful code that you’re forced to write because product wants to ship this 3 months ago and you haven’t been given enough time to design and implement the system in a way that actually makes sense.
throws it on the giant pile
Product: deletes pile
At this moment, I am staring at a 200-line block of postgresql that has about 40
JOIN
clauses. It is not trivially or realistically debugable, testable, or extensible by anyone, including the people who wrote it (and no, I didn’t write this shitshow). There are basically zero nuanced tests around it, despite the fact that that’s a banner I’ve carried in a pretty militant fashion since starting at this place about 2.5 years ago, meaning that I trust this baroque confluence of relational db logic about as far as I can throw my car. It was done this way because “we’ll have time to go back and optimize it later (oh, sweet summer child)”.I’m slowly going insane.
Oh, I was fearing we worked together, so I just went to check one of my workplace’s megaviews. But no, it’s 448 lines.
I wrote its first version a few years ago, with less than 100 lines, then I rewrote it with common subqueries so it could be actually maintained. It was much larger by that point. Later I removed some of the ambiguous (and subtly bugged) subqueries and rewrite it to use only about half of them. Looks like I need to do something about it again.
My consolation is that I’m not the one maintaining it.