Subscribe to my Swift newsletter

It is that time of year again, when everyone makes their New Years Resolutions. And, no doubt, one of the popular resolutions out there is learning to code. I know this resolution is popular because CodeYear has gotten over 79,000 sign-ups for their 2012 coding resolution challenge. But I also know first-hand, that out of all these 79,000 people, only a handful will complete the resolution.

When I wrote a post on Women 2.0 back in late October 2011 asking if anyone wanted to learn to code with me via the Stanford CS106A course, I got 45 women (and one guy) interested. Out of all these people, only one completed the full course with me, and maybe one or two people are still working on it. So if learning to code is your New Year’s resolution this year, here is how to make sure you complete your resolution:

Have A Goal

Why do you want to learn to code? Is it just for fun? Do you want to be able to build your own start-up? Do you want a better job? Do you want to become a freelancer? Knowing exactly why you want to learn to code and being committed to accomplishing that goal will keep you going when the times get rough.

Set Aside Lots Of Time

Learning to code is a large time commitment. Don’t kid yourself by thinking it will only take you an hour a week. Instead, consider learning to code to be your part-time job. Set aside at least 10 hours a week to learn. If you have another activity that you participate in 10 hours a week, consider replacing that with coding instead. One hour of coding a week will not get you very far. One of my friends is asking her boss to give her one day a week to learn to code at work – if that’s a possibility at your work, consider asking.

Prepare For Failure

No matter how smart you are, you will continually fail at coding. Even the smartest developers who’ve been coding for years have bugs in their programs. If you’re not used to failing, prepare yourself mentally. In coding, you will fail. The important part is learning how to stay calm and logically figure out why your program failed and how to fix it. Failing is part of the coding process, so don’t take it personally

Don’t Stop

Some people say that coding is not that hard – they’re lying. It is extremely hard and challenging (but definitely doable if you are committed). You will want to quit at multiple times during the learning process. Don’t. The only way you’re going to get through the learning is by knowing that quitting is not an option, no matter what happens.

Tell Everyone

As I’ve stated above, you will want to quit at multiple points while learning to code. It is just way too easy to quit. To make sure you stay committed, tell everyone you know and even don’t know that you’re learning. When I wanted to quit only one assignment into the Stanford CS106A course, I started this blog, told all my friends about it via Facebook, started a Twitter account for NatashaTheRobot, went to a Women Who Code meetup and told everyone there I was learning, and wrote a post on Women 2.0 to get a group of others to learn with me. You might think that this is extreme, but doing all this publicity of the fact that I was learning to code really kept me going.

You Will Love It

And now, the positive. Learning to code is very addicting. With the frustrations you feel when you can’t get your program running just right comes the feeling of extreme satisfaction and unparalleled happiness when you finally do get the computer to do your bidding (and if you spend enough time on any program, you will get it to work). Those ups and downs you feel when programming make for an incredible journey.

Resources

If you have absolutely no experience coding (which is where I was back in late October 2011), I recommend you get started by completing Stanford’s CS106A course. I’ve personally tried other resources before finding CS106A, but none of them made me love learning to code as much as Professor Mehran Sahami. If you’re interested in going through this course, check out the wiki I made to get you through it week-by-week.