This article, from February had me cringing even as I reread it- and I wrote it! I've had the misfortune of working on a number of projects that failed because of people like Brandon making sure they failed. --Remy

“I’ve got a gig for you,” said the recruiter.

Clive, like many freelancers, weighed the contents of his bank account versus the daily rate he was promised, and decided that any gig was for him under those conditions. This one sounded mostly okay; an insurance company needed a new software package that would help them leap through some regulatory hoops. As a bonus, they wanted someone who could teach their devs the latest tools and techniques… like source control.

Clive aced the interview, and started a week later. There was already an email waiting in his work inbox, from someone named Brandon. It read: “See me.”

Schere Gr 99.jpgThat nose won't know what hit it…

Brandon lurked in his office, adhered to his mid–90s ergonomic chair like it was an appendage. He glared over his monitor and stared at Clive. “You work for me,” he said.

In monosyllables and four word sentences, Brandon revealed that no one who participated in the hiring decision would have any day-to-day contact with Clive. Clive reported to him, and him alone.

“Okay… well, when I was hired, they said that they wanted me to set up Subversion. Should I get started on that?” Clive asked.

“No.”

“May I ask why? Do you have another preference? Would you like to discuss the options?”

“No.”

Clive waited. Brandon didn’t expand. He simply stared at Clive. Stared, and stared.

Clive slunk back to his cube and got started on looking at the code base. It currently lived in a file share, using the “file.pl.old”, “file.pl.old.old” versioning convention. The code was Perl, and unreadable by even Perl standards. It had grown in a culture here “parsable means runnable”, included no comments, and had absolutely no tests. Clive’s only ally was Lee, another head-hunted expert who also reported directly to Brandon, and had a two week head start on understanding the code. When Clive got stuck, he poked his head around the cube wall and asked Lee.

Like a glacier grinding down a mountain, Clive slowly worked his way through the code. After about a week, he was developing a small degree of confidence. Then an email from Brandon arrived: “See me.”

“You’re disrupting the dev team,” he said.

“What?”

“You and Lee are making too much noise. This is an office, not a social club .”

“That’s crazy. I’m just asking him questions about the work we’re doing! What, do you want us to schedule a conference room just to ask questions?”

“Yes.”

Brandon stopped talking and resumed his staring contest. He stared, and stared… Clive got the point and scurried back to his cube.

The requirements were complex and evolving, which wasn’t unusual. Only one user, Carole, actually knew what they were, which also wasn’t unusual. Clive sent her an email with a handful of questions, and tried to get some work done. He waited for a few days for her reply, and as he found new questions, he sent more emails.

In a week, he had sent nearly half a dozen, but got no reply. He sent more, asking for status updates. Over this time, he had more questions. He tried calling her, but it dumped to a full voicemail box. He tried scheduling a meeting, but Carole never accepted.

And then an email from Brandon arrived: “See me.”

“Carole says you’re harassing her,” Brandon said.

“What?”

“You send her emails, even after she answers your questions. She said you called a meeting but didn’t show up for it. This needs to stop.”

“That’s crazy. She never replied, and I can show you my inbox to prove it.”

“Carole doesn’t use email,” Brandon explained. “An intern prints out her emails, and she replies via inter-office mail. She’s very busy. You have the requirements document. Implement it, and stop bothering her.”

“What, you want us to implement a solution without ever talking to the business user who knows the requirements?”

Brandon stared at him. And stared. And…

With Lee’s help, Clive made some real progress over the next few months. They learned their way around the absurd date format (measured as the number of days since April 3rd, 1974, except when it was measured in the number of months since the preceding Monday, except when it was measured in the number of weeks since the following Sunday). They worked past the fact that no one was allowed to upgrade past Firefox 3, or the fact that they couldn’t run overnight jobs because all of the servers were turned off at 6PM sharp. Carole didn’t communicate, Brandon just stared at them, and the rest of their co-workers treated them like plague carriers.

A few weeks before their six month stint expired, Clive was digging through the company network drive, searching for a spreadsheet containing sample data. He found one named after the recruiting company that placed him, and hoped that it was something useful. It was, after a fashion.

The spreadsheet was a report illustrating exactly how much the recruiting company was getting paid to provide Clive and Lee. The fees were so abusive a used car salesman would have blushed. Change tracking and collaboration was enabled on the document, which meant Clive could read comments made by various users.

From the senior management level, there were comments like, “It doesn’t matter how expensive it is.” Accounting warned, “We won’t have the money to pay annual bonuses, if we do this!”

Brandon had left his own note: “Our business is too special. They will fail. This is a waste of money. They will fail.

The pieces clicked into place. Brandon hadn’t been making a prediction; he was making a promise. And he’d kept it- there was no way that Clive and Lee could deliver what was originally promised in the next few weeks.

Then an email from their recruiter arrived. “That company still wants added staff. Do you want to re-up for another six months?”

Having learned from Brandon, Clive sent a one-word reply: “No.”

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!