When applying, Rick appreciated Steve's interviewing style. They had a half-hour chat over coffee and he walked out with a job offer. It seemed pleasant and homey, an inviting workplace. After getting hired, Steve proved to be a smart, hands-off boss, who was a pleasure to work for. He was The perfect chief for a ramshackle web shop.

Mostly.

It was a year later that he discovered the dark side to Steve's laid-back interviewing style: Gary. Gary had a solid-looking resume and managed to talk his way past Steve and into a job doing Perl/PHP.

Gary loved finding other people's mistakes. He made it a habit to shoulder-surf the other coders and give them a "real-time code review". The little list of stupid mistakes he gathered would then be brought up again in meetings so that Gary could pretend to be some sort of hero, like he was holding the entire shop together.

One day, Gary was being particularly annoying, riding Rick's shoulder and ignoring his own work.

"That code is wrong," he said.

Rick kept ignoring Gary, and doing actual work. The "wrong" code, in this case, was just some basic array manipulation to build entries for a drop down list.

"You're going to get an exception when you run that," Gary warned. "And even if you don't, I don't think it's going to do what you think it's supposed to."

Rick slammed a finger down on his F5 key, a little harder than needed. The browser refreshed and everything did exactly what it was supposed to. Satisfied, he turned to glare at Gary.

The irritating little crawler shrugged and confessed, "I can't get my head around arrays."

Something in Rick's brain snapped. "Hey, Gary," he said, as sweetly as he could. "How come you're not on the CD-ROM project? I was surprised, because it's a real high visibility project. Management's real excited about it. I hear they want a volunteer."

These statements were true. Management wanted a CD-ROM version of their website. Not an uncommon request in these pre-broadband days, but it was a tedious pile of garbage that none of the developers wanted to do.

Rick's simple sales pitch sent Gary scurrying back to Steve so that he could volunteer for this important project.

It was a matter of organizing the files for the CD-ROM, and then building a search engine that could run inside of the web-browser for accessing some data files. It was the very definition of "time consuming but easy". Weeks went by, and each staff meeting had a few minutes dedicated to Gary gushing about how well everything was going.

Then the deadline started to loom.

"Hey, I've got a quick question for you." "I'm a little stuck on something, could you take a look?" "Help!"

Gary's plaintive cries initially drew nothing but snickers. But eventually, either team spirit or morbid curiosity took over. Rick popped into Gary's cube to see if he could help.

In short, no, Rick could not help. Mr. Confused-By-Arrays managed to get things so turned around that the only sane step would be to junk it entirely. It was so tortured and crippled that it should have been euthanized on the spot.

There was one line in particular that was so broken, so mangled, so patently insane that it wasn't even wrong. It was so idiotic that Rick and his team use it as the benchmark of bad code to this day.

echo if (isset($bob +1000)) ;

The deadline slammed down, and Steve suddenly realized that Gary didn't have anything that they could ship. In the course of the next 48 hours, several things happened: Rick and two other competent developers pulled a pair of all nighters but were able to get the CD-ROM out the door, Gary was sacked, and Steve treated the entire dev team to a round at the local pub to celebrate.

Rick thought that was the last he'd hear of Gary. But one day, years later, he heard Steve bawling with laughter in his office. A few minutes later, a link to an Amazon listing showed up in everyone's inbox.

The destination? A PHP book with Gary listed as the co-author. And no, the table of contents didn't have a heading for arrays.

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