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.