So I’ve been listening to this one song on repeat for pretty much the entire day:
Let me explain a bit further. I barely know anyone today who doesn’t listen to music while working. But I’ve been reading the classic Peopleware book, and apparently back in the ’60s this was something that researchers at Cornell thought was worth looking into. They took a group of computer science students and split them into two groups.
The first group went into a silent room, and the second group went into a room where they could listen to music using headphones. There was an equal distribution of students who said they liked to listen to music while working and those who didn’t.
Everyone was then given the same coding problem. The challenge was to implement a program from a pretty complicated spec, using Fortran (hey, it was the ’60s after all). Not surprisingly, there wasn’t much difference between what went on in the two rooms. Both groups of students were able to do the challenge at about the same speed and with the same skill. No big surprise, right?
Except for this, from Peopleware (emphasis mine):
The Cornell experiment, however, contained a hidden wild card. The specification required that an output data stream be formed through a series of manipulations on numbers in the input data stream … Although the specification never said it, the net effect of all the operations was that each output number was necessarily equal to its input number. Some people realized this and others did not. Of those who figured it out, the overwhelming majority came from the quiet room.
Think about that for a second. Here are these two groups of students who are given what they think is a fairly mechanical task: look at this spec that tells you how these numbers should be manipulated, write some code that does the manipulations. And all of them were able to complete the mechanical, mathematical portion of this task at about the same speed.
But inside the mechanical task was something that required a creative leap: figuring out that the output numbers of the program would be exactly the same as its input. Something like that might be obvious today with our fancy interactive debuggers, but you have to imagine it must have taken quite the leap to figure it out while stamping Fortran code into punch cards. This is the kind of leap that could save hours upon hours of work and tens of thousands of dollars.
To make this creative leap, you almost invariably had to be in the quiet room.
To the crack neurologist in me, it makes sense. Music is a creative activity, and listening to it probably engages the creative part of your brain. Everything seems fine when you are working, since most of what you are doing is mathematical, analytical, or mechanical. What you don’t realize is that your creative areas are too engaged with the music to be engaged with the problem at hand.
Maybe that’s alright sometimes when you’re just powering through something you’ve done a million times, but how sustainable is that approach? Unless our basic neurology has changed since the 1960’s, it seems clear that to make the creative leaps in software design – and probably anything else – you have to turn the music off at some point.
The thing that kills me about this is that I like music. It’s awesome. I love listening to music, and I do it almost exclusively when I work and no time else. I think I’ve developed the habit of sometimes listening to just one song on repeat as a type of defense strategy. The music gives you a rhythm and a beat to work to, but when it’s just the same song a million times over, you can start to tune it out. Maybe that lets the creative part of your brain re-engage with your work?
Then again, maybe I have no idea what I’m talking about.