I had some suspicions that the VP R&D wanted to fuck me. His eyes were gleaming too much whenever he'd smile at me, his smile too stupid. Or maybe he was just retarded and I completely misinterpreted all of his facial expressions. I mean, he used to be a Product Manager and I don't know if the job naturally selects for retards or turns people into retards but the correlation is astounding. I eventually stopped getting the rape-y sort of vibes from him; I guess I've bullied him too much for being a PM and he lost his hard-on for me.
My team lead at that place, Patrick, was a piece of work. Dude had abandonment issues, and would call me - actually call me, not message me, but call me - whenever I'd go missing for more than an hour. He'd constantly poll me and other team members on what we were working on, and he was especially fond of spontaneous screen sharing sessions. "Let's see your work and maybe I can help you with whatever is blocking you". Ugh.
He also had a fetish for pair programming, and by "pair programming" I mean he liked having someone watch him work, whether via screen share or (preferably) physically sitting next to him. You never got to touch the keyboard when pair programming with him, not for long anyway. He did most of the talking too, even arguing with his own self. Reminded me of perverts who can't get hard without someone watching and so he'd have you standing in the corner of some dirty hotel room, standing there and watching - because he can't get hard without you watching, so you must stand there, and watch; and he's on the bed, fucking. Fucking himself.
When I mentioned to him that I don't find these sessions productive nor do I enjoy them, he smiled and said that he'll eventually figure out how to make me like pair programming. Does this count as sexual harassment?
And he loved to micromanage. Because of course he did. He took great care to describe in meticulous detail how features were to be implemented, down to what functions and fields should be added, and code reviews with him were less of a review and more of a way for him to check that you were doing exactly what he wanted, the way he wanted it.
At some point during my time with that company I managed to convince the crypto-homo VP R&D to let me work on a new, and vital to the company, project. I'd be bootstrapping it and would initially work alone, having to do all of the design and coding myself. The project was the brainchild of the company's CTO, and so he and my then-current team lead, Patrick, would oversee the project, getting weekly updates. I was clear about my demands that Patrick backs off and lets me work. In fact getting away from that fucker was one of, if not the, major reasons for me wanting to take on this project.
I spent 2 months working on that project.
I had a lot of fun working on it, and also felt a great deal of responsibility for doing it well - were it to fail, I'd have no one to blame but me. So I really worked hard on it and I was proud of what I've accomplished; certain parts in that code-base were sheer elegance.
During my work on the project, I had weekly review sessions where I presented my progress, explained my decisions and what alternatives I've tried that failed and so forth. Most of these review sessions went smoothly, and while Patrick did have a lot of questions and too many suggestions for me to care for, since we've reached an understanding that I'll be the lead on the project he couldn't really force my hand. He did have useful and dare I say insightful suggestions and observations of course - the guy wasn't a moron - but ultimately he had way too high of a noise/signal ratio in terms of providing constructive feedback.
What worried me was the fact that the CTO seemed to defer to him a lot and trust his judgement, taking the backseat in these review sessions and even skipping some. Patrick has been with the company from pretty much the start, whereas I wasn't there even for a year. It became clear that the success of the project wouldn't depend on me delivering a working product but on politics and personal differences. It wasn't my first time at the rodeo, I knew what was coming.
Two months pass and we have a major review meeting. You could tell it was capital M Major because in addition to Patrick and CTO, the (homo-crypto; sorry I just think it's so funny the poor guy went through such a devastating divorce and got stuck with raising a teenage girl that he turned gay because he was so desperate for non-female comfort; but I'm digressing) VP R&D and two other core team members present. And they weren't there to listen to me talk about how smart I was and how well thought out my code was. They were there to make a judgement call on the future of the project.
At that meeting Patrick throws me under the bus in such an absurd fashion that even though I knew what was coming I couldn't help but be bewildered. To describe it in a word, it was uncivilized. He presented all of his issues with the current implementation, which of course I tried to counter with my own arguments, unsuccessfully - at least judging by the sentiment in the room (and in retrospect by the outcome). I was some random guy that wrote code for them, while the rest of the people were together for years since the company's inception. They were total bros and I was infringing on their fraternity house. It wasn't a debate or a trial. It was an execution. Patrick basically presented his rational for why the current state of the project is unsatisfactory, and stated I was hard to work with, it being very difficult for him to communicate to me crucial design & implementation decisions.
The project is cancelled. No; even worse: they decide right there and then that a newly formed team will be dedicated to continue working on the project, and that I am to hand it off to them. Which, for me personally, is the same as cancelling the project. That's bullshit of course, no one decides to create a new team on the spot like that; they had made the decision beforehand. The meeting simply solidified the notion that I'm not a good fit to continue working on the project, because I don't follow Patrick’s directions verbatim.
And so a team is formed, led by newly promoted co-worker engineer I personally disliked a great deal. I had the great displeasure of enduring code reviews by him where he'd nitpick me to death, and talk out of his ass about needing to refactor this and that, even going as far as trying to shoehorn these refactors as part of my tasks, when I simply needed to get some feature implemented or a bug fixed that touched a problematic area of code.
He was fanatical about writing "good code", problem was that he was too dumb to have a decent notion of what good code is, and so all of his refactoring suggestions came down to bike-shedding. It was embarrassing. He'd often make the code worse by refactoring parts of it, just to have functions accept some parameters they previously pulled from an implicit context, for example, and in the process breaking the consistent structure of the code. So instead of dealing with kinda meh code that is consistent with itself structure-wise, you'd now have these portions of newly-refactored code that made dealing with them and understanding them much harder, as they were different for the sake of being different.
The guy was constantly angry about what shitty code we were writing, and how much refactoring we needed to do. He was insufferable. He also had a little French Bulldog he'd often bring to the office, which looked a lot like him, like actually. He loved that dog. I guess his subconscious saw itself in the dog.
Small, dumb and annoying.
He'd also regularly spaz out during bi-weekly R&D meetings about the dumbest shit, like not managing epics correctly on JIRA. But I guess all of that signals "Managerial Material".
And so I endure a 4 hour meeting, where I hand off the project to the French Bulldog and his two team members. Patrick is also present, but thankfully he’s mostly quiet, being too satisfied in fucking me over so thoroughly than to have complaints. Like a serial killer watching from behind the police line, watching how the police work the scene of his latest killing, satisfied at the sight of blood and the dead body of his victim.
During the meeting it becomes clear that the French Bulldog is not entirely satisfied with my code base either, and wants to refactor it. By the end of the meeting he's concluded that they'll probably need to re-write the whole thing, considering the "bad shape" the code is in. He rolls his eyes and sighs loudly, mumbling "why" whenever he sees anything he doesn't like about the code. There are a lot of sighs. The spastic asshole is flabbergasted I used reflection. He can't believe the lack of logging statements. He knows of a much better JSON library they can use.
I have a meeting with the serial killer / hobbyist-pair-programmer, Patrick. He asks me
"Are you okay with how things turned out?"
I don't even think he was trying to rub it in; he was such a psychopath that he was genuinely trying to gauge whether I could come back to work on his team.
"Sure, I was paid for that work - you can do whatever you want with it"
The consummate professional. But of course it never does work like that. Whenever you spend considerable amount of time building something, and you're invested, proud of what you've done - it becomes very personal. So when you need to hand that work off to some idiot who shits all over it and says he's going to throw it into the trash - that shit hurts. That's the real pain: seeing your hard work go to waste.
Dealing with psychopaths trying to sabotage you and rape you with pair programming is nothing, really. Just another day at the office. But when you see your hard work abused, torn to pieces, and eventually completely written out of existence - that's what gets me down the most.
I quit several weeks after that. I tried going back to “regular” work on Patrick’s team but I was disgusted at the mere sight of him. Sitting there next to him, serving as a human rubber duck, watching him type away in his stupidly pretentious neovim, I fantasized about feeding him his own balls while setting him on fire.
I talked to the VP R&D, who by that point had no more smiles left for me, asking him if I can maybe do something else.
“No, I don’t think so… but Patrick could really use you though”
I’m sure he could - because that’s exactly what psychopaths do: use people. And when they can’t use someone that gets in their way they railroad him. Also, maybe I should’ve leveraged that depraved sexual deviant’s homosexual tendencies to my benefit. But that’s a dangerous game - one might get fucked playing it, and not the “they took my project away” kind of fucked.
During my exit talk with Patrick, he asks me how many companies I've been at in the last 5 years (fully knowing the answer)
"A lot, more than enough - that's for sure"
"Have you ever considered that there might be an issue with you, and not the places you've worked at?"
I just stare at him, are you for real dude.
"Look, I just suggest you do a little bit of soul searching. It might benefit you."
Motherfucker straight up gaslighting me at my exit interview, after completely undermining me with the project and prior to that abusing me with pair programming, micromanaging me to death, and inflicting emotional and psychological abuse throughout my time working with him.