Is there creativity in coding?
“But you are such a creative person, why?”, is a comment I get often (in variations of course) when I say I work in software development. I am a trained music professional, and apparently that means I am super creative, and writing code means I am stuck with ones and zeros, and surely there is nothing creative about that. I figured it might be nice to write this piece about exactly how creative musicians and coders are, and what role creativity really plays in our work.
I will first start with some general, slightly abstract or philosophical if you will, ideas about creativity. I always feel that taking a shit might be one of the best examples of creativity. Sure, it lacks some aspects of it, but it has the most important ones and it quickly breaks some of the most prevalent myths as well. For instance this idea that creativity is “creating something out of nothing”. Right? “There was no song, now there is one. There was an empty canvas now there is a painting” Something created out of nothing. Well… no. Not really, and when I say not really I mean absolutely not. Sure the toilet was empty, and now your work of art lays there smiling and smelling at you, but it was not created out of nothing. In fact: what does it contain that you did not first eat ?
Creativity is like this, a process which has inputs (whatever you eat and drink) and restructures those, breaking it up in small parts, combining things from different sources etc., and molds it into some fantastic “new” thing as output. (Does it not just smell new?). A nice byproduct of course can be that we feel good, satisfied, energized and so on. Great stuff all along! But not as magical as we sometimes deem it to be. This is true for any form of creativity, whether physical or abstract. Music, forms, colors, ideas all these are composed and recomposed by similar creative processes.
Something that I have found to be an essential ingredient in creativity is the “why?”. Creativity is (almost?) without exception a process that is applied to solve a problem. Now I use problem here as a broad concept in the sense of obstacle, constraint, etc. When we are confronted with a problem, it is almost inevitable to start thinking about solutions. (So much in fact that it can be a problem in itself! Remember those refinement meetings where we get a solution to refine instead of a problem?) Sometimes we have one, sometimes we feel immediately that we will be unable to solve it and then stop thinking about it, and sometimes we find ourselves digging into it trying to crack it.
Then now, coming back to the main subject here: Does coding involve creativity? Does making music involve it ? The answer of course is: yes, coding is first and foremost a creative process. Firstly analysing the problems at hand, destructuring and restructuring them, then when we have thought of a solution we need to code it. Again, writing code, restructuring it, adapting other people’s solutions to similar but not equal problems. Then beautifying the code. All again and again a process of creativity, different partial solutions to partial problems that together form the solution to the great problem we were confronted with.
What about musicians then ? Well yes, surely creativity is involved. But sometimes less that you would think! In my experience people miss all types of distinctions in this field, like musicians vs composers vs songwriters vs instrumentalists. In some parts, like songwriting and composition there is a lot of creativity. The problems here could be, for example: “Can I play a melody so that people recognize the original theme in it, while we are moving over a bunch of very different chords?” Or: “Can we compose something that is undoubtedly reggae but uses polytonality in the way for instance some composers from the last century did?” When I want to compose music, I generally start by setting up a few constraints/ problems like these. It triggers my brain and ideas will come. After generating a bunch I will then take those musical ideas and craft them into compositions that I like or at least make sense to me.
Instrumentalists sometimes have to be very creative, more so when they improvise (which is another thing that we could slice up into smaller things to really see what is what). And sometimes it is just repeatedly banging out the same notes that apparently make up the song, and not so much else. Nothing against Robby Williams, but when you’ve played “let me entertain you” at a few hundred parties there is not that much creativity left there.
Of course, in coding we could also add some more context and precision. In the end it seems to come down to this: Do we get real problems to solve? The fist time we get asked to implement a fuzzy search over a few thousand articles in a DB we have to put everything at work and all creative juices flowing to get it done. The third time we get asked the same it is a repetition of moves, a thing we know how to do, but not necessarily a creative challenge.
Most coders I know, don’t want to keep repeating the same tricks. We sometimes even omit certain experiences and skills from our resumes so that we do not get asked to do those things again. This is precisely because we are creative at heart, and love to stay creative, stay challenged. If you want boredom? Well try playing in an uninspired orchestra, where you know what to do, you do not really need to study, and actually no one really cares if it gets to sound better as long as everyone gets paid in time.
There is not just black and white, in fact not even just many shades of grey. There are colours everywhere, and we can choose to have our lives full of colour and glitters! And I for one, definitely intend to keep doing just that!