Music to Code By - What Do You Listen to While Programming?

Yellow Vinyl Record Spinning

Some swear by it, for others it’s a bane: Music while programming. Throughout grade school, we’ve been cautioned not to keep the TV and music on when doing homework, but is it really counter-productive? According to this study, not so, at least for people who are understimulated — which probably accounts for most geeks these days.

Let’s face it: Geeks are ridiculously overstimulated. How many of us don’t constantly have at least five Firefox instances open, each nesting a dozen or two tabs, F5ing Slashdot and Digg, keeping track of new emails and countless IRC channels, and crawling from one Wikipedia page to another endlessly?

I initially coded in silence, the only noise coming from my ten year old keyboard. I became increasingly bored coding assignments for class because I was far ahead of the curriculum, so I began keeping music on. Nothing extraordinary happened… until I attempted coding in silence again. Without noise, I was restless and far more easily distracted. I didn’t bother kicking the habit, realizing that I can get into the zone more efficiently with noise on than without.

Sometimes I get so absorbed writing code that everything besides my awareness of the screen, and the sensation of my fingers hitting the keys, disappears. Sometimes when I’m getting out of this trance-like state of mind, it feels as though my code, or specifically, the rate and rythm at which I hit the keyboard is in sync with the current backbeat. Then I hit compile and my program works flawlessly, and I think: WTF? Where’d that come from? I’ve written some of my most elegant code in this state.

The music I listen to while coding depends on a number of factors. I prefer little to no, or very simple lyrics, unless I am familiar enough with the songs that I do not get distracted trying to comprehend or interpret the meaning. I rarely, if ever, listen to something I haven’t heard before while coding. I make a specific time for new music so I can give it my full attention. This rule is broken if the songs are a “familiar style” to previous songs, or lack lyrics and serve naturally as background or ambient music. Lounge (”chill out”) or New-Age music (drumming) for example.

I prefer classical, slow or soft, music while designing or debugging, but something faster and with a predictable pattern while writing code. I might increase or decrease the volume, depending on ambient noise and my current mood. Number crunching or writing mundane code (I know, DRY), especially when fueled by caffeine, usually calls for louder, faster stuff than when I am relaxed, writing a simple script.

Headphones get distracting, becoming uncomfortable and sweaty after being worn hours on end. After half a decade, I gave in and got speakers. I’d never go back to headphones. I suggest putting down at least a few hundred for a good quality set of speakers that will last. I generally like to have lounge or elevator music running in the background even when I’m not on the computer. I wasn’t able to do this with headphones unless I turned up the volume to max, in which case the music sounded so bad there was no use keeping it on.

Below are lists of stuff I listen to while coding, stuff recommended to me by others, and anything else that might be relevant.

Obligatory Geek Tunes and Tools
Overclocked Remix (OCR) - Remixes of old school video game music. Sonic, FF7, Zelda, etc. Highly recommended, and it’s a great community.
mc chris - Rapping about Rob-tripping and Boba Fett’s Corvette? ‘Nuff said. (Check out nerdcore in general)
Coffee.mp3 - Coffee Replacement

Some Stuff I Listen to (while coding)
Buddha Bar - GET THIS!. It’s a must have, not just while coding.
Lemon Jelly - Electronica. It’s unfortunate they broke up.
Enigma - Also (primarily) electronic. The music is unique and good for background and foreground. You’ve probably heard Sadeness (part I) on the radio. I highly recommend their album Love Sensuality Devotion: The Greatest Hits.
Ulrich Schnauss - Recently got into this after a recommendation in another paper I found online about coding music.
Bob Marley - I’ve been listening to the discography when programming, writing and studying almost exclusively. Excellent background and foreground music.
Philip Glass - Hard to get used to; Might annoy people in the room (at least from my own experience). I find it helps me focus.
Hotel by Moby - Good stuff. I’ve never heard anything else by Moby. I came across this while searching for coding music awhile back.

What Others Have Recommended
Dominatrix
Ambient 1 / Music for Airports by Brian Eno
WolframTones

Sources/tools for music: Songza | BTJunkie | gnump3d

What do you listen to while coding?




Related posts

AddThis Social Bookmark Button
Tags:

29 Comments

  1. Robert Horvick:

    I’m all for ambience in my work music but I have a large mix of mainstream as well.

    Everything from Iron Maiden, Parliament, Indigo Girls, The Eels, and The Dead Milkmen to the things more akin to your post - Fripp and Eno, Harold Budd, Tangerine Dream, Orbital, Aphex Twin.

    I used to work in an office that pumped in white noise.

    That was nice.

  2. Indiana:

    Powerglove - Video Game Metal: http://www.vgmetal.com/

  3. Stevan Little:

    Interesting your comment about Phillip Glass. I find that sometimes I concentrate the best when the music I am listening to is more chaotic/unstructured. I especially like Ornette Coleman’s Free Jazz album for this, along with more modern stuff like DJ Spooky, The Boredoms or SquarePusher. Of course, this stuff can annoy many a co-worker who is not into it, so headphones are usually a must.

  4. Loren:

    @Stevan

    +1 for squarepusher….his virtuosic and chaotic electronic masterpieces are what i listen to almost all the time while doing any coding/writing.

  5. hutch:

    If you find Phillip Glass helpful, you’ll find Steve Reich even more so. He’s a colleague of Glass’s who came up from the whole 70’s minimalism scene. Reich’s early work is pretty non-musical (just phased drumming or clapping), but by the time you get to different trains, electric counterpoint, or music for 18 musicians, you’ve got beautiful albums you can put on repeat that will gear up your brain for some hardcore coding.

    See also: Terry Riley.

  6. gmarik:

    Interesting topic!

    I asked my colleagues(developers) about music the listen when coding and found that most of them prefer 1) rock 2) electronic music. What’s interesting that no one told he listens hip-hop or rap :)

    As for me i belong to 2nd group(electronic music: positive trance, funky house) as it keeps me in tempo and listen online radios like http://ah.fm and http://di.fm

    Thanks for must_haves :)

  7. fax Ambient:

    water Ambient Ambient trailblazer

  8. charles:

    The issue with me is that I love hip-hop music. Especially, discovering new music and hearing something I’ve never heard before. There is absolutely no way I can have the music on while doing any kind of serious work. The music just demands attention. Anyway, I ought to look into different types of music :) Thanks a bunch for your music suggestions, I may check ‘em out.

  9. Avi:

    My choice in coding music really depends on my circadian rhythm state, and the type of work I’m doing. I almost always listen to psychedelic trance in the morning and at night while coding. It locks me into a hypnosis in which i perform my best, losing all awareness of existence other than myself and my code. In the middle of the day I ususally listen to dance/hi-nrg, and sometimes house and drum & bass.
    Also, while designing i like downtempo or chillout, and while coding and debugging I prefer something fast paced and captivating (to put the mind in that beautiful symmetric flow, or “the groove”)

  10. Ankur:

    GreenDay

  11. tamberg:

    http://www.quiet.ch/search

  12. Enlightenment:

    Metallica, Megadeth, AC/DC, Korn, Linkin Park, Rob Zombie, RUSH, Led Zepplin, Van Halen (early), Hole, Boston, Kansas, Alice In Chains.

  13. Enlightenment:

    …., Alan Parsons Project.

  14. Daniel Cedilotte:

    Iced Earth, Iron Maiden, Rush, Mercyful Fates, Dream Theater, Alice In Chains, Machinae Supremacy, Diablo Swing Orchestra, Cirque du Soleil, Delerium, some Enigma, Sacred Spirit, E.R.A, Erik Mongrain, Don Ross, Michael Hedges,

  15. Issac Kelly:

    My Last.FM acct is only open when I’m working. ^

    Evidentially I listen to a lot of Ben Folds while I’m working, who knew.

  16. CC:

    I’d second that Enigma recommendation, and the Marley. I have a fairly short list of coding music, but the stuff that’s on it *really* does boost productivity. Mine’s fairly weird but includes Rammstein (i don’t speak german so the workd don’t interfere but the thrash sound helps me achieve a real state of zen-like calm!), Bach (for the inner mathematician), Leonard Cohen (to inner artist), Alabama 3, Hanz Zimmer and the (new) Battlestar Galactica soundtracks.

  17. Jackson:

    I second the Steve Reich recommendation.

    Personally, I need energy in my music. I often times listen to Bassdrive.com or Drum&Bass Arena’s podcasts (1 hour mixes each week).

  18. Joseph:

    I actually tend to listen to mostly Progressive Metal to Goth Metal. Bands like Kamelot, Evereve, Nightwish, Therion, Katatonia, Draconian, and others. There is a mix of Instrumental Rock, like Joe Satriani and some Classic Rock like Steve Miller and Pink Floyd - along with David Gilmour’s solo work. Sometimes I will throw in the Clash or some Nick Cave, also. Pretty much, anything that I already know, as to not have it be distracting, as long as it isn’t country or rap.

  19. Dan:

    Radiohead, Bach, Jurassic 5, Beatles, Punch Brothers, Andrew Bird, Glen Phillips, Nickel Creek, Led Zeppelin, They Might Be Giants

  20. Dan Previte:

    I usually listen to movie soundtracks while programming. There’s no lyrics, it’s kinda like classical but modernized so I don’t fall asleep, and every once and a while they get all epic and make you feel like a bad ass programmer. My favorite right now is the Batman soundtrack. I can leave it on repeat and never have to mess with it.

    It’s kinda dumb, but works for me.

    Last.fm is great for this kinda thing.

  21. Robin Hoode:

    +1 Depeche Mode, Square pusher & bassdrive.com

    But you’ve never _really_ programmed until you’ve programmed while listening to Xanopticon

    http://www.last.fm/music/Xanopticon

    You are Neo. You are *The One*.

  22. Atchinator:

    I listen to bands that don’t even exist yet.

  23. nablaone:

    Minimal: http://deepmix.eu/

  24. chantelle:

    I listen to sad music. Really really sad. It makes me feel calm and clear I guess. For example: http://www.walrusmagazine.com/articles/2008.05-online-exclusive-saddest-songs/

  25. Niels:

    I dont find Nerdcore too good for programming to, since the words tend to spark interest. But since that’s a good thing, here’s a local Berkeley group of science students making some good nerd music ^_^

    http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendID=130840283

  26. Anonymous:

    can someone make an imeem playlist please?

  27. Phillip Rhodes:

    What I listen to depends on the mood and where I am. At home, coding on my personal projects, I usually listen to either Metal/Hard-Rock, OR Classical OR (a little) Hip-Hop. At work it’s usually Metal/Hard-Rock OR House/Trance/Techno/Europop type stuff. I will very rarely listen to the latter at home as well, but not usually.

    Out of those, on the Metal/Hard-Rock side, I listen to everything from 70’s stuff like old Alice Cooper, Deep Purple, Sabbath, etc. through 80’s hair metal - Motley Crue, Dokken, Ratt, Poison, etc. - to 80’s era thrash/speed metal - Megadeth, Exodus, Testament, Nuclear Assault, Overkill - to various power-metal, death-metal, melodic black-metal… everything from Kamelot to Judas Priest, Iron Maiden to Dimmu Borgir, Children of Bodom to Emperor, Opeth to Iced Earth, Nightwish to Dragonforce, Mortician to Incantation, whatever. Oh, and of course, Savatage and Trans-Siberian Orchestra!

    In terms of hip-hop, my tastes are pretty narrow. I dig Obie Trice, Eminem / D-12, Doctor Dre, 50 Cent, old N.W.A, Snoop Dogg, Ice Cube, and a few others.

    For Classical, I listen to Verdi, Wagner, Beethoven, Vivaldi, Orff, Bach, Mozart, Tchaikovsky, Handel, Strauss, Gorecki, and Saint-Saens among others.

    When I want Trance/Techno stuff, I just tune into one of the shoutcast stations and listen to whatever’s on. I don’t even really know specific artists in that genre.

  28. Anonymous:

    SLAY Radio: http://www.slayradio.org

  29. Givonni:

    Great!

Leave a comment