Coding Horror

programming and human factors

Music to (Not) Code By

Occasionally people will ask me what kind of music I like to code by. I'm not sure I am the right person to ask this question of.

Allow me to explain by citing my 2001 Amazon review of a particular album.

It all started so innocently. I purchased this CD on a lark in mid 1998.

70s-party-killers

Subsequently, I put on this CD at high volume to torture my then-coworkers. It became a running joke. We'd take any opportunity, any pretext at all, to put it on. It had to be played at least once every day for "good luck." We'd force each other to listen to it. We'd have little contests to see who was man enough to listen to it over and over and still silently sit there programming away, not complaining. Sometimes we'd sing along to enhance the effect.

In short: we broke people. It was like a Vietnamese prison camp in stereo.

It was a joke. But then a very strange thing happened -- as I listened to the CD over and over, I began to like it. I mean really like it! I began to listen to it at home on my own time. "There's something about this music", I thought, as I listened to it for the 543rd time. "Maybe it's so bad, it has actually wrapped all the way around and it's.. good again?". I played the album for my wife. At that point I was hooked. I knew all the words to "Having my Baby", and.. I liked it!

For completeness, here's the track list. If you have any kind of musical taste, you may want to look away from the screen momentarily.

  1. Tie A Yellow Ribbon Round The Ole Oak Tree - Dawn
  2. The Night Chicago Died - Paper Lace
  3. Billy, Don't Be A Hero - Bo Donaldson & The Heywoods
  4. (You're) Having My Baby - Paul Anka
  5. Playground In My Mind - Clint Holmes
  6. Feelings - Morris Albert
  7. Sometimes When We Touch - Dan Hill
  8. The Candy Man - Sammy Davis, Jr.
  9. Afternoon Delight - Starland Vocal Band
  10. Torn Between Two Lovers - Mary MacGregor
  11. Escape (The Pina Colada Song) - Rupert Holmes
  12. Muskrat Love - Captain & Tennille

(An anonymous commenter was kind enough to create a Mixwit "mix tape" web page of the above songs, if you're feeling masochistic and want to hear them yourself. Or sadistic, I guess, if you manage to broadcast this music to your coworkers somehow. Not that I would officially endorse said action in any possible way, of course!)

mixwit: 70s Party Killers cassette

(Update: Fixed with modern YouTube playlist. Music licensing is the hardest problem in computer science!)

In a peculiar twist of fate, one of my then coworkers, Geoff, now works with me on Stack Overflow. He can confirm that what I said above actually happened, although I'm not sure you could make something like that up. Apparently his mind wasn't totally destroyed by exposure to this "music". As far as we know.

While I've mentioned mild forms of coworker griefing -- er, I mean, teambuilding -- before in Don't Forget to Lock Your Computer, I thought this audio form was unique.

What I didn't know then is that this sort of musical griefing had a precedent. It's documented in the 1994 book Show Stopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft. I didn't get around to reading this excellent book until 2004, but it's right there in black and white:

[David] Cutler camped in the Build Lab now, scrutinizing the check-ins, so [Kyle] Shannon wanted him to be comfortable. After further musical experiments, he finally hit on a sound that pleased Cutler. It was a raucous album by the rock group Journey. One morning Shannon slapped on Journey, and heavy metal sounds filled the lab. Cutler started bobbing his head, humming to the cacophony. Shannon smiled. Nodding gratefully, Cutler promised to share with the builders a couple of his own favorite albums.

He didn't have any favorite albums, but he saw a chance to relieve tension. That night he asked his companion, Deborah Girdler, to visit a CD store and buy something "really bad." She returned with two discs: Jim Nabors (star of the 1960s TV series Gomer Pyle, U.S.M.C.) singing gospel tunes and the fantasy characters Alvin and the Chipmunks singing children's songs. Perfect, Cutler thought.

The next day Cutler treated his builders to Nabors singing "In the Sweet Bye and Bye," "Onward Christian Soldiders" and other hymns. When Cutler sang along, everyone cringed; it was hard to tell which was more loathesome -- Nabors gone gospel or Cutler gone musical. No one cheered when Cutler asked to hear the Nabors disc over and over again, day after day.

Before long Shannon and the builders regretted ever awakening Cutler's musicality. They finally hid the Nabors disc on the floor under a desk. When Cutler asked for it, Shannon invariably said "It's in my car." Cutler, who caught the lie, laughed and laughed.

So the next time you ask one of your fellow programmers to put on some background coding music for the team, think twice. That's all I'm saying.

Now if you'll excuse me, I'm going to slip on my headphones and get back to coding while listening to one of my favorite albums, The Transformed Man.

Hey, Mr. Tambourine Man, play a song for me ...

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror