I went back to my cube, eager to figure out what exactly Charlie had going on with the Online Inquiry App. I cracked open the project.

It was ugly. A big lab experiment. A sandbox. Textbook worst practices.

The first consultant had ignored any new .NET technologies like server controls. He literally streamed out HTML from endless lines of StringBuilder objects. On and on it went…no concept of postbacks, no clue about how .NET manages state, nothing.

That’s the problem with .NET. Anybody can hack out some web site with completely un-maintainable, unreadable, non-encapsulated code, and call himself an expert in an Object-Oriented language. And this consultant had gone to town at the company’s expense.

I examined more code. Charlie had proceeded to refactor, some (but not all), of the code. Refactor is a fancy term for “clean up all the garbage logic and eliminate redundant code.”

I use the term generously; because what Charlie was doing was crap. A stinking pile of spaghetti. He would do things like take an old method named FooBar, rename it to something FooBarOld, and write a new FooBar method. The new FooBar method was sometimes just like FooBarOld, sometimes it was entirely different. If you did a search for a variable name, you’d find two matches, one old and one new. But my biggest problem was the code would not run. I COULD NOT COMPILE IT.

Not at first. I had straighten out some references, clean up some function calls, and in general, take a proverbial plumbing snake to the mass of sewage that was the “Online Inquiry App.”

Two hours later, I had the app running on my system. Cool, I thought. Now I can run through it, figure what doesn’t work, fix it, and get the thing out the door.

Wooah, Nelly. Not so fast. Charlie had added new modules, except that they were written in VB.NET. And they were a totally different architecture than the old stuff. Worse, they didn’t talk to the old stuff very well. If you moved from a page written in the old C# code to one written in VB.NET, you lost your session and got kicked back to a login page. Nice.

I was getting pissed. I dialed Charlie’s extension.

“Huwo.”

“Charlie, you gotta second to go over this Online Inquiry App with me?” I asked softly.

He stepped into my cube hesitantly. I had pages of printed out code strewn all over my desk. I wanted to send him a message. I DID NOT LIKE THIS KIND OF CRAP.

This was not going to be a tender mentoring session. I wanted to vent. He stood in front of my desk wearing a dingy white button down and gray bell-bottom slacks. Ugly shoes. The black belt was wrapped almost around to his ass.

I pointed out all his bugs. I inquired about his flaky techniques. I wanted to know why a user has log to log in every time he goes more than two pages deep into the app. He got defensive quickly. It got ugly.

“I’m still working on that.”
“That’s not my code.”
“That’s not part of the requirements.”

We weren’t getting anywhere. He had an excuse for everything.

Some of his excuses were outright attempts at obfuscation. Technical mumbo-jumbo streamed at me in rapid fire.

“The viewstate is getting corrupted by session variables that get re-initialized in the post-back!” he said with authority. Bullshit, I thought.

Anything but a concession that there were any problems at all with his code. I pondered how he ever managed to fit his massive head into my cube. His ego was sucking up all the oxygen. And his breath stunk. Really bad.

I knew my face was getting redder. I was deep in the tunnel now.

“…A foot above Flower’s glistening and grimy face, the trapdoor was quietly turned round and slotted into its frame. Flowers froze; the gook was right there. Suddenly the door moved again. Something dropped into Flower’s lap in front of his eyes. He watched it fall, momentarily transfixed; then the danger to his life overwhelmed him as he screamed ‘Grenade!’”

- The Tunnels of Chu Chi



Charlie had dropped the grenade called the “Online Inquiry App” in my lap. It was now my mess to clean up, because there was no working with this bozo. I could work around him, or through him, but not with him. His whole soul, his entire being, was tied to the code he wrote, and he thought his code was great. There was no management technique, no leadership strategy, no computer based training from Human Resources that equipped one to deal with such a personality. His type was known as a “Prima donna” in the business.

Joel Spolsky recommended marginalizing this type of programmer by having him work on bug fixes:

“Even the best teams can have a bozo or two. The frustrating part about having bad programmers on your team is when their bad code breaks your good code, or good programmers have to spend time cleaning up after the bad programmers…

You've got a perfect opportunity to neutralize this moron for several months. Just keep reporting bugs against their code. They will have no choice but to keep slogging away at it for months until you can't find any more bugs. Those are months in which they can't do any damage anywhere else.”


- Joel On Software


But I didn’t have time to have him fix his bugs. First off, he didn’t think they were bugs. Secondly, Mr. Bill wanted the site out, now. And I couldn’t trust Charlie to help me reach that goal.

He would have to be eliminated.


Posted in:   Tags: ,
tunnel rat posted on October 7, 2006 16:53

After a few days at TCTSRN, I got a call from Mr. Whiteboard’s boss. I’ll call him Mr. Bill. I had met him a few times, once at one of my interviews. He had popped in and made small talk while Mr. Whiteboard stood at his side, gleaming.

There was something odd about the way Mr. Whiteboard acted when he was around his boss.

He would, um…throb.

Almost vibrate. Like he was masturbating. Weird look on his face, almost like…pleasure.

Ecstasy.

As he would bask in the charismatic glow of his boss, I fantasized about offering him a napkin to wipe Mr. Bill’s fecal matter off of his nose. Mr. Whiteboard was Mr. Bill’s Yes-Man.

“Can you come up and talk about a project?” Mr. Bill asked.
He had a nasally voice, almost gay. Not that there is anything wrong with that. In fact, from here on out, I will suffix (a technical term meaning I will follow every mention of a word with something) the word “gay” with the acronym “NTTIAWWT”. I don’t want to piss off any gays (NTTIAWWT). I have some good gay friends, and they would get ticked if my online alter ego were a homophobe.

Back to Mr. Bill. I didn’t think he was gay (NTTIAWWT), just, um, delicate? He had two kids and was around my age. But the combination of his pastel wardrobe choice (lavender and pink dress shirts are very in now), high-pitched voice, and a last name that is a derogatory term for homosexuals had my Gaydar buzzing.

The name thing was out of his control, but everything else had me thinking that if ever got in an elevator with the guy, I wouldn’t be surprised if he busted a move on me, like Donald Sutherland did to Michael Douglas in “Disclosure.” You know, where they are alone in an elevator and Sutherland, who is Douglas’ boss, starts making out with him. BTW, that movie has one of the best damn quotes:

Why don't I just admit it? Admit that I'm that evil white guy everyone is always complaining about? Hey Chau-Minh, come down here so I can exercise my patriarchal urge!



Anyway, I go up to his office on the 7th floor, with the nice view of the 22 Freeway, where everyone wore ties. He tells me about the project, something to do with a web page to log calls that suicidal people make to the company. Evidently, it happens fairly often. A guy with a gun in his mouth will call up TCTSRN because he thinks they can help him get medical help, and starts threatening to commit suicide. They needed some way to respond to and track those calls.

No big deal, I explained – couple of web pages that we can throw on the InfoNet. Mr. Bill liked things on the InfoNet. The portal was his baby. It was nothing more than an intranet site where all things company related got dumped. The online phone director, the help desk app, links to HR forms, even a classifieds section where employees could sell stuff. It ran on Sharepoint. Barely. There were always problems with it. And when there were problems with InfoNet, Mr. Bill would call somebody, like the guy on my team that tried to maintain it, Mr. Coffee. It was his baby, and it better damn well be running.

Then it got weird...

“Uh, I was trying to demo that Online Inquiry App for some people the other day. It wasn’t working. Do you, um, know what’s going on with that?” he asked.

“Online Inquiry? Yeah, I think we’re still working out some issues with that site.” I was bluffing.

I barely had any idea where the break room was, much less why the “Online Inquiry App” wasn’t working. All I new was that Charlie was working on it, and it was a mess. A hacked up goo of a web site, C# layered with VB.NET, written by a flaky consultant and junior developers who didn’t know what they were doing. I had glanced at the code and was going to urge a rewrite.

Bill continued. “It’s very important that we get that site up.” He was smiling at me.

“Definitely,” I said. “I’ll look into it.”

“Good. You know, it seems like this project should be done already. Sometimes Mr. Whiteboard indulges his staff. A bit too much, in my opinion. I mean, we sent this guys to .NET training…”

It was getting dicey. Here was the CIO dissing my boss and putting the squeeze on me to get this pet project of his out the door. I treaded lightly.

“Sure. I understand.”

He smiled some more. “Good,” he said as he stood up.


Posted in:   Tags: ,
tunnel rat posted on October 4, 2006 16:50

On my first day at TCTSRN, I took some time to meet my “team.” Team was a nebulous term, because Mr. Whiteboard had not yet introduced me to my “team”. The admin girl took me around the whole department and suggested that so-and-so may be reporting to me, but she wasn’t sure.

The org chart was six months old, and from it, I figured I had four direct reports. I knew who two of them were for sure – Mr. Coffe and the TAC (Thick-Accented Cambodian). They had been in on one of my interviews. They had asked generic, meaningless questions like “What do you think of design patterns?” and “How do you deal with deadlines.” I had answered with generic, meaningless answers.

The third guy was Burning Man. Long hair, dyed purplish, tied in a bun. In a bun mind you, not a ponytail. More on him later.

When “Charlie” walked into my cube, I did the math and figured that was the last guy my “team.”

He was tiny. Maybe 100 pounds. Short, lean, terrier-like. He even had an odd scar on his nose, like he had been clawed by a simian . Close-cropped hair. Gray, bell-bottomed slacks (Sears?) and a dingy white button-down shirt, and a belt that almost wrapped around him twice (99 cent store?). He looked like he lived on nothing but pho.

I couldn’t stop thinking of the stories I had read about the tunnel rats in Vietnam, the men who went in after the Viet Cong hiding in tunnels.

“Then I cautiously raised the upper half of my body into the tunnel until I was lying flat on my stomach. When I felt comfortable, I placed my smith wesson .38-caliber snub-nose (sent to me by my father for tunnel work) beside the flashlight and switched on the light, illuminating the tunnel.

There, not more than 15 feet away, sat a Viet Cong eating a handful of rice from a pouch on his lap. We looked at each other for what seemed to be an eternity; but in fact was probably only a few seconds.”



I envisioned that this is what they encountered in the dark tunnel complexes of Cu Chi – a diminutave, fierce warrior that my (Marine brethren) had faced decades ago .

I’ve seen his type before. Excruciatingly technical. Zero people skills. They suffer from some mutation of (Aspergerger Syndrom), one that makes them appear normal, except when challenged. So smart that they are stupid, as they say in Texas. I worked with a guy like that at the Fountain Valley contract, another contract programmer that had pulled a typical geek bitchslap when he had emailed me, and a dozen of our closest colleagues, to inform us that he thought I was a big idiot because I dared to disagree with him about some technical minutia.

My geekdar, like (gaydar), started squawking. I tried to get over my initial impressions. We made small talk. Geek small talk is not like normal small talk:

“Yeah, there’s some cool stuff in 2.0.”
“Yeah, have you tried the object data source?”
“No, but the master pages are nice”
“Yeah. And Atlas is cool”
“That new grid view is way better than the old control”

And then it was time to wrap up the small talk. “I look forward to working with you,” I said.

“We’ll see about that,” he responded, grinning. Or smirking. Whatever. He left.

“We’ll see about” ?! What the fuck was that supposed to mean? Cocky smart-ass, I thought. Typical hot-shot young developer. Binary mentality (I am smart, therefore you are stupid).

I could deal with him, I reasoned. I started to fell like a Tunnel Rat, being lowered into the hole to face Charlie.

But I kept thinking of a scene from the Big Lebowski. “The man in the black pajamas, Dude. Worthy fuckin' adversary,” Walter Shobak had said about guys like Charlie.


Posted in:   Tags: ,

- Vineet Nayar, CEO, HCL Technologies

Recent Posts

Slumdog Comment Generator

Clueless?
Not Sure How To Respond?
Use the Slumdog Comment Generator!

Calendar

«  April 2014  »
MoTuWeThFrSaSu
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
View posts in large calendar

Month List

Disclaimer
The thoughts expressed on this blog may or may not be the author's own and are protected by the 1st Amendment. Any attempt to reveal his identity by contacting a slumdog hack at Google, or a corrupt Desi sys-admin at his ISP will be dealt with promptly and severely. Civil and criminal penalties may apply if one is found to have used private information in an attempt to get the author fired at the Hindu-only I.T. ghetto he currently works at. In addition, any Desi who attempts to burn the author's house down because they are enraged over his writing will be prosecuted to the fullest extent of the law. This isn't India.

© Copyright 2014 Life of an I.T. Grunt


View My Stats