A A

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

Mon, Dec 10, 2007

Code, Misc, Productivity

yellow vinyl record dj1 Music to Code By   What Do You Listen to While Programming?

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 Music to Code By   What Do You Listen to While Programming?.
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?

44 Comments For This Post

  1. Robert Horvick Says:

    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 Says:

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

  3. Stevan Little Says:

    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 Says:

    @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 Says:

    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 Says:

    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 Says:

    water Ambient Ambient trailblazer

  8. charles Says:

    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 Says:

    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 Says:

    GreenDay

  11. tamberg Says:

    http://www.quiet.ch/search

  12. Enlightenment Says:

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

  13. Enlightenment Says:

    …., Alan Parsons Project.

  14. Daniel Cedilotte Says:

    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 Says:

    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 Says:

    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 Says:

    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 Says:

    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 Says:

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

  20. Dan Previte Says:

    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 Says:

    +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 Says:

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

  23. nablaone Says:

    Minimal: http://deepmix.eu/

  24. chantelle Says:

    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 Says:

    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 Says:

    can someone make an imeem playlist please?

  27. Phillip Rhodes Says:

    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 Says:

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

  29. Givonni Says:

    Great!

  30. Paul Wade Says:

    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

  31. BZou Says:

    Excellente!

  32. Mark Says:

    Lately I’ve been listening to ‘underworld’. They are the group that did ‘Born Slippy Nuxx’ from the movie trainspotting.

  33. coolcomputerdude Says:

    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.

  34. Sam Says:

    I flip month-to-month between electronica (Lemon Jelly is on right now), heavy/drone rock (Boris, Jesu), and indie acoustic (like The Mountain Goats). Usually stick with one genre until it annoys me (about a month) then flip to the next.

    Sam’s last blog post..followup: learning the singleton pattern

  35. Knut Eirik Says:

    I listen to whatever I feel like when I’m writing code. It ranges from good old Madness to Cradle of Filth.

  36. Raindog Says:

    Arc by Neil Young

  37. Sanjay Says:

    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.

  38. Androopy Says:

    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

  39. terry mills Says:

    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

  40. Mingis Says:

    Try http://www.sofaspace.net a listener-supported, independent and free internet radio station.

    Always playing chilled out lounge music and never fails to save me from twatting around with my music library – which I inevitably do before starting work!

  41. hot to secure your PC Says:

    Listen to my remix of Korn – Narcissistic Cannibal here :: http://bit.ly/wFTOto

  42. Greg Says:

    Tangerine Dream.

  43. JohnLBevan Says:

    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.

  44. Joshua H Says:

    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.

1 Trackbacks For This Post

  1. Music To Code by…. « LaurinKeithDavisDOTcom Says:

    [...] under Blog, Development, Music Recently, I have come across a number of articles regarding the best (and even the worst) music to develop by (or even just to work by) and so I thought I’d [...]

Leave a Reply