Learning to code is hip. CodeAcademy signed up tens of thousands and learn to code blogs are popping up all over the place (like this one). What follows are some skills, tools, and attitudes that will make your path to Coding Nirvana that much easier.

Learn to Type

You should know how to type proficiently. Writing code is done with a keyboard and though python is very forgiving, you will still have to use curly brackets, underscore and parentheses far more than you ever have. It gets better with progress, but if you’re a two finger typer, take a typing course and learn how to properly type. You’ll be happy you did.

Use Ubuntu

If you already use Ubuntu, open gedit / Text Editor now, type in

print "Hello World"

save it as in your home folder then open your terminal and type


and Viola! No need to install python, no need to find an editor and learn how to use it. You’ve already written your first program.

Now if you’re using some other operating system, there’s still hope. I can’t help you get up and running in Python but this link can. I’m no fan of either Windows or Mac OS X so if you want to use any other OS, good luck. I recommend you install Ubuntu as a virtual machine on your computer, especially if you use Windows. Most developers use a nix operating system (aka some Linux distro, Mac OS X, etc) and though all the cool kids are using Apple products these days, it is preferable to Windows.

Command the Command Line

You don’t have to be a super genious to work at the command line and you don’t need to know a ton of commands. Changing directories, moving files, opening files, and a few other handy commands should do the trick. Zed Shaw has a crash course here.

Google (the verb)

Effective google searches will come in handy. There’s no shame in using Google. Everyone does it, even experienced programmers. Google ‘effective google searches’ to learn more about that.

Love the Journey

This isn’t going to be easy. You’re going to want to quit. You’re going to feel really stupid sometimes and bang your head against your desk. A love for solving problems and tinkering (aka hacking) is needed to get past the introductory stages of programming.