Visual Effects and stuff...

Blog

Blog posts about visual effects, CGI in general, programming and other opinions.

Why you should stop working and start programming

why-you-should-stop-working-and-start-scripting.png

Over the past few months, I have spoken to many people at open houses in VFX studios (MPC, Atomic Fiction...). And one thing I kept being asked about was: "Do you know a programming language"?

I have been introduced to programming when I was still a teenager, by making small scripts in VB.net. I then left programming for some years and came back to it about a year ago while learning visual effects at NAD.

Now let's see how programming can be an extremely valuable skill for you.

Stop working

Programming makes your life easier. Take for example my website ShortcutsHeaven. At first I thought I could post a random shortcut image every day on Facebook, Twitter and Tumblr, all by myself. Creating an image in Photoshop only takes a few minutes and so does posting it on social medias.

But now, what if I want to take a few days off. Or what if I get stuck in a snowstorm (it happens more than you think here in Montreal)?

The only way to make this kind of workflow as efficient as possible is by using some kind of scripting. Therefore, I started looking at how I could make it possible. From automatically generating the image from my database, to posting it on social medias. I searched on Google and solved every problem step by step. I had no idea in the beginning how it could be possible.

But the most important thing is that I knew somehow that this should be possible. And so I searched and found how to do it, using a mix of PHP, Python and task scheduler (don't underestimate task scheduler, it's really powerful!).

So that's an example of how I went from spending days creating images for a side project to a script doing everything for me in the background.

Because that's the best part: now I don't even remember that I set up all those scripts. I just check if everything is still working fine every now and then. And guess what? Everything has worked fine for the past 6 months.

Scripts don't fail you. People do (wooh, that sounds scary doesn't it?).

You could think programming is only used by geeks or Google engineers but recently my girlfriend applied for a master degree in information science. And what was she asked about at some point? You guessed it: "Do you know a programming language?" (in this case Python and HTML). And I am sure she would find great use for programming in the field of information science. There are so many things you can do with programming for dealing with files and classify all sort of documents.

In case you're still not sure whether you should start scripting, you might want to check this video:

Start programming (now!)

So where do I start? There are many places on the internet where you can start learning. But first you must:

#1 Choose a programming language

I would personally recommend learning Python if you are starting from scratch. Python's syntax is really easy compared to other languages such as C or Java.

What's more, you can do almost anything with Python. From managing files and folders to writing complex plugins for VFX software, Python is there for you. C is a more advanced programming language and Java is one of most popular, but both are more complex for beginners. HTML, PHP and JavaScript are mainly used for website.

 #2 Choose a text editor

A text editor will be your every day companion when you start scripting. Make sure you choose carefully the one that suits you best. You can use Windows' notepad however there are better text editor made exclusively for programmers.

I would recommend using Sublime Text, which is being used more and more by programmers all around the world. It's lightweight, can be downloaded as a portable version, and has some pretty neat features.

#3 Start learning

Sadly, most websites where you can learn programming are not free.

One of the most famous website where you can learn many programming languages for free is Codeacademy:

www.codeacademy.com

Another great website with free MOOC (Massice Open Online Course) is Coursera. You have to register to follow courses and then choose a subject and start learning with people from universities all around the world. Definitely a great way to learn if you are motivated:

www.coursera.org

Then there's also this wonderful GitHub index which contains hundreds of free programming books about almost every programming language you can dream of:

www.github.com/vhf/free-programming-books/blob/master/free-programming-books.md

Now if you're younger you might want to take a look at Code.org, which is a non-profit organization aimed at introducing people to coding with fun challenges you have to solve:

www.code.org

But the greatest website where you will learn programming is no other than Google. You can be sure that you will find answers to 99% of your questions by searching on Google. There are so many people scripting as a full-time job or just for fun. But now how do you know what to look up in Google? If you have never done any scripting, what can you ask Google? Well stay tuned because that's what the next part is about :)

#4 Challenge yourself

In my opinion, there is no learning without challenging yourself. You can spend months trying to learn something without achieving great results only because you are staying on the safe track. You do all the exercises on websites such as CodeAcademy but you never go beyond that. You never challenge yourself. Therefore you're not making progress.

You will however start seeing some progress when you will try to do something really custom. Again, using ShortcutsHeaven as an example, what this website allowed me to do was to learn how to use HTML, PHP and MySQL in less than two months (I still have a lot to learn though). And that's only because there was many things I wanted to make and each time I ran into a problem, I looked into Google, websites, forums, and found the answer I was looking for. And that's how I learnt thousands of functions, tips and tricks and whatever I would have never stumbled upon if I had stayed on CodeAcademy.

The same can be said when you are learning a new language. You can spend months, even years, doing exercises in a book to learn Spanish, but you will only become fluent when you will challenge yourself and spend two months in Spain. And I can guarantee you that you will learn much more in two months than you did in two years.

Now to wrap up this post, I'll let the people who changed the world with programming have the last words. Because they will tell you a thousand times better than me why programming is so important in our lives:

Do you know a programming language? If yes, don't hesitate to post which one on the comments and explain how it changed your life! Happy coding!