Man, lemme tell ya, it felt like a running gag for a while. No matter what I did, how careful I was, trouble just seemed to find me. And it always, always, traced back to him. Let’s call him Mark. Not his real name, but you get the picture.
So, I started this gig, pretty stoked. The work was interesting, team seemed cool. Mark was one of the senior guys, not my direct manager, but he had a lot of sway. And he loved to “help.” His kind of help usually meant him swooping in, making some “quick improvements” to my stuff, usually right before a deadline. Sounds great, right? Wrong. So wrong.
I’d spend weeks on a feature, testing everything, making sure it was solid. Then, Mark would pop over. “Hey, saw your commit, just had a tiny idea to make it run even better!” And like an idiot, in the beginning, I was like, “Oh, cool, thanks Mark!” Then, boom. The thing would blow up. Not always a huge explosion, sometimes just weird bugs, stuff acting funny. And whose name was on the original feature? Mine. So, who got the stink eye? Yep, me again.
I remember this one time, we had this big client demo. I built this dashboard, it was my baby. Worked late nights on it. Mark came by the morning of, “Just tweaked a query for performance, you’ll thank me later!” During the demo, the dashboard just… died. Showed nothing. Blank screen. My stomach just dropped. The client was not happy. My manager was not happy. Mark just kinda whistled and looked at the ceiling. Classic Mark.
After a few of these “incidents,” I started getting paranoid. My practice became: document everything. I mean, everything. Every line of code, every decision. I started putting tons of comments, not just for other devs, but almost like a defense for myself. “This part was reviewed by X, this part was implemented as per Y’s suggestion (pre-Mark).” It was exhausting.
I even tried talking to my actual manager. Gently, you know? Like, “Hey, Mark’s suggestions are… interesting, but sometimes they cause a bit of rework.” But Mark was a smooth talker, always had an explanation, always made it sound like he was saving the day and I was just, well, maybe not getting it. My manager kinda just shrugged it off, told me to “collaborate.” Right.
The turning point, my “I’ve had enough of this” moment, was after a particularly nasty bug that took two days to fix. Turns out, it was another one of Mark’s “optimizations” he’d snuck in on a shared library I was using. I found the exact line. It was so obviously his style. I actually pulled up the version history, showed it to my manager. And for once, there was no denying it. But still, no real consequences for Mark. He just said, “Oh, whoops, my bad! Good catch!” and moved on.
That’s when I really understood. This wasn’t about me being a bad coder, or him being a genius. He just didn’t think things through, or didn’t care about the ripple effects, as long as he got to play the hero or the smart guy. And the system kinda let him. My practice of documenting everything helped me prove my points sometimes, but it didn’t stop the core problem: him.
So, what did I do? I started looking for a new place. Simple as that. I spent about a month on it, quietly. Found a company that seemed to have a more robust code review process and less room for cowboys. It wasn’t an overnight fix for my career, but it was a fix for that specific, recurring headache. My last two weeks, I made sure all my handover docs were crystal clear, almost to the point of being patronizing. Just in case.
It’s funny, I heard through the grapevine a few months later that a massive system outage happened there, and guess who was at the center of it? Yep. Sometimes, you just gotta change your environment if one part of it is constantly, stubbornly, making your life harder. It’s not always about fighting the battle, sometimes it’s about choosing a different field to play on. That was my practice, my record of getting out from under that particular cloud.