Business was booming. Smartypants Software was selling licenses for their fancy new web portal software about as fast as they could generate license keys. Developers were working later and later into the night, and the tech support staff could hardly catch their breath between calls.

Management knew they had a big problem on their hands, though they acknowledged that having too many customers is a good problem. There was one bad problem, though — they were turning dozens of customers down who wanted to purchase a Java version of the portal software. So amid all the chaos, they began working on the new version of the software.

They began a hiring frenzy. With all the cash they had rolling in, however, they could afford to hire the best in the field. By offering salaries well above the average, they attracted a gaggle of developers and began scheduling interviews.

Most of the applicants had solid experience with ASP, but only a half dozen had any meaningful Java experience. Since Danny L. was the stronger of two members of the existing staff who had worked with Java before, he assumed the lead role and was included in the technical portion of the interviews. And, sadly, none of them were strong enough to help them out. Smartypants was looking for candidates that could work well under pressure and with minimal supervision. And they had to be ready to hit the ground running, working on day one.

Danny was under some intense stress with the long hours, meetings, and interviews. On a Thursday night, he stopped by a bar and treated himself to a beer. And another. And... an indeterminate number more. Waking up with a hangover the next morning, he decided he'd be better off staying in. After all, he was pulling 10-12 hour days; he needed a long weekend.

Feeling refreshed on Monday morning, he was happy to learn that an interview conducted on Friday resulted in a new Java guy, "Jon". Danny was happy to be relieved of some of the burden of developing the Java version. Even better, he had no meetings or interviews scheduled for the day. He could meet Jon and then have a full day with no interruptions.

As the team lead, Danny wanted to meet Jon. He sent an email requesting that Jon stop by his desk at some point, and not five minutes later he arrived. "Hi, Danny, I'm Jon. Pleased to meet you!"

Everything about Jon was professional. He dressed well, spoke confidently and politely, and always had a smile on his face. Danny casually asked Jon some things he would've asked during the interview — past jobs, projects, experience, etc. Jon answered each question perfectly. His past work had been on large and small projects, all of which sounded pretty difficult, requiring advanced technical knowledge. Danny didn't want to grill him, though; Jon had already passed his interview, after all.

Danny sent Jon back to his desk with a few weeks' worth of work, telling Jon that he'd be back to check on him and make sure he was settled in. Jon smiled, reiterated his excitement about the work, shook Danny's hand firmly, and left.

After a few hours of responding to emails and coding, Danny decided to check on Jon. He wandered the labyrinthine system of cubicles, but couldn't find him. Danny returned to his desk and sent Jon an email to find out where he sat. "I'm in office 407, the one in the corner," he responded. They gave him an office? Danny thought. In fact, it was the exact office that had been promised to Danny.

When Danny saw his boss later, he asked about the office. "Well, we think that Jon's a really sharp guy. In fact, you might be reporting to him soon!" Danny was surprised — all this praise seemed premature. While Jon had done some impressive-sounding work at past jobs, he had yet to prove himself at Smartypants.

Danny told himself that he was just being petty. Jon was going to prove himself sooner or later. He'd been steadily reporting that everything was going great, and that he was almost done with his work. When Danny stopped by to review Jon's code and give him his next assignment, Jon mentioned that a few things might not work. "I was having problems with just a few minor things. Can you lend me a hand?"

Jon's problems seemed pretty simple to Danny, and spoke cautiously to avoid insulting Jon's intelligence. After working through some of the issues, Danny promised to email Jon some pseudocode to resolve his problems.

"Try this," Danny wrote,

if authobject is null
    create authobject

call authobject.authenticate method with username, password

call authobject.hasrole for "admin"

Jon replied to the email the next day. "Thanks, I think that we're moving in the right direction," he began. "But it still doesn't work exactly. I'm getting an error about 'authobject' is null or not an object. I'm getting errors about 'is,' 'authobject,' 'with username,' and a bunch of others. I think this might have made things worse. I've checked it all in if you can take a look."

It didn't take long for Jon to get fired. He'd changed one file, adding Danny's pseudocode and checking it in. Later that day, Danny went to talk to the other developer on his team, who would sit in on interviews that Danny couldn't attend.

"Craig, it seems like we dramatically overestimated Jon's technical skills. Did you go through some of the technical questions on our checklist?"

"Me?! I thought you hired him! I was going to ask you the same thing!" Craig went on to explain that he'd been sick on Friday and taken the day off as well.

With no one around to conduct the interview, Jon had chatted up the secretary while she tried to find someone to interview him. He was charming, well dressed, smart, and would, by her estimation, fit in well with the staff. She sent a glowing email to Danny's bosses, who turned around and made an offer to Jon.