uncategorized

Programmer Characteristics

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&#39;ve been reading [Code Complete](http://www.amazon.com/exec/obidos/tg/detail/-/0735619670/qid=1130293268/sr=8-1/ref=pd_bbs_1/104-4809457-1270311?v=glance&amp;s=books&amp;n=507846).&nbsp; 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.&nbsp; It covers everything from curiosity to laziness and habits.&nbsp; For those who haven&#39;t read the book at all, I recommend it.&nbsp; If you are looking to understand what should be driving programmers, and nothing else, read this chapter.&nbsp; Remember that it is only what _<u>should</u>_ be driving programmers though.

We&#39;ve all worked with them.&nbsp; They&#39;re lazy.&nbsp; The first ones to be gone at quitting time.&nbsp; Heck this type of coworker isn&#39;t restricted to the IT industry, but they certainly exist there.&nbsp; I worked with a guy a few years ago that would be gone from the office right at quitting time.&nbsp; If you saw him on his way out you would have thought that we had started spraying [Anthrax](http://www.bt.cdc.gov/agent/anthrax/needtoknow.asp) into his office.&nbsp; 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.&nbsp; His effort during the day was limited to whatever minimum amount was needed to get the job done before quitting time.&nbsp; He showed no desire to keep himself productive or busy.&nbsp; All the things that endears coworkers to their teammates.&nbsp; I&#39;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.&nbsp; Right near the end of the work day a coworker and I began debugging a defect that had just been discovered.&nbsp; Immediately we knew who had written the original code and said programmer was still at his desk.&nbsp; 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&#39;s time for him to go home.&nbsp; Being the good guy that I am, I yelled at him (let us call him Ned) as he was leaving something like &quot;He Ned, your code isn&#39;t working right wanna give me a hand?&quot;.&nbsp; Okay, that&#39;s the G rated version, but it gives you the basic idea.&nbsp; So we start walking through the code and notice the problem area.&nbsp;

**Ned (without hesitation):** The spec has changed.

**Me:**&nbsp; Ummmmm....OK.....it changed to state that this one entry should never be saved?

**Ned:**&nbsp; Well, maybe not.

**Me:**&nbsp; I didn&#39;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.&nbsp; Finally we get to the point of testing my updated code.&nbsp; Sure enough it doesn&#39;t work.&nbsp; Off we go on our debugging journey once again.&nbsp; I&#39;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.&nbsp; Let&#39;s return to the dialog now.

**Me (mostly thinking out loud, but partially ensuring that Ned was still focused):**&nbsp; Shit.&nbsp; Why the hell is it deleting that row in the validation function?

**Ned:**&nbsp; Okay, I&#39;m going home now then.

**Me (staring at his back disappearing through the doorway):**&nbsp; WTF is he doing?

**Other Programmer (aka Giggles the Clown):** hehehehehehehehehe

**Me to Giggles the Clown:**&nbsp; 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.&nbsp; Not all people can sense urgency.&nbsp; 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.&nbsp; I have half a mind to put Code Complete on his desk and suggest that he read it immediately.&nbsp; I just don&#39;t know if he&#39;d ever do that, and if I&#39;d ever get it back.