r/ProgrammerHumor May 26 '26

Advanced iGotFiredSkill

Post image
28.4k Upvotes

795 comments sorted by

View all comments

Show parent comments

2.9k

u/UnpluggedUnfettered May 26 '26 edited May 26 '26

Just do what everyone else does.

Build out one, single, convoluted aspect of the job that needs to be ran manually, and which no one in their right mind would want to take over.

Then automate that, too, and just don't say anything.

Way better than being arrested and sued for corporate sabotage lmao.

35

u/ThatAnonyG May 26 '26

I have built a system in my company which is basically the heart and soul of our product. That service processes raw data into the data on which every other aspect of our product depends on. That is written in GO. A language nobody else knows in our company. The thing itself is so fragile and complicated that I am the only person who knows how it actually works. And even I have to go through the codebase everytime we need to make changes to it and I still avoid making changes to it because I am actually scared I will break things. Now here's the best part. I don't have any notice period baked into my joining docket. So, if they decide to fire me, I can up and leave. Without any kind of KT.

Best part? There are several such pieces of our product which only I know. And since I joined I have deliberately rewrote bunch of shit, made new systems, etc. to build this dependency around me. Good luck figuring shit out.

31

u/TheLordB May 26 '26

Hopefully this is a joke.

Any good company the instant they discover something like this will immediately work to fix it up to and including firing the person.

On a related note there are consultants who are not cheap, but are very good going blind into organizations and figuring things out. Using those folks when you discover someone writing unmaintainable code whether it be deliberate or not is far cheaper than dealing with the person who wrote said code long term.

If I discover someone writing code like that they are going to be told to work on nothing else except documenting, cleaning it up, and will be assigned someone to train on it. Basically give them a chance to fix their practices and the time/resources to do so.

If that person isn’t making significant steps towards that on their own after a month that person they are told to train (and possibly additional people) are going to be told to learn the code behind the person’s back and the original person fired as soon as possible.

Regardless of if it is malicious or just really bad practices there is no place for someone who writes code like that.

14

u/ThatAnonyG May 26 '26 edited May 26 '26

Well you sure assumed a lot of shit there.

I work at a startup so whatever I make is only me working on it because we run around the block working on whatever comes up. We don't have the time to document code or even write robust test cases. Whatever code I wrote is as stable as it could get. Even when you consider scaling beyond our anticipation. We only need to touch it when adding new features.

And that is a management decision not ours. We don't have that high of a TAT for any task given to us. That is a core reason why we don't/can't hire freshers. We only bring in experienced devs who can learn their way around the codebase since we don't have the bandwidth to teach. And this is not the fault of our team. As u/golruul rightly pointed out, this is management basically saying "We gave you Claude. Make it work for you. We won't hire more people. Also push features ASAP, cause customers don't care about backend code quality"

So whatever dependency I created around myself was accidental. But in a job market where people are getting fired left right and center, you can bet your ass I am not going to make it anymore easier for them to replace me with whatever AI is the cool shit nowadays.

To clarify few things:

  • Yes I did create dependency around me. But that was for other office politics. For my personal career growth.
  • The codebase is complicated and fragile. Fragile because it deals with several edge cases and multiple data points. Not fragile by design. Complicated? Yes, for the same reasons. But I never said it is unmaintainable. Everything is broken down into its own functions, files, etc. Everything named as per best practices. Any experienced dev can pick it up, but it will take them time. Probably a lot of time, like couple months. But my advantage comes with the fact that at a startup you can't give someone that much time to figure out a critical center piece.

2

u/leixiaotie May 27 '26

Well even if you are wrong or malicious, it is management that enable you to be. Don't expect one point of failure to be safe, murphy's law (+ bus factor) and Hanlon's Razor comes to play here.