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.

posted @ Friday, September 12, 2008 3:57 PM

Print

Comments on this entry:

# re: Starting projects

Left by Tom Opgenorth at 9/12/2008 4:20 PM
Gravatar
Damn! I wish I had heard that. Your earlier conversation with the guy had me giggling for a good 30 min or so while you were talking to him.

Oh well.

# re: Starting projects

Left by Sean at 9/12/2008 8:38 PM
Gravatar
Damn shoulda stayed at 1905. That could have got interesting. In IT if you arent improving your falling behind.

# re: Starting projects

Left by Adam Kahtava at 9/13/2008 8:20 AM
Gravatar
Wow. It sounds like you have the perfect characters for a documentary (the TB cougher, the dude that hates CI) get that office cam up and share the feed! :)

# re: Starting projects

Left by Mack D. Male at 9/13/2008 12:54 PM
Gravatar
Sorry to hear about this unfortunate experience! I followed it a bit on Twitter too actually, hope the scotch helped.

BTW, "If you're going to show up at a gun fight, you'd better be willing to shoot bullets, not blanks." - love it!

# re: Starting projects

Left by doug at 9/13/2008 7:00 PM
Gravatar
pretty damn rude ranting about a colleague like this. Not defending the guy, but this must suck for office moral and your other colleagues.

# re: Starting projects

Left by Peter Bromberg at 9/13/2008 7:10 PM
Gravatar
I"ve been embroiled in a couple of these in my short happy life as a developer, architect and project manager. Time to sit down with your friend and have a tete-a-tete talk and make peace. If he turns out to be a total Schmuck, then you move to plan B which is basically that either one of you must leave. Get the job done.

# re: Starting projects

Left by Robz at 9/14/2008 10:03 AM
Gravatar
Wow. Some people get set into their ways and lose sight of continuous improvement.

I would say if you have the rights, take away committer rights and have them send you patches until the quality comes up.

And don't forget about the broken build token!

http://ferventcoder.com/archive/2008/08/20/continuous-integration-enhancement--the-broken-build-token.aspx

# re: Starting projects

Left by Donald Belcham at 9/14/2008 10:30 AM
Gravatar
Just an update to all. After some serious thought about what transpired I think I may have determined what I need to address with this guy.

The place that he's employed at (and I'm contracted to) has a long history of Lone Wolf Development. As a result none of the developers have the skills necessary to work in a team environment. Our project is functioning as a team with collective code ownership. Those two things will be a huge shock to someone who's never had that experience before.

Hopefully I'll have the time over the next few days to write something about Lone Wolf Development.

# re: Starting projects

Left by Donald Belcham at 9/14/2008 10:34 AM
Gravatar
@doug Morale on our project was fine until a single developer sabotaged our ability to release software to the client when needed. At that point I was not the only person who felt the team sag under the disappointment. I was simply reacting to a looming morale and project delivery crisis. I reacted in a way that could be construed as bad for the team, but in light of the risk that was introduced by this individual, one could argue that my interaction with him was trivial.

It's my firm belief that a person that willingly introduces this kind of risk to a project gets only one more chance. If they do it a second time then we (the project team) must take action to mitigate that risk. The easiest way to mitigate risks introduced by people with poor practices is to remove them.

# re: Starting projects

Left by M at 9/17/2008 10:34 PM
Gravatar
Thank god for someone who openly busts people for sabotaging the team. Maybe ranting about people isn't nice (although in this case I think it's deserved), but letting someone get away with that kind of behavior only makes the rest of the team wonder why they try to do a good job.
Comments have been closed on this topic.