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.
This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2008/08/music-to-not-code-by.html
Worse than listening to music that you don’t like is listening to music you don’t like blasting out of headphone!
My coworkers and I used to do essentially the same thing with the first Spin Doctors album. We called it Spin Doctors Sunday.
At one office, we actually had Opera Friday… All opera, 7am to midnight.
…I think I still have nightmares from that one.
For me, programming music needs to be on the mellow side:
any score by John Williams
But I know some people who listen to hard rock (even death metal!) constantly while programming.
I find programming quite hard. If I listen to music and try to program it gets harder. I simply cannot fathom why anyone would want to distract themselves whilst doing such mentally challenging work.
Now, noise cancelling headphones used in order to get complete quiet I can understand.
Once upon a time, I worked for a big telecom company, load-testing their next applications.
The thing is, while you wait for the result of a test, there’s not very much you can do.
So, the guy with time on his hands would play the first few seconds of a song (a regular song, a cartoon opening, a movie soundtrack…), and the first in the room to state the name would get one point.
At the end of the day, we would count the points, and the winner would buy drinks for our little group.
Best game ever. At the time, we had a 250Go hard-drive full of MP3s just for that.
Back in 2000, in my first room at my office, I was the only one with a sound card, and when I was asked to put on some music I tuned in a Country web radio, for the horror of my roommates - Country music is not so popular here in Italy
In this period, I alternate the following themes, depending on my mood:
- 80’s love rock songs (Bad English, Survivors, John Waite, REO Speedwagon, …)
- Animetal, a Japanese heavy metal 70’s anime cover band… can’t live without Mazinger, Grendizer and Daltanious… who’s the sick one now?
- Red Bank Night, a Springsteen / Bon Jovi live concert from 1998
Overall, I agree with what Anders said: if you pick the music for your mood, it’s a great productivity boost; random music is just annoying.
Anything new is too distractng, and removes my mind from the problem at hand. Loud rock when the going is good, something gentle when things are tricky.
If I am just hammering out simple code that has been planned well (i.e. designed), then some of my favorite music will often help me flow, but when working on something that requires full concentration, music is often distracting
I’ve thought a bit about this lately. I like listening to movie soundtracks because they don’t have any lyrics you can concentrate on. Instead you focus on the programming. And, as Mr Latt said, there are two situations; If I know exactly how to solve the problem and I’m just hammering out the solution, then I want something like loud rock (something fast), but when I need to solve a problem, then I need to listen to something slow and quiet.
So I’ve thought about making a playlist kinda program that measures the number of keys you press per 10 second. Then it matches the music played with the speed you are typing; if you type fast, fast music is played, if you type slow, slow music is played.
I consider it a deadly sin to play background music that your coworkers can hear, unless they all explicitly asked for it. It doesn’t matter how good or bad the music is, when some difficult problem needs my full attention then it has to be fairly quiet around me. I do listen to music when I can (compiling!), but always using headphones.
Sure you can put on a Barry White CD as an office joke, but having to listen to it all day should be banned by the Geneva convention.
As for the real topic, when I do something easy but tedious, I like to listen to music I know very well. I don’t have to concentrate on the lyrics or the music, it’s just a background tune. It helps me getting in the zone.
Music to watch code grow by:
- When trying to resolve an unknown issue: Classical (Mozart/Beethoven etc).
- When trying to do a well known repetitive task but quickly: Dance/Trance/Rave (no words)
- When trying to fix a problem you know the issue to but need to work quick: rock.
I use different music for different things.
Great album. At least 2 or 3 of the songs are ones I’ve always loved.
I’m really sick.
(Okay, many actually suck more than death itself)
Something strong and fast helps keep me especially awake and motivated (Used to LOVE coding to entire Devo albums–wore cassettes of three different DEVO albums OUT).
Also had one project that pissed us off so much that we made our theme song Break Stuff (Limp Bizkit)–we threw it on every morning to get us in the right mood.
man, what is your excuse? the doctor you need is dr kavorkian to releive you agony. i use bbc cnn or my collection of podcasts as back ground. speaking of which, what happened to the stackoverflow podcast?
Funny, I’ve had a similar conversation with other developers about what music is best to listen to while coding.
My personal favourite is something mellow but funky without much lyrics.
I found an album called A night at the playboy Mansion to be absolutely perfect for this !
I listen to last.fm and set the tags to whatever I’m feeling at the time. Like others have already said, classical when I’m trying to concentrate and rock when I’m speeding along.
Hey… Mister!.. Tambourine, Man, play!.. a song!.. for, me!
Since you introduced me to Flight of the Conchords, almost nothing else has graced my headphones. Thanks man
Of course, any Brit of a certain age (er, like me, if I’m brutally honest) will know that Billy was originally a Paper Lace track, but the Donaldson cover (of which I was not aware for obvious geographic reasons) was released first in the States.
As a quintessentially ghastly 70’s pop group, I think having two Paper Lace songs in the list is entirely appropriate.
Yay the Lace!