Coding Tips for Creatives

Anyone who experienced Digital Revolution at the Barbican or Big Bang Data at Sommerset House will know just how inspiring the digital medium is; it provides us with the tools to build new worlds and engage with our audiences on a one to one basis yet access everyone globally.

That being said, each time I mention coding (the core building block of any digital project) I’ll get one of three reactions; excitement, blank stares or a quote from the “Matrix” (or Mr. Robot if you’re up to date with your TV).

20 years ago when coding was akin to learning a foreign language to make a single pixel move across a screen, that was excusable. But now the craft has matured and is more accessible than ever before. Taking a dip into a digital world will open endless opportunities to grow your creative craft in a completely new medium.

I’m hoping this short guide will inspire you to drop your pencils for a few hours and play with this brave new world.

Photo by: Sarah Shatz/USA Network

The Basics

There’s so much out there that it can be daunting to make a decision on what to learn first. Here’s a brief breakdown of what you should care about (and the order you should care about it in).

Purpose: What do you want to do?

Have a clear idea of what the end goal is; this doesn’t mean you will start with it right away, but this will inform the choices below (is it an App, Website, Installation…). You may want to look at projects the resemble what you want to do in terms of structure and see how they were done first. There’s no better place for that than

Platform: Where do you want to do it?

Knowing where you want your audience to experience your work (e.g. iPhone App) this will restrict the choices you will need to make below; if you’re interested in doing more complex projects using sensors and visuals that will require you to look beyond App Languages then filtering Devart by technologies and languages should help you find the most pertinent technologies of interest.

Language: Choose your language

Coding is exactly like creative writing; some languages are easier than others. Each has its own unique merit. As a complete beginner the recommended languages are Ruby and Python, but here is the full list with tips on why and who uses them. Don’t fret too much, most of the languages fundamentally work in the same way, so time spent on one won’t be wasted. Better choose the one that’s the simplest at this stage.

Setup: Try before you invest time

Setting up a development environment (the tools you need to test and run your code) can be daunting for someone not used to it. There are plenty of resources that will help you get your hands dirty first without killing your enthusiasm with setting everything up before seeing results.

For any language head down to Coding Game for a simple tutorials using gaming; Ruby on Rails with Zombies (for Ruby only) and if gore and gaming aren’t your thing, CodeChef (although this is a little more complex).

Once you’re ready to start coding on your own machine you’ll need to choose an IDE for your language (akin to using Word to write a document; ironically you’ll need a programme for programming). More can be found here.

Worst of cases

If all of this still seems too complex; and you have a little money to spare why not go find a coding kit for kids; everything is packaged to be as simple as possible, and it’s more fun! (Kano do a great kit which you could use to build larger scale installations with).

6 Survival Tips
Start small and treat it like a game

It’s easy to get really excited to and have grand ideas; but unless you’re able to produce something quickly at the start you’ll probably become frustrated at the lack of progress. Start with small projects that will build your confidence online, then migrate to your machine with the installation of an IDE and versioning tool (so you can always go back on your changes) before you delve into the more complex ones. Follow the tutorials for the language you’ve chosen and make your first small project to print “Hello World!” on screen, once that’s done build on the complexity through fun short projects.

Google / Stackoverflow are your best Friends

Every issue you will encounter has been seen before; paste any error messages you might be getting removing any names you chose yourself (e.g. Zealous Project has crashed due to …”. The best search for that would be to remove Zealous Project and paste “has crashed due to” with the name of your programming language in Google or StackOverflow.

Try and Visualise the Issue

Coding is a little like building an invisible structure. Just like a builder needs architectural plans, you’ll need to imagine the problem you are going to face, know what building materials is available to you (basically like Lego’s but instead of the long green piece it’s a logical construct such as conditions, loops and more…) how you are going to put it together; before you let information flow through it. Most problems can be broken down and have been solved. Here’s a resource for visualising algorithms. Refer to those and see if you can modify them to work better with you.

Tap into communities

If your issue has never been faced (unlikely) then post it to the community, you’ll see people are very supportive of one another. Just be aware that if that question was posted before you might get a sarcastic comment or two. People are kind with their time, but they don’t like wasting it.

Ugly websites can be good resources

It’s ironic that some of the best resources are also the ugliest. Don’t be put off by the website design and read through the content. You’ll probably be surprised at how helpful it is (as a tip, if it’s really unreadable I paste it in a document and read it there!). This reddit of great programming projects is testament to that.

Break Things Down & Make Time for it

You’re not going to be a good coder in 10 hours; but you will manage to solve smaller issues and work towards the bigger goal. Give yourself a few hours a week where you sit down and work on the next issue you face. Use tools like Trello to keep track of items you want to do, and their priority. Also don’t learn multiple languages at the same time; it may be tempting to learn CSS / HTML / Javascript and Java all in one go. But they all work differently and it’s best to practice them independently before mixing them all together. If you want to make a web application start with HTML

Practice, Practice, Practice

Find a piece of code, run it then look at the code and see if you can modify it slightly. This will push your understanding of reading clean code. Then find awesome little projects to do; they don’t need to be useful just further your understanding of coding. Here’s an extensive list of projects you could undertake if your mind runs dry!

Good luck with it, and most importantly have a blast. We can’t wait to see what Digital Projects you come up with (and since you reached the end of this article we thought we would reward you with Simone Giertz’s Shitty Robots).

So show off a little. Be a Zealous featured artist.