Don’t be afraid to make a mess.

When I was eighteen, I interviewed for Glasgow School of Art. Wandering through the famous Mackintosh building, surrounded by the work of famous former students, I wondered if my work would be good enough to gain me entrance to this beautiful world. At the interview, one tutor said “your sketchbooks are too tidy… don’t be afraid to make a mess.” It was a revelation: these people didn’t want perfection, they wanted mistakes, lots of them!

In the first year, for several weeks, all day long we stood in life drawing classes, meticulously trying to capture the form, line and light with charcoal. The following term, I was instructed to stop drawing what I saw, but to draw how I thought the body felt.

We learnt the rules, then we learnt how and when to break them. For four years, I endeavored to be less precious, to explore and refine, to always be making. To make mistakes, but still reach a polished, great piece of work.

When I started trying to learn software development, formally, I remember one tutor, frustrated with my questions, telling me, “Stop trying to understand it!”. They didn’t care how I came to the end result, just that the end result be ‘correct’. I did stop going to class, but didn’t stop trying to understand and create software.

I got into programming because I like to make things, not because I liked programming per se. The programming part grew on me, as I developed enough skills to solve problems, bigger and more challenging problems; enough skills to build products, that brought real value to other people.

Recently I’ve been making a piece of software for myself, in my spare time, and I work in varying modes. Sometimes there’s carefully crafted code. I’m pleased with little details: the name of a method that conveys the meaning just right; a block of code that reads so smoothly and clearly, even future me will be pleased. Other times it’s a mess, full of ‘work in progress’ commits. It’s exciting to be a little reckless, push rough workings, and experiment live.

Sometimes, I achieve that wonderful “OMG it works!” moment. Then I go back, sketch out more, stand back and take in the view. There’s a certain, different, flow, working on a pet project: for now, I am the only ‘customer’; and I’m enjoying the sense of play, being less precious over the details as I ship features. There will certainly come a point when I want to get it just right, but before then I want to just get it done.

I couldn’t tell you a thing I remember from maths or science classes that informs my daily work as a programmer. I do remember “don’t be afraid to make a mess”. That phrase reminds me that I am a maker; I can trust, enjoy and flourish through a messy process of imagining, exploring, rejecting, and refining.