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
Pandora has replaced my entire music collection. Set a station and thumb up/down songs you like, and eventually your station will only play new music you’d like. I use PandoraBoy for OS X as my client and some of my stations are “blue bossanova,” “1976 by RJD2″ and “Tanz Mit Uns.”

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 brain wave simulation. Can be played in the background beneath your music.

Some Stuff I Listen to (while coding)
Blue Bossanova Station – All the music I’ve been listening to the past year I’ve found through this Pandora station. I tailored the station to play trip-hop and downtempo beats. Zero vocals. Recommended artists on that station include Thievery Corporation, RJD2, The Polish Ambassador, Ratatat, Copy, and Blue Man Group.

Welder – Vines & Stream – This downtempo album grows on you with every listen. I like to keep this on while while reading or programming.

Buddha Bar10 volumes, each consisting of music from selected international beats/songs. It’s a must have, not just while coding. This is played in lounges.

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?

45 thoughts on “Music to Code By – What Do You Listen to While Programming?”

  1. I listen to a hell of a lot of industrial and electronic and I used to be deep into the rave scene so I know a lot of (to quote others) “Music like dubstep that’s actually good). Most of what I listen to that’s electronic is Glitch-Hop, so here’s some glitch hop artists:

    Noisia, 16Bit, Ben Samples (Or just SAMPLES), Turnsteak, The Glitch Mob, Ill-Esha, An-ten-nae, Knowa Knowone, Kid Logic, Ill.Gates, Ooah, PANTyRaid, Na$tyNa$ty, Glitchy and Scratchy, Meesha, Joker, edIT, Mautilus, Prefuse 73.

  2. Great list – I’ve created a Spotify Playlist using your recommendations as a starting point: http://open.spotify.com/user/johnlbevan/playlist/6vOBGbZTZyYzLIXGWWtVCP. It still needs a bit of a cleanup since I dumped whole albums in, but hopefully people will enjoy.

    I also found that soundtracks are good – they’re designed to be background music, but to get your excitement up. Amongst others, I’ve include Tron Legacy (by Daft Punk – always good music for coding), Sherlock (the new BBC series that is) & Batman Begins.

  3. Music to listen to while writing computer code:

    Try this for pleasure without distraction.

    Gargantua is a set of 24 canons and fugues based on random variations of the Musical Offering by J.S. Bach. The piece is scored for string orchestra, piano and strings, solo piano and solo organ. Each section lasts about an hour for a total performance time of 24 hours.

    Cheers

    Terry

  4. I listen to Death Metal/Metalcore/Grindcore (basically da heavy stuff) while I code. It helps me concentrate.
    (Bands Like:)
    Underoath
    Sabaothic Cherubim
    For Today
    Extol
    The Crimson Armada
    and tons more

  5. Late to the party on this but like the reccomendations above! If you like Lemon Jelly/Enigma/Ulrich you owe it to yourself to check out the following:

    Phutureprimitive (esp. tracks that feature alyssa palmer)
    Sounds from The Ground
    Balligomingo
    Thievery Corporation
    D-Fuse (more dancy, but great)
    Goloka

    Btw, I am “SanjayU” on GrooveShark.

  6. I love hip hop music too, but it is demanding trying to pay attention to grasp every single spin of each lyrics and punchline as they are often containing much whit. I perfer to listen to camp lo or something with a nice smooth melody though to take my mind away from the lyrics and connections of every punchline. I love ppl like fabolous or ti, but they demand too much focus that it distracts from the craftsmanship of the code and makes it hard to do anything.
    I find that switching from rap to something like r&b, or jpop, or modern rock works best when doing any studying or coding.
    Listen to your favorite japanese intros and outtro from your favorite anime or some LP/creed/godsmack/nickleback/u2.

    Trust me, chester bennington’s smooth screams and soulful croons coupled with shinoda’s soothing flow makes LP one of the best music groups to listen to when doing any computer work, period.

  7. Anything by Ulrich Schnauss! All albums are amazing and perfect to get the codemonkey-juices flowing.

    Also: “Magic Dragon” by Caia

    100th Window by Massive Attack

  8. 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.

  9. 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.

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

  11. 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.

  12. 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).

  13. 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.

  14. 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. Metallica, Megadeth, AC/DC, Korn, Linkin Park, Rob Zombie, RUSH, Led Zepplin, Van Halen (early), Hole, Boston, Kansas, Alice In Chains.

  16. 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”)

  17. 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.

  18. 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 :)

  19. 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.

  20. @Stevan

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

  21. 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.

  22. 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.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>