I'll admit that I'm a picky developer. I think that code is as much art as science. It's a craft, and needs to be respected as such. So when I have to work with folks, it's important to me that they have come of the same kind of respect, if not the same feeling about the code as I do. It's not required, but it really helps.
Lately, I've been asked to work with a group of guys that aren't really open to the ideas I have for code. I've been working with them for the better part of a year, on and off, and while they are probably fine developers, there's a reason we haven't worked closer in that year. In this latest effort, they are trying to add things to my codebase, and that's where things are getting a little sticky.
I don't mind if you make a mess of your codebase, but don't mess up mine. I plan on using this for a long time, and any crud you throw in there now is just stuff I have to clean up now, because I simply can't afford to let it sit there and rot. I need this to be solid, reliable, code.
So I'm going through the checkins, and I come across a template class that has no business being a template class. It's not even close. It's a horrible hack, but it's there, and I have to deal with a guy that thinks he's right about the template class, and he couldn't possibly be more wrong. Politics.
I try to explain that this really isn't the best way to arrive at this design, and I point out that it's not the first time this has been attempted, only to fail and write it in a more custom (non-template) version. It just doesn't lend itself to a good template. He pushes back, and then talks to his boss, and his boss, and soon it's this "Bob is stopping progress!"
Holy Cow.
What I want to say is "Just stop coding on my stuff. I'm going to change it anyway, so just don't bother." But I can't. I'd really like to, but I can't. So instead, I have to sit and explain myself to my boss, and let him deal with it. Thankfully, he's clear as to what was going on, and thinks I was fine in the email presenting my points in a non-emotional way. It just got out of hand by the other guy.
It's incredibly frustrating to take the time to make a nice, well-thought-out reply to someone you know isn't interested in reading it, only because to not do so makes you look like the "bad guy".
Arrgghh...