Sunday, August 31, 2008

We Burned the Poop

This story is happened to many programmers, think about it carefully :

Erik was in his robe, brushing his teeth and getting ready for bed when the doorbell rang. As he walked downstairs to see who it was, he was thinking that it was odd to have a late-night guest, especially on such a rainy night.

Standing at the door was his boss, holding a large cardboard box. Both he and the box were soaked, his eyes sad and his lip quivering. He stood there, motionless for several seconds, before opening his mouth to say, "Take some CDs. Take all the CDs you want."

Erik didn't know how to respond -- he'd never seen his boss outside of work, and had never really thought of his boss as a fellow human. Seeing him looking this sad and vulnerable was weird.

"Do you want to come in from the rain," Erik began, "or ..."

Without uttering a word, Erik's boss set the box down on the porch, turned, and started slowly waddling back to his car through the pouring rain.

It was late and Erik was very tired, but the curiosity was killing him. Taking the box inside, he took one of the dozens of CDs and put it in his computer. And moments later, he discovered why his boss was on the verge of tears.

I Won't Forget
This was the mid-'90s, and the Web hadn't really taken off. Pre-installed CD-ROM drives were becoming the norm, and scores of small shops sprung up to create CD-based multimedia presentations. Erik worked as a VB developer on a small team that cranked out these CDs at an alarming rate.

They were producing these CDs so fast that there wasn't really any time for luxuries -- like testing -- that most teams take for granted. Instead, they'd FedEx a CD to their client and have them send back an Excel spreadsheet of bugs and changes. At the time, it was impractical to send a 10MB file over the Internet, let alone a 650MB one.

Another casualty of the process: there wasn't any time to set up source control. Instead, the latest files would be kept by the lead developer in the most secure location possible -- on his workstation in a folder on his desktop. Check-outs consisted of saying, "Hey, Gary, can I have the latest version of Project X?" Check-ins worked the same way, "Hey, Gary, here's the latest version of Project X." Sometimes Gary would remember to back the files up on a CD-R, but that didn't happen often.

During the hectic shuffle of coding blitzes and cramming CDs into cardboard sleeves, several of the more ambitious developers worked out some reusable tools to get things done faster. Erik's friend, Pat, had developed some multimedia navigation controls that made it easy to produce clickable buttons that would whisk the user off to different screens, play movies and sounds, or display information.

The Big M
Erik's company had scored a project for a multinational software company called "The Big M" around the office. Almost all of the development staff was on the project, and the company would frequently name drop "The Big M" to shore up their credibility.

The Big M called the office frequently with an ever-tightening series of micro deadlines. The project lead would get chewed out by The Big M, and the team would get chewed out by the project lead. The stress kept mounting, morale kept declining, the death marches kept getting longer and no one was happy.

Except Pat, that is. He wasn't rattled by other people's expectations and kept a sunny disposition through all the crap. He had a strange sense of perspective and an immature sense of humor. Pat invited Erik to his desk to show him some new additions to his control library -- all of which were pretty slick. Erik was looking forward to using the new features.

When one button was clicked, an alert box appeared, eloquently notifying Erik to "poop."

"Uh, why does this button say 'poop' when I click it?"

"Oh, heh, that's just testing code," Pat said with a smile. "Don't worry, I won't forget to pull it out later."

Erik, sitting in his bathrobe and still holding his toothbrush flashed back to his conversation with Pat when the CD alerted him to "poop." The "poop" control had made it -- past the bugs and changes spreadsheet -- into the final CD run. The several-thousand CD run that had cost Erik's company tens of thousands of dollars.

Later that night, Erik's company had to pay for another massive (and massively expensive) run. For such a tiny company, it was a severe financial wound.

Pat's disposition was markedly less sunny the following day, and everyone had learned a valuable lesson -- don't put offensive words in your code, no matter how certain you are that you'll remember to take them out later.

That was the last time his company ever burned the poop.

Source : the daily wtf