I'm sure you've all seen or made jokes about the things that
make us programmers such a unique bunch. Things like socially inept,
introverted, and fashionably challenged. Sure, you can take the easy road
and pin us all together with those easy stereotypes, but let’s try for
something a little more difficult.
For the last month or so I've been reading Code
Complete. One of the last sections of the book, entitled Personal
Character, was quite interesting and provided a look at the softer side of the
people that are programmers. It covers everything from curiosity to
laziness and habits. For those who haven't read the book at all, I
recommend it. If you are looking to understand what should be driving
programmers, and nothing else, read this chapter. Remember that it is
only what should be driving programmers though.
We've all worked with them. They're lazy. The first ones to be gone
at quitting time. Heck this type of coworker isn't restricted to the IT
industry, but they certainly exist there. I worked with a guy a few years
ago that would be gone from the office right at quitting time. If you saw
him on his way out you would have thought that we had started spraying Anthrax
into his office. It was so bad that if he had to transfer some
information to you, so you could stay late and get some of his work done, he
would rush through it in an attempt not to have to go back to his office after
the Anthrax had been released. His effort during the day was limited to
whatever minimum amount was needed to get the job done before quitting
time. He showed no desire to keep himself productive or busy. All
the things that endears coworkers to their teammates. I'm sure he was a
decent guy, but his actions at work made interacting with him a curt and tense
situation.
Tonight I was staying late at work to do some builds and installations into
testing environments. Right near the end of the work day a coworker and I
began debugging a defect that had just been discovered. Immediately we
knew who had written the original code and said programmer was still at his
desk. We determined that the code was at fault and not the database (it
was a saving issue), and with all the timing in the world the original
programmer decides that it's time for him to go home. Being the good guy
that I am, I yelled at him (let us call him Ned) as he was leaving something
like "He Ned, your code isn't working right wanna give me a
hand?". Okay, that's the G rated version, but it gives you the basic
idea. So we start walking through the code and notice the problem
area.
Ned (without hesitation): The spec has changed.
Me: Ummmmm....OK.....it changed to state that this one entry
should never be saved?
Ned: Well, maybe not.
Me: I didn't think so.
At this point I began to fix the offending code always checking with Ned to see
if he knew of any reason that my changes would cause issues with the
specs. Finally we get to the point of testing my updated code. Sure
enough it doesn't work. Off we go on our debugging journey once again.
I'm stepping over functions and checking the return values in the Watch window
when I notice that a static datatable suddenly drop to 0 records. Let's
return to the dialog now.
Me (mostly thinking out loud, but partially ensuring that Ned was still focused):
Shit. Why the hell is it deleting that row in the validation function?
Ned: Okay, I'm going home now then.
Me (staring at his back disappearing through the doorway): WTF is
he doing?
Other Programmer (aka Giggles the Clown): hehehehehehehehehe
Me to Giggles the Clown: Do you know of a way to rig up hand
grenades to an office chair?
I learned tonight that not all people take ownership in their code. Not
all people can sense urgency. When you get right down to it, some people
think of a job as what you fill the time between morning coffees and quitting
time with. I have half a mind to put Code Complete on his desk and
suggest that he read it immediately. I just don't know if he'd ever do
that, and if I'd ever get it back.
posted @ Tuesday, October 25, 2005 1:50 PM