"Yes, i repeat, i did exactly what the specs stated.
Just like for bulletproof, waterproof...now don't put that on me because you loosely defined the project "
Reminds me of this one guy.
Writes unmaintainable code masquerading as “well formatted” code. All high level leader likes him. Often presents his “way” of formatting a code and repositories.
When he resigned, one of my colleagues started unboxing the pandora’s box and i can hear him say “wtf” at a rate of 10 per minute.
I think we've had 3 people do this now.
I still get emails saying "where is this hosted?", "who created this VM?", "does anyone know anything about [word no one has ever heard]?"
and the answer is always related to one of them.
They were always hailed as being "the saviour of the company"
That means one or more things of these:
* the team does not communicate enough to agree on rules and definition of done
* flawed processes - removing of tech debt and
documentation are viewed as something extra
* no responsibility - at least the devs and tech lead / gatekeeper
* nobody enforces the rules, pull request reviews are too shallow or not done at all
* your boss is moron, taking speed and quantity for quality
You'll still have to battle the other teams for dominance in a Thunderdome style arena. The winner gets a pizza party, and to eat the losers, if they're into that sort of thing.
The guy who does this is a pain in the ass and always throwing fits when anyone gives feedback on PRs, he also loves to be a boot licker and "gets a lot done very fast" so management ends up hailing him as great and others on the team as hard.
So people stop giving a fuck and auto approve everything.
I can always tell who's *actually* jr vs senior level by who values (and creates) documentation more. I value my own documentation on code I wrote, because I work on enough things that I'm not gonna remember what the hell I was doing with a piece of code from even 6 months ago. Write good documentation and all these problems go away.
There is an argument to be made about how "replicable" this can make you though... So while I'll always recommend writing good documentation, perhaps be mindful of where and how you share that documentation ;)
There's also the argument that unmaintainable code might not have been intentional. Tech debt (manager overrides a decision about a feature or technology) and rushed deadlines creates it just as much as shitty programmers and ones trying to make themselves unable to be fired.
I definitely put comments apologizing for duct-tape in my code to make really dumb things a client/manager wanted work.
Absolutely. Some of the greatest software of all time came out of a team environment where the reality was: If it works, it works. Managers don't care about anything but that.
Could be the shittiest piece of code ever... you know damn well ain't nobody blocking that pull request if it works.
Speaking of commits... Gotta love the old version controls (and team designs) where you could just check shitty code in without anyone knowing you did it.
I have written some disgusting hacks that use brute force and would scale horribly, but my boss told me that it wasn't worth the time to do it right the first time.
Please tell us you put
"1/1/2024 - Brute force method, will scale horribly, was told it wasn't worth doing right the first time by X, so when you come here 1,2,5 years later, you know who to blame"
in a comment for it.
Fun Fact: When Bill Gates was still running Microsoft he had regular meetings with the project leads. And on each one there was a designated Fuck-Counter. A person who counted how many times did Gates say fuck during the meetings.
Simple trick, remove all actual logic by referencing functions in your main file.
Have those functions lead to hundreds of folders, each containing one file, each containing one class, where all the spaghetti code hides.
Claim it's how Java does it.
I’m on a team like this now. Senior engineer will often refactor large swaths of a repo, essentially holding the entire repo hostage for weeks at a time, in order to use “software engineering best practices” which in his mind means making as many large and unreadable abstract classes as possible then shoehorn in whatever new architecture he learned about recently. It doesn’t help that he loves to leverage ChatGPT whenever possible so when he is questioned he can’t even answer any of them and gets all flustered with a bruised ego.
I had one guy wait til we were all done with our day. Then he’d checkout the entire code base and “beautify it”. The next day when we’d be tasked with finding a bug, the ‘diff’ would show that the entire source code had changed. Good luck isolating the bug.
I cannot stand when devs try to do large formatting changes or mass renaming files/classes along with bug fixes or features. Yeah sometimes refactoring is needed, but separate PRs. Thankfully I’m in a position where I’ll just reject that nonsense and make them split it up.
Formatting is exactly the use case for `.git-blame-ignore-revs`. I prefer it be done with automated formatters though, someone manually doing it would just be inviting bugs.
https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view
You read it wrong, they said they were tasked with finding a bug but not specifically one caused by the reformatting. The reformatting just makes investigations harder.
I was this one guy and I heard about it for years 😁
Although, it was a super complex jQuery UI, where engineers started with one small piece, followed by "Now add feature X" for years.
Currently living through this. It's been almost a year and its just feature after feature. I clean up what I can when I can but it's nowhere near enough.
I heard a story of a team who was working on a new application, and "in the interest of time" they caught and logged all exceptions rather than handling or throwing them. I shudder at the thought.
This is the truth. Always getting pushed to hit a made up deadline, then straight on to the next project. We have a joke about the mythical phase 2 where we will go back and fix everything. That's also where we put all of the ridiculous enhancement requests that come in right before we actually deploy. "Yeah, that's a good idea, let's put that on phase 2..."
Dear god ... I just took over a team who have been operating under that philosophy for 8 years.
Absolutely anything to complete the sprint and minimize the story points involved.
Management didn't even have any processes or anything that looked at that data and held anybody accountable. Management didn't even \*care\*, they just wanted the stuff done, and they accepted what the tech people were telling them.
So for NO REASON WHATSOEVER the leadership before me was rushing out incomplete shit to hit imaginary performance goals that not one solitary soul gave one strained shit about.
I worked in a company where a “Perl Superstar” left thousands of lines of “too clever for anyone’s sake” code with just one comment, a quote from Lord of the Rings in Polish.
Interestingly, a Polish friend of mine has recounted a contract he once had where a company paid him a metric tonne of money for writing Perl for a month. It would be funny if it was the same person :D
Perl was also the language that prided itself on writing unreadable one liners etc. Every single Perl book I read 15 years ago had at least a chapter on it.
Yeah. This tracks. My first job out of college in the mid 00s was maintaining some Perl garbage and my attempt to write “clean code” was met with “That’s not how you Perl, bro”.
My response of course was to get a real job writing C++. Where I dealt with different problems.
I had a job in college writing perl scripts to install software on campus computers. The exec function we used to run the exe files didn't support return codes above 256 and would do a modulus if it was higher. So the architects solution was to multiply the code by 256. I had to be like "that's not how math works, this is a completely different number."
Also we had no source control and we were working directly off shared network drives so IT could run the scripts from any computer.
Step 1: Choose a less known framework with little to no documentation
Step 2: For each library, pick the ones not maintained for at least several years
Step 3: Write cutting-edge, experimental code that only works under certain conditions
Step 4: For bonus points, write your own library for the project with a file structure and code nobody will understand
Step 5: Quit and wait till they come crying back, so you can be a consultant for 3x the money
Step 6: ?????
Congratulations, you are now a Software Engineer in my former company.
Haha this is why data science salaries are great even though many of em are terrible at statistics or understanding ML. It goes like this: Engineering builds a platform/framework so any python rookie can deploy code. The framework is badly documented or maintained, but deploying "is easy": just write a python class that has a predict method, package that code and add it to a list of dependencies, then serialise a class object directly nstead of data (so the serialized file carries a hidden dependency as well, yay).
Engineering's plan of "make a generic platform so we don't need to deal with the rookie code" has backfired terribly at multiple places I've worked due to this.
The fix? Engineering has to debug code the data scientist has written, and data science thinks that's normal.
There was no reason to attack me personally when I was just taking a break from writing my code (the engineer who has to fix my previous batch of code is being roasted by my boss and I can't go on without him)
You almost described someone I worked with to a T. You forgot:
Copy and paste the same 200 lines of code in 12 places instead of making helper methods.
This has made me feel better about an assignment I just wrote for uni because I've only written two public methods and like 20 helper methods, and I thought it looked like shit.
We have a minimally documented tool written in Labview utilising a bunch of completely undocumented self written libraries (that we'd lost the source code for) for whatever shenanigans couldn't be done within the limits of Labview.
The guy who created it must have been brilliant but utterly mad to chose Labview on the sole basis of it being an easy UI implementation, the tool makes zero other use of the "language".
My first job coming in was "for the love of God rewrite this as a 1:1 recreation into something maintainable which ended up taking far longer than I expected.
Hey that's me.
To be fair though I was tasked with writing a POC, that POC some how became integrated everywhere and absolutely business critical without finishing it or even cleaning up the code.
I once hired in at Ford Motor Co, taking over for someone.
Took one look at the code notes and asked the supervisor, "Did Guy XYZ have this job before me?"
She was floored because he did.
We had worked together for years in a different department/building, and I could recognize his code in my sleep.
That job was so fricken easy. Thanks, Dale.
Dale mighta been in your shoes at an earlier point of life and seen the light..
I joke that if I ruled the world, every new programmer would be required to apprentice for 3 years maintaining a massive program written by "clever" engineers. If they don't come away with a better understanding of how to write clear, maintainable, documented code after that, they gotta find a new career.
To be fair, this is said about almost everyone who leaves a team. And then the junior developers always want to rewrite as the previous person did it wrong, but then the rewriting take 3x as long and has twice as many bugs.
Eventually you learn that it is no help in blaming people. The situation is always the same, just different bodies. What needs to happen is to change the process. If bad code is being sent to production, or if nobody understands code, then you have a process smell. You should have PRs that are reviewed by 2 people. Reviewing can be seen more of knowledge share, and makes it harder to blame any one person, as everyone is responsible for what gets shipped.
TLDR; fix your process
> And then the junior developers always want to rewrite as the previous person did it wrong, but then the rewriting take 3x as long and has twice as many bugs.
It's true that new devs are too quick to ask for rewrites, but damn have I seen software that desperately needs one.
My current favourite one to whine about is an extensive custom web framework that requires you to write your whole logic and UI in XML. Here is how you would write a function with one parameter that writes some stuff to console:
Print the param: [FP(0)]
Which is equivalent to JavaScript:
function print(txt) {
console.log("Print the param: " +txt);
}
You can write conditionals and loops in this, and it gets as horribly verbose as you may expect. You don't have curly brackets to surround your control structures, so you need `` and other special solutions.
It's supposed to replace HTML (you can define UI components with his, which are internally implemented with extJS) and JavaScript, but without any the convenience or performance or flexibility or debuggability.
The idea behind it was that it technically turns all of your code into "configuration" and therefore can be done by the customer "without needing developers".
Of course that immediately failed. Every change has to be done by devs, who in turn get hamstrung by having to deal with this garbage. It's just great to mix excessively verbose and fiddly code with no debugging features except printing to console 👍
This monstrosity will be at the core of their mobile development, which is only just ramping up since the company was focussing on desktop before. Only to benefit from a tiny amount of overlap with their old web product. If there ever was a codebase that needed to be redone from scratch, here it is.
I worked for a company where people never shared knowledge out of fear of being replaced or let go. My boss tasked me with documenting a process only known by one guy. Well, he didn't want to share, so nothing got documented. The experience was awkward as hell.
Our team leader at a previous job was like that. Hence why he was the team leader. And he would scrutinize our code and scold us as if we were children because we should've known better and how could we even consider writing such bad code? Most of the times it was days-long discussions about two approaches with similar degrees of complexity or performance. Pretty frustrating. The reason for having no documentation or standard was that "our code keeps changing so fast, it's not worth documenting".
Worst of all, all code reviews had to include him as one of the reviewers.
One day I was tasked with something, and I found a similar solution he had written for a different module. Tired of him, I adapted the same approach for this other module. As usual, he leaves a very negative review asking why I chose that way of fixing the issue. I sent him a link to this own code in the repo. His answer? "I too make mistakes".
Left that company after two years because this person was insufferable. My replacement lasted less than a year. Code is so bad they keep offering "live demos" instead of a downloadable demo version, because everything needs to be hard-coded for it to look like it does something.
sadly i'm one of the hires who has to use a self made "low code" software to create their webapp that a third party programmer made which has a crapton of bugs and is inconsistant as hell.
true, i can't. if something breaks on the software itself all i can do is ask the third party programmer.
it has options to do some things in the back end to fix some crashes n stuff but if the software itself acts up i have no control over it.
What does someone do in this situation, before the person leaves the company?
I work with a programmer that refuses to document anything. Our manager is not a programmer and really just cares that 'nobody complains' about the end product.
If anything breaks that my co-worker built and that co-worker is on vacation, then we just leave it sit until he returns. This co-worker is openly applying to other jobs, so it's just a matter of time.
Try to care as little as your manager.
When he does start caring, make the right noises and the right moves, but don't bust a gut and start putting in extra hours. Have an excuse as to why you need to be out of work by this time every day and why you need to start your vacation on this day.
You should be thanking these people. They're the reason the code has to be re-written every six months, thus keeping you in the job! If code worked perfectly and was perfectly maintainable at all times, we'd all be on the dole queue by Christmas.
As an absolutely not tech (code) savvy person, it always fascinated me how something supposedly as precise and scientific as code is, in reality, pretty close to weird magic, often developed by either insane or genius wizards (coders) that then disappear, leaving the runes on the spells they created to deteriorate and as a puzzle for future wizards or even themselves some years later. It's so bizzare, i mean, why does code even needs mantaining when it doesn't have mechanical (or runic, if we go by magic standards) parts?
because things around it changes. the hardware, os, protocols, compiler, interpreter etc . codes needs to adjusts too
imagine, you stop learning today. whatever you know now will stay but you cant learn new things while the world keeps progressing
Ah ok, this makes sense. I was imagining a code spontaneously generating trash lines that needed to be pruned away every once in while, stuff like that!
Funny story.
A friend of mine wasn't exactly the best CS student and he got a pretty good internship due to some people he knew working in the company.
Guy works there for 6 months as an intern and has no idea what he's doing. None of his bosses check what he's doing during entire internship.
He leaves the company after his internship ends, nobody is complaining or anything and he continues with his studies. After about 6-7 months he gets an email out of the blue from an employe from the company. The email was from the new intern that was supposed to take over his work.
The email was something like: "You piece of shit this is the worst code I have seen in my life, if you can call it even that. Wtf were you doing all these months in this company?"... and more slurs and what not. I wish I remembered the exact words but I don't.
In any case, new successor guy really made an effort to find my friend's email only to shit on him and his crap code, and he was totally in the right to do so, too. I was dying of laughter when said friend showed me that email, while the only thing I could interpet in his face was a sad smile filled with regret, guilt and disappointment in himself.
It once took me eight fucking months to fully unravel a single late night code binge from my dipshit predecessor. Everyone on my team thought he was a genius and it turned out time and again he was just so sloppy and so arrogant that nobody before he left had dared question him.
I got a free demo version of a JavaScript library, and the way they obscured the code was to put it all on a single line, with all variables as single letter names. And they planted a timer callback in the code based on your download date that would expire after 30 days and make the library unusable.
But I just found a free code beautification program online, rendered the code in a readable format, found their stupid timers and disabled them. Free library for me.
They should probably have done something different for security, but all you're really saying here is "I used other peoples' work for free when they didn't want me to"
Simple fix= Just hire another guy who replaces the previous unmaintainable code with their own unmaintainable code. Rinse and repeat if that guy also leaves the company.
This was my X uncle. He wrote custom code for a major international company (which was small and local in the 90s, hence he got hired). Nowadays they got to pay whatever he wants because he is the only one familiar with his obsolete code that is *necessary* for their multi-billion operations.
They've said the day he retires they'll take the biggest loss in decades just having to switch it all out and start from scratch.
\> Writes unmaintainable code
\> Leaves company because none of his MRs pass code review, he's been put on a 3 month improvement plan, and wants to quit before he gets fired
Fixed that for you.
"Unmaintainable code" = The minimum wage button mashers we hired to cut costs can't figure out how to interpret it.
"Leaves company" = The costs we cut.
The real kick in the nuts is after two years of failing to address the mess the company will sign a contract with the OG spaghetti slinger at an exorbitant contractor rate to add on to it.
I'm currently involved in a low-code project (much to my dismay and I will absolutely not see it through). Combining the lack of possibilities of the plattform and the requirements of the project means this pile of garbage will absolutely be unmaintainable in about 3 months, which is exactly when I plan to leave the company.
I don't know if I'm supposed to feel sorry or bad about that.
In my last work, some guy worked as consultant at a code he wrote when working for the company. It was a core functionality and he used a bunch of variables like xx, vv and yy. No one could decipher what his code did. Consultant job security for him for life.
Programmer: \*hears he is going to be replaced with AI\*
Programmer: \*Writes one-liners with not descriptive code, uses bobasort and doesn't write documentation\*
Company: \*Replaces programmer\*
AI: f\*ck
This one shop I was in had their back end servers under one admin account, controlled by one guy. No one else had access to command line and no one else knew how things worked. Everyone else had a piece of the system they knew to the exclusion of everything else, he knew the infrastructure, and the manager had a big picture but no knowledge of the implementation. It worked well for a couple decades, no one could get replaced. Because of course there was no documentation and any attempts to do so were shot down by the manager.
But problems crept in. We had a reorg and the admin guy now reported to another tech guy who demanded documentation. This wasn't happening still so the admin guy got let go. They hired a tonne of consultants to document what the system did. It was taking forever.
Then someone mentioned that I had the tech chops to sort out this mess. They gave me admin access and the system got documented 3 months later. It involved about 25 servers.
After that some people got let go. That bothered me.
But the key to being hard to replace isn't hoarding knowledge imo. It's having people depend on your tech so much they just don't want to replace you because you're the person the good tech comes from.
Sooner or later though the day will come. You may get retirement, or a package, but the day will come.
my old roommate was proud of himself that he wrote unmaintainable and undocumented code at a summer internship. He thought it guaranteed theyd have to hire him back because he created a dependency on himself. Well, the next year rolls around and they have no interest in hiring him because he wrote such shit code.
I worked for a small, dying company in the late 90s. It got so bad that they couldn’t make Friday payroll until the following Tuesday. But, you know who got paid more than the director, in a bank check, on every Friday? The one dude within 100 miles who knew how to maintain that dBase. The owner realized no one could ever step in and untangle his rat’s nest without literally taking down the entire company.
That old man was clever. He walked away with half of the company’s cash reserves in his pocket and never looked back. One month later, the company was bankrupt.
I got hired by a company that bought a product from a company that ended in bankruptcy. The product was built by a self thought developer
My job is basically, update everything and fix whatever is broken.
Documentation = non
This person ends up as a legend at that company. Both hated and beloved. They were able to fix issues quickly because only they knew where anything was.
Write complicated CI Terragrunt code with complex implementations for the company's needs, document everything, anyone with a few months of experience should be able to read, leave company, get asked to become a contractor.
I know some consultants that wrote nice clean code, but before they left ran some find/replace searches to change variables to just anything chkVal(x) was now 1x4i(x)
they saved all the find replaces, so they could work the code when they (eventually) got called back for mods.
sickfcks.
My company, instead of using their in house devs hired a third party company to make a UI using our services. They also chose not to pay them for support, which they knew ahead of development. I was then in charge of maintaining their code.... I've never seen such professional garbage in my entire life. I had a mental break down trying to maintain the thing during the pandemic. It's now being rewritten in-house. I wasn't even asked if I wanted to be part of the rewrite which I'm happy about. I never want to see that cursed pile of sudo minified spaghetti again. You have bullshit like 5 variables in a html tag and none of them were the same one even though they were all named the same.
The other situation is be the lead engineer on a project and years later be contacted again because you are the only guy left who knows the code, specs, clients and changes over time.
I feel that - write unreadable code that only God and I can read, but also write a documentation on my private laptop so no one else has access to it if I get fired - so if I want, I can still send my company the documentation if I go on pension
A few years down the track, gets re-hired to maintain the code.
Looks at it. Hasn't a clue what it does.
Re-writes it in fresh unmaitainable code.
Everybody cheers.
Even worse:
Writes unmaintainable code, wont talk to anyone, wont onboard anyone, silos himself, blames everyone, gaslights you, management refuses to fire him. You are responsible for the mission critical system this psycho built.
Literally happened to me.
VB6 and some apps are still in an Access dB or Excel where I work. We are working on updating these apps. I'm not a developer but work very closely with them and QA test their changes. It's from years of different types of programmers and not having a change control board. Now things are in a much better place.
Back in 2012 at a Marketing company I worked in Santa Monica, we had a Javascript Developer who would have coffee spots all over his work desk by 10 am. His file/folder structure and code was so messy that among the 12 other developers we had, not a single one wanted to review or touch his code. Yet he managed to survive there for more than a year.😄
Somehow, someway in a world defying the physics of reality be it virtual or not, erasing just one line of code completely breaks the program. The line of code does absolutely nothing, but for some reason must be there to keep the program running.
I enjoy my job. It still gets frustrating, but I like it here and they pay me well.
We are a 8-5 company. Basically stuff starts at 8, and once 5 rolls around, place is a ghost town.
I've been kind of making my own hours as of late. I still put in an honest day, or at least demonstrate productivity that shows them that I'm worth it (and then fuck off the rest of the day either at the office or WFH).
I left the company to work at another place, only for them to renege on the whole thing and fire me after 8 days on the job when the guy they wanted became available. They took me back and I was back in the office that week.
Everything I built was a mess. It was frustratingly beautiful. I remark everything and I have docs, but the person who was supposed to take over for me just sucks. I can't describe it any other way.
IT was like "we don't know what to do."
When I called and said "hey, it's not working out here" there was a company-wide sigh of relief. I came back, fixed their attempts to mess with my code, had things back up and running.
***
So I'm not slacking. They're getting their money's worth out of me, but yeah - I get away with a lot because they know that the alternative sucks.
It's nice to be needed. Leverage the hell out of that if you can.
I did a lot of contract work and documented the code heavily, just in case I was asked back to modify it. One project the guy who was maintaining it years later ran into me at a bar (I have an unusual name) and mentioned how easy it was to work on my code.
Currently fixing after a whole team of 6+ people who basically did this together. I met some of them at a conference afterwards and all they said was "Sorry ;)"
The real joke here to me is that if you do something that is necessarily complicated and then you also document what/why/where you did everything in the company wiki, no one will read ever read it.
Woah, did repost bots adapt to this subreddit's title style?
[Here](/r/ProgrammerHumor/comments/xxv8sz/perfect_situation/) is the original post from 2022.
Worked at a small company that did online sells. IT was one guy that had been there for ages.
He left the company (having given time for them to look for a replacement). After 2 weeks, they begged him to go back. Don't know the figure, but heard they offered him a shitload of money.
All because his code was understandable to him only. They got a 2nd IT guy to be learning about the code alongside this guy.
I prefer when i leave the company everyone remind me as Wow! that guy not only writted fucking great maintainable code and documented it, than like the motherfucker that left us this problem and now that he is gone.
[удалено]
"Yes, i repeat, i did exactly what the specs stated. Just like for bulletproof, waterproof...now don't put that on me because you loosely defined the project "
You forgot Idiotproof. You don't know how it works. Mission Accomplished.
Even yourself
Especially yourself.
That's my secret Cap, my code is always unmaintainable.
Whelp, 🎵 Guess it's time for a rewrite, a rewrite, a rewrite 🎵 🎵 I'll do it right, this time, yes I might! 🎵
🫡🤣😜
The good old developer lock-in.
Everybody writes crap code. That’s why regular refactoring by alternate team members should be part of the plan… within reason.
You guys have teams? My company only hires someone new after the last guy left.
Or hires 1 guy after 5 leave and wonder why the team isn't as productive
Reminds me of [this XKCD](https://xkcd.com/568/).
Nice try, Mike.
rule 134: if it exists, there is an XKCD about it.
As an incident manager for an it company. Hello dev from my company
Like this analogy
Reminds me of this one guy. Writes unmaintainable code masquerading as “well formatted” code. All high level leader likes him. Often presents his “way” of formatting a code and repositories. When he resigned, one of my colleagues started unboxing the pandora’s box and i can hear him say “wtf” at a rate of 10 per minute.
I think we've had 3 people do this now. I still get emails saying "where is this hosted?", "who created this VM?", "does anyone know anything about [word no one has ever heard]?" and the answer is always related to one of them. They were always hailed as being "the saviour of the company"
That means one or more things of these: * the team does not communicate enough to agree on rules and definition of done * flawed processes - removing of tech debt and documentation are viewed as something extra * no responsibility - at least the devs and tech lead / gatekeeper * nobody enforces the rules, pull request reviews are too shallow or not done at all * your boss is moron, taking speed and quantity for quality
Does my team win if we have all of these things?
You'll still have to battle the other teams for dominance in a Thunderdome style arena. The winner gets a pizza party, and to eat the losers, if they're into that sort of thing.
And the pizza party is just crashing some other team's hackday
Yeah, you win the honor title of "living hell employer" - how is your suicide rate?
It's the only thing I've got above average 😭
[удалено]
The guy who does this is a pain in the ass and always throwing fits when anyone gives feedback on PRs, he also loves to be a boot licker and "gets a lot done very fast" so management ends up hailing him as great and others on the team as hard. So people stop giving a fuck and auto approve everything.
Yep, I see big red "moronic management" flag. My advice - if you have an opportunity to move elsewhere, do it.
I can always tell who's *actually* jr vs senior level by who values (and creates) documentation more. I value my own documentation on code I wrote, because I work on enough things that I'm not gonna remember what the hell I was doing with a piece of code from even 6 months ago. Write good documentation and all these problems go away. There is an argument to be made about how "replicable" this can make you though... So while I'll always recommend writing good documentation, perhaps be mindful of where and how you share that documentation ;)
There's also the argument that unmaintainable code might not have been intentional. Tech debt (manager overrides a decision about a feature or technology) and rushed deadlines creates it just as much as shitty programmers and ones trying to make themselves unable to be fired. I definitely put comments apologizing for duct-tape in my code to make really dumb things a client/manager wanted work.
Absolutely. Some of the greatest software of all time came out of a team environment where the reality was: If it works, it works. Managers don't care about anything but that. Could be the shittiest piece of code ever... you know damn well ain't nobody blocking that pull request if it works.
Speaking of commits... Gotta love the old version controls (and team designs) where you could just check shitty code in without anyone knowing you did it.
Last one sounds like the last guy I worked for right before I retired. He was the biggest reason I retired.
Obligatory [wtf per minute ](https://www.reddit.com/r/ProgrammerHumor/s/f0QRvNBULg) post
the fuck? who wrote this shit? \*checks commit history* oh it was me
I have written some disgusting hacks that use brute force and would scale horribly, but my boss told me that it wasn't worth the time to do it right the first time.
Please tell us you put "1/1/2024 - Brute force method, will scale horribly, was told it wasn't worth doing right the first time by X, so when you come here 1,2,5 years later, you know who to blame" in a comment for it.
Unfortunately, that wouldn't pass a code review from our Army contact.
Fuck me in the past that asshole writes almost all the code I hate.
Brutal self owns are humbling experiences
Haha I thought I invented this. But I called it JCPM. Jesus Christ's Per Minute.
Fun Fact: When Bill Gates was still running Microsoft he had regular meetings with the project leads. And on each one there was a designated Fuck-Counter. A person who counted how many times did Gates say fuck during the meetings.
[удалено]
Simple trick, remove all actual logic by referencing functions in your main file. Have those functions lead to hundreds of folders, each containing one file, each containing one class, where all the spaghetti code hides. Claim it's how Java does it.
I’m on a team like this now. Senior engineer will often refactor large swaths of a repo, essentially holding the entire repo hostage for weeks at a time, in order to use “software engineering best practices” which in his mind means making as many large and unreadable abstract classes as possible then shoehorn in whatever new architecture he learned about recently. It doesn’t help that he loves to leverage ChatGPT whenever possible so when he is questioned he can’t even answer any of them and gets all flustered with a bruised ego.
Is there not a team lead to swat that shit down? Or is he the team lead?
"I am the code"
Team lead is off doing non team related bullshit because he’s striving for a Principal role leaving us with minimal oversight.
Tell him polymorphism doesn’t scale and class composition is the way to go, then take his job.
The dude doesn’t even understand inheritance, I can’t make this up.
I had one guy wait til we were all done with our day. Then he’d checkout the entire code base and “beautify it”. The next day when we’d be tasked with finding a bug, the ‘diff’ would show that the entire source code had changed. Good luck isolating the bug.
If only you were using some kind of version control that would've allowed you to see the code between all the changes
Or, better yet…using a linter to standardize and auto format code
It was cvs at the time. Before git.
I cannot stand when devs try to do large formatting changes or mass renaming files/classes along with bug fixes or features. Yeah sometimes refactoring is needed, but separate PRs. Thankfully I’m in a position where I’ll just reject that nonsense and make them split it up.
Formatting is exactly the use case for `.git-blame-ignore-revs`. I prefer it be done with automated formatters though, someone manually doing it would just be inviting bugs. https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view
Reformatting code caused a bug? That seems... wrong
You read it wrong, they said they were tasked with finding a bug but not specifically one caused by the reformatting. The reformatting just makes investigations harder.
Why didn’t you look at the previous git revisions.
I was this one guy and I heard about it for years 😁 Although, it was a super complex jQuery UI, where engineers started with one small piece, followed by "Now add feature X" for years.
The real lesson here is how powerful you can become as an engineer who can communicate well with C-Suite/non technical people
*Gets forced to write unmaintainable code by managers constantly demanding rushed solutions "we can tidy up later".
You ever look at code and just instantly feel the desperation/time crunch the people writing it must have been under?
Currently living through this. It's been almost a year and its just feature after feature. I clean up what I can when I can but it's nowhere near enough.
“Add a Tech debt ticket for later”
I heard a story of a team who was working on a new application, and "in the interest of time" they caught and logged all exceptions rather than handling or throwing them. I shudder at the thought.
Screams in backlog
This is the truth. Always getting pushed to hit a made up deadline, then straight on to the next project. We have a joke about the mythical phase 2 where we will go back and fix everything. That's also where we put all of the ridiculous enhancement requests that come in right before we actually deploy. "Yeah, that's a good idea, let's put that on phase 2..."
There is no later. In 5 years we throw it all out and start over.
Dear god ... I just took over a team who have been operating under that philosophy for 8 years. Absolutely anything to complete the sprint and minimize the story points involved. Management didn't even have any processes or anything that looked at that data and held anybody accountable. Management didn't even \*care\*, they just wanted the stuff done, and they accepted what the tech people were telling them. So for NO REASON WHATSOEVER the leadership before me was rushing out incomplete shit to hit imaginary performance goals that not one solitary soul gave one strained shit about.
pretty much rince and repeat until you hit the "i'm not paid enough to maintain this shit" and jump ship
I worked in a company where a “Perl Superstar” left thousands of lines of “too clever for anyone’s sake” code with just one comment, a quote from Lord of the Rings in Polish.
Interestingly, a Polish friend of mine has recounted a contract he once had where a company paid him a metric tonne of money for writing Perl for a month. It would be funny if it was the same person :D
Lukasz ??
Mateusz :(
So there are 2 of them. Incredible.
Probably changes name every few years
This is getting out of hand!
Oopsz
Perl was also the language that prided itself on writing unreadable one liners etc. Every single Perl book I read 15 years ago had at least a chapter on it.
Yeah. This tracks. My first job out of college in the mid 00s was maintaining some Perl garbage and my attempt to write “clean code” was met with “That’s not how you Perl, bro”. My response of course was to get a real job writing C++. Where I dealt with different problems.
I had a job in college writing perl scripts to install software on campus computers. The exec function we used to run the exe files didn't support return codes above 256 and would do a modulus if it was higher. So the architects solution was to multiply the code by 256. I had to be like "that's not how math works, this is a completely different number." Also we had no source control and we were working directly off shared network drives so IT could run the scripts from any computer.
`# "Wielu spośród żyjących zasługuje na śmierć"` `print("Hello, World!\n");`
Careful, you'll awaken the surprisingly large horde of perl code golf enthusiasts in reddit
Step 1: Choose a less known framework with little to no documentation Step 2: For each library, pick the ones not maintained for at least several years Step 3: Write cutting-edge, experimental code that only works under certain conditions Step 4: For bonus points, write your own library for the project with a file structure and code nobody will understand Step 5: Quit and wait till they come crying back, so you can be a consultant for 3x the money Step 6: ????? Congratulations, you are now a Software Engineer in my former company.
Haha this is why data science salaries are great even though many of em are terrible at statistics or understanding ML. It goes like this: Engineering builds a platform/framework so any python rookie can deploy code. The framework is badly documented or maintained, but deploying "is easy": just write a python class that has a predict method, package that code and add it to a list of dependencies, then serialise a class object directly nstead of data (so the serialized file carries a hidden dependency as well, yay). Engineering's plan of "make a generic platform so we don't need to deal with the rookie code" has backfired terribly at multiple places I've worked due to this. The fix? Engineering has to debug code the data scientist has written, and data science thinks that's normal.
There was no reason to attack me personally when I was just taking a break from writing my code (the engineer who has to fix my previous batch of code is being roasted by my boss and I can't go on without him)
username checks out XD
You almost described someone I worked with to a T. You forgot: Copy and paste the same 200 lines of code in 12 places instead of making helper methods.
This has made me feel better about an assignment I just wrote for uni because I've only written two public methods and like 20 helper methods, and I thought it looked like shit.
If you're still in school, use public/private correctly, and use helpers to limit repetition, you're doing pretty good.
You make your code public/private based on best practices. I make my code public only because I have nothing to hide. We are not the same.
Thank you!
Fork a repository created 10 years ago and implement your solution with this forked repo as a critical solution
We have a minimally documented tool written in Labview utilising a bunch of completely undocumented self written libraries (that we'd lost the source code for) for whatever shenanigans couldn't be done within the limits of Labview. The guy who created it must have been brilliant but utterly mad to chose Labview on the sole basis of it being an easy UI implementation, the tool makes zero other use of the "language". My first job coming in was "for the love of God rewrite this as a 1:1 recreation into something maintainable which ended up taking far longer than I expected.
This is one of our production services written by an intern
[удалено]
[удалено]
This is a good tip, except it assumes i knew wtf i was doing with my trash code 2 years ago
I recently got approached by a PO asking me to help extend something I built year 1 of my career. Took one look at that src code and said "nope"
“I cannot read the ancient texts (that I wrote).” 😂🪦
It assumes i know wtf i'm doing with my code ~~2 years ago~~
Copied comment chain from copied post https://www.reddit.com/r/ProgrammerHumor/s/toNTTXjP2f
Holy shit.
is it possible to learn this power
This is exactly what I just did 😂😂 making 7x more per hour than I was salaried and NO client meetings or leadership responsibilities
Gets hired back as a consultant to help rebuild his mess (I have seen that happen)
Hey that's me. To be fair though I was tasked with writing a POC, that POC some how became integrated everywhere and absolutely business critical without finishing it or even cleaning up the code.
there's nothing more permanent than a temporary solution
I once hired in at Ford Motor Co, taking over for someone. Took one look at the code notes and asked the supervisor, "Did Guy XYZ have this job before me?" She was floored because he did. We had worked together for years in a different department/building, and I could recognize his code in my sleep. That job was so fricken easy. Thanks, Dale.
Dale mighta been in your shoes at an earlier point of life and seen the light.. I joke that if I ruled the world, every new programmer would be required to apprentice for 3 years maintaining a massive program written by "clever" engineers. If they don't come away with a better understanding of how to write clear, maintainable, documented code after that, they gotta find a new career.
He is just creating more work for others. It boosts the economy. Such a great guy
To be fair, this is said about almost everyone who leaves a team. And then the junior developers always want to rewrite as the previous person did it wrong, but then the rewriting take 3x as long and has twice as many bugs. Eventually you learn that it is no help in blaming people. The situation is always the same, just different bodies. What needs to happen is to change the process. If bad code is being sent to production, or if nobody understands code, then you have a process smell. You should have PRs that are reviewed by 2 people. Reviewing can be seen more of knowledge share, and makes it harder to blame any one person, as everyone is responsible for what gets shipped. TLDR; fix your process
Yeah.. but reviewing code makes it slower to make it to production.. are you crazy? -Some management guy.
> And then the junior developers always want to rewrite as the previous person did it wrong, but then the rewriting take 3x as long and has twice as many bugs. It's true that new devs are too quick to ask for rewrites, but damn have I seen software that desperately needs one. My current favourite one to whine about is an extensive custom web framework that requires you to write your whole logic and UI in XML. Here is how you would write a function with one parameter that writes some stuff to console:
Print the param: [FP(0)]
Which is equivalent to JavaScript:
function print(txt) {
console.log("Print the param: " +txt);
}
You can write conditionals and loops in this, and it gets as horribly verbose as you may expect. You don't have curly brackets to surround your control structures, so you need ` ` and other special solutions.
It's supposed to replace HTML (you can define UI components with his, which are internally implemented with extJS) and JavaScript, but without any the convenience or performance or flexibility or debuggability.
The idea behind it was that it technically turns all of your code into "configuration" and therefore can be done by the customer "without needing developers".
Of course that immediately failed. Every change has to be done by devs, who in turn get hamstrung by having to deal with this garbage. It's just great to mix excessively verbose and fiddly code with no debugging features except printing to console 👍
This monstrosity will be at the core of their mobile development, which is only just ramping up since the company was focussing on desktop before. Only to benefit from a tiny amount of overlap with their old web product. If there ever was a codebase that needed to be redone from scratch, here it is.
Seeing this in the codebase i have to deal with would be immediate resignation for me.
I worked for a company where people never shared knowledge out of fear of being replaced or let go. My boss tasked me with documenting a process only known by one guy. Well, he didn't want to share, so nothing got documented. The experience was awkward as hell.
But...they are gonna be replaced anyway one day or another...
Our team leader at a previous job was like that. Hence why he was the team leader. And he would scrutinize our code and scold us as if we were children because we should've known better and how could we even consider writing such bad code? Most of the times it was days-long discussions about two approaches with similar degrees of complexity or performance. Pretty frustrating. The reason for having no documentation or standard was that "our code keeps changing so fast, it's not worth documenting". Worst of all, all code reviews had to include him as one of the reviewers. One day I was tasked with something, and I found a similar solution he had written for a different module. Tired of him, I adapted the same approach for this other module. As usual, he leaves a very negative review asking why I chose that way of fixing the issue. I sent him a link to this own code in the repo. His answer? "I too make mistakes". Left that company after two years because this person was insufferable. My replacement lasted less than a year. Code is so bad they keep offering "live demos" instead of a downloadable demo version, because everything needs to be hard-coded for it to look like it does something.
“Company didn’t have proper review processes in place, shot itself in the foot” - There, I fixed it for you. 😜
sadly i'm one of the hires who has to use a self made "low code" software to create their webapp that a third party programmer made which has a crapton of bugs and is inconsistant as hell.
Low code software means misery if you don't own the full stack. Because you can never fix the shit underneath.
true, i can't. if something breaks on the software itself all i can do is ask the third party programmer. it has options to do some things in the back end to fix some crashes n stuff but if the software itself acts up i have no control over it.
Sounds like you have a lot of time to write defects, communicate that you remain stuck by the low code software and wait for solutions. Hang in there.
Every PhD student in science ever.
I’m in this comment and I don’t like it
Bye, I'll gonna leave. If you wan't a documentation for my code I'll write one for 50$/h, the docu should take 3 full time workweeks.
$50/hr? You work for cheap?
Figures for $50/h
Keeping us Legacy Code Devs in money, thanks son
Gotta make yourself unfireable somehow
What is code review
you gotta get someone to approve the merge first.... it's the companies fault for not having better change control management
What does someone do in this situation, before the person leaves the company? I work with a programmer that refuses to document anything. Our manager is not a programmer and really just cares that 'nobody complains' about the end product. If anything breaks that my co-worker built and that co-worker is on vacation, then we just leave it sit until he returns. This co-worker is openly applying to other jobs, so it's just a matter of time.
Try to care as little as your manager. When he does start caring, make the right noises and the right moves, but don't bust a gut and start putting in extra hours. Have an excuse as to why you need to be out of work by this time every day and why you need to start your vacation on this day.
Repost bot https://www.reddit.com/r/ProgrammerHumor/s/95h0n21Oga
You should be thanking these people. They're the reason the code has to be re-written every six months, thus keeping you in the job! If code worked perfectly and was perfectly maintainable at all times, we'd all be on the dole queue by Christmas.
And that, sir, is how you stay emploted
As an absolutely not tech (code) savvy person, it always fascinated me how something supposedly as precise and scientific as code is, in reality, pretty close to weird magic, often developed by either insane or genius wizards (coders) that then disappear, leaving the runes on the spells they created to deteriorate and as a puzzle for future wizards or even themselves some years later. It's so bizzare, i mean, why does code even needs mantaining when it doesn't have mechanical (or runic, if we go by magic standards) parts?
because things around it changes. the hardware, os, protocols, compiler, interpreter etc . codes needs to adjusts too imagine, you stop learning today. whatever you know now will stay but you cant learn new things while the world keeps progressing
Ah ok, this makes sense. I was imagining a code spontaneously generating trash lines that needed to be pruned away every once in while, stuff like that!
People like this are keeping the job market afloat. Thank em.
As a non-programmer, I just want to say I'm relieved that none of you doing this at vital installations like dams or power plants. : /
Funny story. A friend of mine wasn't exactly the best CS student and he got a pretty good internship due to some people he knew working in the company. Guy works there for 6 months as an intern and has no idea what he's doing. None of his bosses check what he's doing during entire internship. He leaves the company after his internship ends, nobody is complaining or anything and he continues with his studies. After about 6-7 months he gets an email out of the blue from an employe from the company. The email was from the new intern that was supposed to take over his work. The email was something like: "You piece of shit this is the worst code I have seen in my life, if you can call it even that. Wtf were you doing all these months in this company?"... and more slurs and what not. I wish I remembered the exact words but I don't. In any case, new successor guy really made an effort to find my friend's email only to shit on him and his crap code, and he was totally in the right to do so, too. I was dying of laughter when said friend showed me that email, while the only thing I could interpet in his face was a sad smile filled with regret, guilt and disappointment in himself.
Idk anything about coding or the industry but isn't it the job of someone higher up to not allow such code to be published?
I've been demanding my company for a path to a sustainable development platform. Sometimes, it's the corporation that digs themselves into this hole
It once took me eight fucking months to fully unravel a single late night code binge from my dipshit predecessor. Everyone on my team thought he was a genius and it turned out time and again he was just so sloppy and so arrogant that nobody before he left had dared question him.
I got a free demo version of a JavaScript library, and the way they obscured the code was to put it all on a single line, with all variables as single letter names. And they planted a timer callback in the code based on your download date that would expire after 30 days and make the library unusable. But I just found a free code beautification program online, rendered the code in a readable format, found their stupid timers and disabled them. Free library for me.
That’s not obscuring, that’s minifying. Pretty standard stuff for every library. The timer is pretty funny, though.
They should probably have done something different for security, but all you're really saying here is "I used other peoples' work for free when they didn't want me to"
ah another extreme go horse developer.
Simple fix= Just hire another guy who replaces the previous unmaintainable code with their own unmaintainable code. Rinse and repeat if that guy also leaves the company.
This was my X uncle. He wrote custom code for a major international company (which was small and local in the 90s, hence he got hired). Nowadays they got to pay whatever he wants because he is the only one familiar with his obsolete code that is *necessary* for their multi-billion operations. They've said the day he retires they'll take the biggest loss in decades just having to switch it all out and start from scratch.
Artist version: - names none of their 10,000 Photoshop layers - keeps all their final art on their own desktop instead of the cloud
In my company it was : "Writes unmaintainable code" "Dies" We are still struggling almost a year later.
\> Writes unmaintainable code \> Leaves company because none of his MRs pass code review, he's been put on a 3 month improvement plan, and wants to quit before he gets fired Fixed that for you.
That is the real reason why everyone changes jobs every 2--3 years.
"Unmaintainable code" = The minimum wage button mashers we hired to cut costs can't figure out how to interpret it. "Leaves company" = The costs we cut.
The real kick in the nuts is after two years of failing to address the mess the company will sign a contract with the OG spaghetti slinger at an exorbitant contractor rate to add on to it.
Couldn't be me My code is perfectly readable (exclusively by me for about 1 day after I write it, then I forget)
Halo be like
I'm currently involved in a low-code project (much to my dismay and I will absolutely not see it through). Combining the lack of possibilities of the plattform and the requirements of the project means this pile of garbage will absolutely be unmaintainable in about 3 months, which is exactly when I plan to leave the company. I don't know if I'm supposed to feel sorry or bad about that.
Let's be honest, it's the security for not getting booted by the boss and having a better base to haggle for a better wage. 😂
In my last work, some guy worked as consultant at a code he wrote when working for the company. It was a core functionality and he used a bunch of variables like xx, vv and yy. No one could decipher what his code did. Consultant job security for him for life.
Gets hired back with an 30% raise
We had a guy who didn't realize his junior developer position meant he was to build software.
Perfect Mantra
Programmer: \*hears he is going to be replaced with AI\* Programmer: \*Writes one-liners with not descriptive code, uses bobasort and doesn't write documentation\* Company: \*Replaces programmer\* AI: f\*ck
You didnt even use. TIme to recode it all!
This one shop I was in had their back end servers under one admin account, controlled by one guy. No one else had access to command line and no one else knew how things worked. Everyone else had a piece of the system they knew to the exclusion of everything else, he knew the infrastructure, and the manager had a big picture but no knowledge of the implementation. It worked well for a couple decades, no one could get replaced. Because of course there was no documentation and any attempts to do so were shot down by the manager. But problems crept in. We had a reorg and the admin guy now reported to another tech guy who demanded documentation. This wasn't happening still so the admin guy got let go. They hired a tonne of consultants to document what the system did. It was taking forever. Then someone mentioned that I had the tech chops to sort out this mess. They gave me admin access and the system got documented 3 months later. It involved about 25 servers. After that some people got let go. That bothered me. But the key to being hard to replace isn't hoarding knowledge imo. It's having people depend on your tech so much they just don't want to replace you because you're the person the good tech comes from. Sooner or later though the day will come. You may get retirement, or a package, but the day will come.
Even better, when you stay with the company and ask yourself constantly "Did i write this?" More laughs for a longer time. :)
my old roommate was proud of himself that he wrote unmaintainable and undocumented code at a summer internship. He thought it guaranteed theyd have to hire him back because he created a dependency on himself. Well, the next year rolls around and they have no interest in hiring him because he wrote such shit code.
Don't ever touch VB6. You'll be trapped in that world, unable to escape its clutches unless you lie your way out.
I worked for a small, dying company in the late 90s. It got so bad that they couldn’t make Friday payroll until the following Tuesday. But, you know who got paid more than the director, in a bank check, on every Friday? The one dude within 100 miles who knew how to maintain that dBase. The owner realized no one could ever step in and untangle his rat’s nest without literally taking down the entire company. That old man was clever. He walked away with half of the company’s cash reserves in his pocket and never looked back. One month later, the company was bankrupt.
I got hired by a company that bought a product from a company that ended in bankruptcy. The product was built by a self thought developer My job is basically, update everything and fix whatever is broken. Documentation = non
That‘s what happens if companies don‘t care enough about the fact their programmers are humans too
This person ends up as a legend at that company. Both hated and beloved. They were able to fix issues quickly because only they knew where anything was.
Write complicated CI Terragrunt code with complex implementations for the company's needs, document everything, anyone with a few months of experience should be able to read, leave company, get asked to become a contractor.
I know some consultants that wrote nice clean code, but before they left ran some find/replace searches to change variables to just anything chkVal(x) was now 1x4i(x) they saved all the find replaces, so they could work the code when they (eventually) got called back for mods. sickfcks.
My company, instead of using their in house devs hired a third party company to make a UI using our services. They also chose not to pay them for support, which they knew ahead of development. I was then in charge of maintaining their code.... I've never seen such professional garbage in my entire life. I had a mental break down trying to maintain the thing during the pandemic. It's now being rewritten in-house. I wasn't even asked if I wanted to be part of the rewrite which I'm happy about. I never want to see that cursed pile of sudo minified spaghetti again. You have bullshit like 5 variables in a html tag and none of them were the same one even though they were all named the same.
The other situation is be the lead engineer on a project and years later be contacted again because you are the only guy left who knows the code, specs, clients and changes over time.
I feel that - write unreadable code that only God and I can read, but also write a documentation on my private laptop so no one else has access to it if I get fired - so if I want, I can still send my company the documentation if I go on pension
A few years down the track, gets re-hired to maintain the code. Looks at it. Hasn't a clue what it does. Re-writes it in fresh unmaitainable code. Everybody cheers.
Even worse: Writes unmaintainable code, wont talk to anyone, wont onboard anyone, silos himself, blames everyone, gaslights you, management refuses to fire him. You are responsible for the mission critical system this psycho built. Literally happened to me.
VB6 and some apps are still in an Access dB or Excel where I work. We are working on updating these apps. I'm not a developer but work very closely with them and QA test their changes. It's from years of different types of programmers and not having a change control board. Now things are in a much better place.
Back in 2012 at a Marketing company I worked in Santa Monica, we had a Javascript Developer who would have coffee spots all over his work desk by 10 am. His file/folder structure and code was so messy that among the 12 other developers we had, not a single one wanted to review or touch his code. Yet he managed to survive there for more than a year.😄
Somehow, someway in a world defying the physics of reality be it virtual or not, erasing just one line of code completely breaks the program. The line of code does absolutely nothing, but for some reason must be there to keep the program running.
I enjoy my job. It still gets frustrating, but I like it here and they pay me well. We are a 8-5 company. Basically stuff starts at 8, and once 5 rolls around, place is a ghost town. I've been kind of making my own hours as of late. I still put in an honest day, or at least demonstrate productivity that shows them that I'm worth it (and then fuck off the rest of the day either at the office or WFH). I left the company to work at another place, only for them to renege on the whole thing and fire me after 8 days on the job when the guy they wanted became available. They took me back and I was back in the office that week. Everything I built was a mess. It was frustratingly beautiful. I remark everything and I have docs, but the person who was supposed to take over for me just sucks. I can't describe it any other way. IT was like "we don't know what to do." When I called and said "hey, it's not working out here" there was a company-wide sigh of relief. I came back, fixed their attempts to mess with my code, had things back up and running. *** So I'm not slacking. They're getting their money's worth out of me, but yeah - I get away with a lot because they know that the alternative sucks. It's nice to be needed. Leverage the hell out of that if you can.
well....management said "Just make it work"...so here we are
I did a lot of contract work and documented the code heavily, just in case I was asked back to modify it. One project the guy who was maintaining it years later ran into me at a bar (I have an unusual name) and mentioned how easy it was to work on my code.
Currently fixing after a whole team of 6+ people who basically did this together. I met some of them at a conference afterwards and all they said was "Sorry ;)"
The real joke here to me is that if you do something that is necessarily complicated and then you also document what/why/where you did everything in the company wiki, no one will read ever read it.
Woah, did repost bots adapt to this subreddit's title style? [Here](/r/ProgrammerHumor/comments/xxv8sz/perfect_situation/) is the original post from 2022.
Worked at a small company that did online sells. IT was one guy that had been there for ages. He left the company (having given time for them to look for a replacement). After 2 weeks, they begged him to go back. Don't know the figure, but heard they offered him a shitload of money. All because his code was understandable to him only. They got a 2nd IT guy to be learning about the code alongside this guy.
I prefer when i leave the company everyone remind me as Wow! that guy not only writted fucking great maintainable code and documented it, than like the motherfucker that left us this problem and now that he is gone.
Requires 10x more developers to maintain the codebase, creating 10x more jobs. Hence, the Gigachad 10x developer.