Starting projects

I had an experience today that made me…well…flat out fucking angry. When you start working with a new team, on a new project, at a new company…heck whenever someone can point at you and call you the “new guy”, you need to be very careful with your desire to impose your belief system onto the group. The only time that this is acceptable is if you’ve been brought in to impose change, but even then you usually will want to wade, not dive, into the pool.

Today I had to work with a relatively new-to-our-team person. The previous work that this individual had been doing was being raved about. I believed it. Last week was my first time dealing with this individual and the experience was mixed. I don’t mind a good throw down verbal argument about different ideas. I certainly don’t back down from them if I am passionate about the topic. We had one last week. The topics is irrelevant, but I was disappointed when he simply walked away from it after making his point, but not defending it when I challenged it. Maybe it triggered some kind of carnal notification of weakness because today I had the need to get aggressive with him and I went after him like he was the falling behind, sickly gazelle you see the hyena grabbing on Animal Planet.

There are some things that get me excited. Some get my hairs to stand on end. Others, well, they just make me flat out mad. One thing you never do is spend 2 days on a successful project and then declare that it’s practices are incorrect unless the practice in question is impeding the project’s ability to improve on it’s current state. This individual today declared that an automated build script was a waste of time, that he wasn’t going to maintain it and the fact that his most recent checkins breaking the CI server weren’t his problem. Like I said, there are some things that just make me mad. By this time all the buttons were pushed and I was in full hunt mode.

The things that he was fighting for were fundamental practices that many of us won’t do without anymore. Automated build scripts, Continuous Integration, checking in code that isn’t broken, having succeeding tests. All of his arguments for why we needed to remove this standards from our project boiled down to him not wanting to change his ways. The F5 compile and one assembly per csproj file was the only possible way to do things. These are practices that I hold near and dear since they have helped me to significantly improve the delivery of every project I have used them on. So that made me mad. But I turned irate when any challenge to his belief system was met with either silence or “This is what VS is for”. If you’re going to show up at a gun fight, you’d better be willing to shoot bullets, not blanks. Simply having cartridges ejecting from the rifle doesn’t mean that you’re in the fight.

The thing that really set me over the edge was when I was told “I’m really surprised by you.” When I asked him to elaborate (in my own special profane way) he wouldn’t. If you’re going to get me mad and then call me out, please step up to the plate with a set of fucking balls.

Since ending the call the thing that has fueled the anger more is that I just spent four days training on these things and this guy was in the room. It’s obvious that he didn’t pay any attention. Note to never have internet access in a training room again.

Anyways, nothing good came of it other than the fact I reverted back 3 checkins that this guy had made and told him to spend the weekend learning nAnt and TortoiseSVN since we weren’t changing what was already working. I’m pretty sure that Tom is regretting leaving work 30 minutes too early now too.

That should be enough venting for one day. Thank god it’s the weekend….and that I have a good scotch.