Things I've learned in my first 2 years as a creative coder.

The start of summer will mark the end of my first 2 years at, a generative design and data visualisation studio in London. Heres some things I have learned.

Things I've learned in my first 2 years as a creative coder.

The start of summer will mark the end of my first 2 years at, a generative design and data visualisation studio in London. When I first got my internship there I had been a very basic front end web developer writing native css all day for a legacy system. Before that I was a Pharmacy student at university so to say this kind of work was out of my comfort zone is underplaying it a little.

But here I am 2 years later and I've learned a lot, both technically and personally; however this article is going to focus on the latter. I'm going to put a list of them all below with details for each as their own paragraph. Hopefully that forgives the clickbait title:

  • People are happy to hire someone for data vis, but actually giving them data to vis is a different story
  • Know when to pause a project
  • Your first idea is your worst idea
  • Don't go too pretty too early in a project
  • Creative productivity isn't about sitting in front your computer 24/7
  • My English-ness makes me difficult to collaborate with
  • Burnout has many forms, and some of them are sneaky
  • Sometimes creating mediocre work is the right thing to do

People are happy to hire someone for data vis, but actually giving them data to vis is a different story

This one isn't too complex but it wasn't obvious to me when I first started. The person who hires you to do some data art/generative art/data vis often isn't the person who is liable for the distribution of that data.

The person in charge of that data is probably right to be wary of the artsy contractors who want to use their data, so it's something to be prepared for nonetheless. This leads me to my next point.

Know when to pause a project

Sometimes, through circumstance, some of the information you need to continue on the project is delayed. This can be any reason from a virus pandemic to a person unexpectedly leaving a company, but it does happen, and it's not uncommon.

When this happens you are at a crossroads; You can continue on the project, using the most of what you have and try and push forward until you get what you need from the client. Alternatively you can pause the project until that issue is resolved.

I have learned from experience that 9/10 times the best thing to do here is to wait. At Variable we have a specific process of finding patterns in data that we can use for storytelling. This process has been built from years of combined experience of current and past employees and it exists for a reason. If you need something to progress, any work you do beyond there isn't based on assumption and will be an unstable grounding for the work you do. In the end you'll probably end up either backtracking - wasting time and possibly blowing budget, or delivering a substandard product.

Your first idea is your worst idea

This one is very simple. If you're working on a creative project, you probably shouldn't go with the first thing you think of. You should definitely write it down as a good jumping off point, but don't get attached.

Your first idea is, by definition, the obvious approach. This means that its either been done and you wont be making anything new, or someone has tried and the idea doesn't work for non-obvious reasons. Also your first ideas will lack nuance and subtlety which I think can make or break a creative pursuit.

Just think about it a while, I guarantee it'll work out in the long run. I just used to be eager to get started with the making as soon as I had an idea, but I've learned to have some patience, keep sketching, keep looking at reference and see what comes.

Don't go too pretty too early in a project

This could also be labelled 'remember the concept stage should focus on the concept'. I have recently been learning SideFX Houdini, a super cool generative design, simulation, jack of all trades rendering tool that can make awesome generative systems.

This lesson is best told as a story: Previously (my first year at Variable) all I had used was realtime tools, and one advantage (and  disadvantage) of Houdini is that it renders still frames - slowly; but path traced and very pretty. For one project, we were brainstorming potential metaphors and stories that we could tell at the very beginning of a project, literally day 2-3 of a 4 month project. Me, very excited about my new ability to create cinema quality renders jumped right in and rendered all of my ideas in the most beautifully lit cinema quality that I possibly could with the goal of blowing away the client.

Unfortunately I did exactly that. As we got data and the project went on it became clear that the idea I had didn't make sense in the context of the project, the data we had, and the story we were trying to tell. However the client was so blown away by my initial super sexy render we ended up having to find a way to crowbar it into every subsequent idea we had. It was unpleasant and a lesson to be learned.

A different but equally shiny render.

Creative productivity isn't about sitting in front your computer 24/7

I'm good at studying for exams, despite not having the best memory. I spent all 4 years of my time at university working at a computer shop to pay rent so I could never go to lectures. However all the lecture notes were put online for free and I had a good set of friends who helped me.

When it came to studying for exams though I was very diligent. I can absolutely brute force knowledge into my head with repetition, stubbornness, coffee and a bit of self flagellation.
When I started at Variable I assumed I could use this approach to improve quickly. Just put in the hours and grind at generative design and I'll be up to speed in no time. I've learned the hard way that this isn't how it works at all. Being creative is as much about consuming varied and new media, paying attention to the things around you and pushing yourself in other areas of life as it is about sitting at a desk. If I feel my thoughts begin to fog, and ideas stop flowing - its time to stop, take a breath, go and do something else for a while.

My English-ness makes me difficult to collaborate with

I'm lucky enough to work with a lot of different people from a lot of different backgrounds, many of who have English as a second, third, fourth.... etc language. Sadly, I'm painfully English in my monolingual ways, and I have a strong, intuitive grasp over the language and its many quirks. I love to turn a phrase, use slang, metaphors and lots of general colloquialisms. Over time I've realised that some non-native English speakers I've spoken to often have no idea what I'm trying to communicate, and I have to clarify what I mean. I've never had any complaints directly but I know myself that this makes me a bad team member, and its something I'm still working on.

Burnout has many forms, and some of them are sneaky

I'm a workaholic by nature, at least thats what others call me. From my perspective I like to be productive as much as possible as it makes me feel enriched. Realtime rendering is a rabbit hole to end all rabbit holes. Just when you think you have a grasp on certain parts of it a whole universe of new ideas opens up and you feel like a child learning to count for the first time. I was spending a lot (all) of my free time trying to learn as much as possible about complex maths and coding on a level I had never seen before.

Then I found Houdini. It does all the rendering for you?! It has a set of reusable nodes so you can focus on only implementing the code you want?! I can still learn generative systems/best practices/algorithms?! It handles data structures for you?!

This was an absolute no-brainer for me, and I couldn't see why everyone wasn't using it for all work that didn't NEED to be realtime. I naively threw myself in, and despite it being its own rabbit hole there was a huge amount of online resources I could use to learn. And now although I'm not the expert of experts I have a usable knowledge of Houdini and I can use a lot of its systems in the way that they were designed.

And then, at the end of last year after realising (in November) that I hadn't had a single day off that year (and also as I wasn't sleeping well) I took a week off and went on a last minute holiday to Amsterdam. I didn't think about work at all during that wonderful week until the flight home.

Me and the girlfriend on our way to the station to go home at 3am 

As I was gearing back work my thoughts were flooded with how I could use Houdini + real-time systems together to make awesome projects. I was excited to take what I'd learned about Houdini to my realtime work and start off learning again.
I mean you read the title of the paragraph so its probably obvious I was just burned out, and didn't realise. Don't get me wrong, I'm very happy I've learned Houdini and it will probably be my go to for a while for prototyping + vanity projects - but its a lesson on burnout.

Any burnout prior to this I was just feeling exhausted all the time, with no energy and general depressive symptoms; but this time I had none of that.

I had, however, been grinding my face against a sander trying to inject coding knowledge into my brain for months without rest, of course I needed a break.

Sometimes I need time off. Even if I don't feel like I do.

Sometimes creating mediocre work is the right thing to do

When working with a client it's not always obvious what that partnership is going to be like, and its only after a few weeks of attempted collaboration that you realise that it's not a collaboration after all and you're being hired to do what they say.
In a project like this my initial temptation is to fight for what I think the best ideas are, work on branches and offshoots to try and swing things into a direction you know is best and work as a true collaborator.

I actually don't think this is the best strategy any more. You will waste time,  the project will last longer than it has too and you'll end up where they wanted anyway. My new recommended approach if this happens is just do what they say even if its mediocre, and get the project finished quickly. The client will be happy, and it allows you to take the money and move onto projects you're more passionate about quicker. When you put your heart and soul into your work, fighting for weeks is just painful and not worth it.

This work sadly rarely sees the light of day, as I don't want to show it off and it's often a mediocre design. Just get it done and move on, it's better for everyone involved.

angry potter puppet pals GIF
If you ignore my advice

Art is fun!

When you study the sciences its hard to externalise your progress, having more knowledge and understanding is quite a personal thing and often cant really be shared in any way that adds value. I may learn the chemical pathway responsible for pain within the spine but actually seeing that learning as tangible life progress is tricky.

With creative coding and art in general it's the opposite. You can see your progress in front of you as you're directly creating content. It's a lot easier for me to see how far I've come when I can see 'my work used to look like this and now it looks like this'. It's very rewarding.


I actually have more but this entry is already getting quite long, if people like this then I'll write the rest.

Follow me and send feedback on the Twitter @simonharrisco