'Learn to code'. Now there’s a phrase that’s been a regular feature on many people’s recent New Year resolutions lists.

A quick check of Google Trends will tell you people started getting interested in late 2008, but it’s really caught on in 2013.

It’s been particularly picked up in the digital marketing community, and quite rightly. A fundamental understanding of the backend workings of digital properties is invaluable knowledge for any digital media or marketing professional.

So firstly, to clear up any confusion, I by no means want to discourage anyone looking to learn, or to be negative about the subject at all. I just want to call for some clarity on what 'learning to code' really means.

There are now fantastic initiatives for teaching children to code, some great online tools like Code Academy and General Assembly’s new Dash, as well as courses like Econsultancy’s own for digital professionals

Which is all great. But as someone who’s learnt a few languages, dabbled a bit and uses that knowledge on a semi-regular basis, I think there are a few questions you need to ask yourself before you endeavour to 'learn to code'.   

Why are you learning to code? 

CodeYou probably know this already, but it will help you to express it explicitly, as 'to feel like I’m in the Matrix' is probably not the best reason (although it is a great bonus). 

It may help you in your working life, allowing you to do things like make edits to webpages or even build applications without the help of a developer.

Then we’ve all got the web equivalent of a novel inside us, an idea for a website or a killer app that will totally take the world by storm if only you can get it built. I know I’ve got a few! 

Or perhaps it’s simply that you would like to have a greater understanding of how some of the technology we interact with on a daily basis actually works. As I mentioned, if you’re a marketer this is invaluable.

These are all perfectly decent reasons, but knowing which applies to you will help with the next question.

What are you learning to code? 

This is the crux of why I keep putting 'learn to code' in quotation marks. Because whenever anyone says they want to learn to code I think, “learn to code… what?”

There are literally hundreds of programming languages. You’re obviously not going to learn all of them, partly as that would be insane, and partly as most will be of no use to you. Your answer to why you want to learn will help you work out where to start. 

So if it’s that you want to make tweaks to web pages, or build your own email template, you’ll need HTML and CSS (which is probably a good start whatever you want to do), and JavaScript will then come in handy for web interactivity.

Anything beyond that, such as backend database interaction, and you’ll need to start with PHP, potentially moving onto Python and/or Ruby. 

Want to code an app? If so, what kind, and what platform? If it’s anything Apple related, OS X or iOS based, you’ll probably need Objective-C. For Android, or Windows, you might need Java, or C++, depending on what you want to build. 

It’s important to get an understanding of how these languages interplay and what their different uses are, so you can understand how to get to what you want to achieve. Read around the topic as you start out and don’t be afraid to ask people you know for advice. 

How do you want to learn to code? 

As I mentioned, there are loads of ways to get started. When I first started, I used the W3 Schools site, which isn’t the flashiest, but it’s comprehensive, in line with web standards (W3 being the consortium for standards on the web) and gives you background as you go through. 

CodeAcademy has a great user interface and its badge system is addictive, while Dash gets you stuck in a fair bit quicker by not separating out languages into separate course as much, and gets you introduced to things like responsive design early on. 

Learning online suited me, but perhaps you learn better with a real person to guide you through. Once again, do some research into what course will suit you, based on your learning style, what languages they cover and what your aims are. 

When will you have learnt to code?

The answer to this one is easy: never. 

Which isn’t to say you won’t learn anything. Hopefully you will take to programming languages like a fish to water, find a multitude of new ways to express your creativity, build projects you can be proud of or at least just understand the function of a stylesheet. 

But learning to code is not finite. Even the most experienced of programmers and developers with years of building software and applications will tell you that they haven’t stopped learning. 

Once you’ve finished whatever course it is you choose to help you learn, go and put your newfound knowledge into practice. Build projects, share them with the world and get feedback. You’ll most likely find you learn a lot more doing that than on any 'learn to code' course. 

Ian McKee

Published 12 November, 2013 by Ian McKee

Ian McKee is Social and PR Director at AgencyUK and a contributor to Econsultancy. You can follow him on Twitter, LinkedIn

11 more posts from this author

You might be interested in

Comments (11)

Save or Cancel

Adam Walmsley

Hey great post. Agree with all that you have said. Its so important to know why it is you want to learn programming? and what it is you want to build or use your knowledge for? This will surly help you know where to focus learning and what languages to learn. I work on the codeavengers.com website. We teach JavaScript, HTML and CSS which focuses on web development. So if that's what someones interested in then codeavengers is great. But if you are wanting to make an iphone app then we are not the place to go.

almost 5 years ago


Jenks LeBeau

Haha very entertaining post- keep going with your site! is great!

almost 5 years ago


Jay Wengrow

I'll definitely agree that it's very important to define the reason why you want to code, especially in determining where to start. For backend web development, I'd actually recommend Ruby over PHP, as Ruby and its popular Rails web framework are relatively easy to learn. Ruby, in particular, makes a great first programming language, as it is very expressive and more akin to English than most others. For those who like to learn visually, I'd plug my own free Anyone Can Learn To Code screencast series, which teaches Ruby to those with absolutely no previous experience in coding. It's at http://anyonecanlearntocode.com/screencasts . For those who enjoy books, I'd highly recommend Chris Pine's excellent book, "Learn To Program", found here: http://pragprog.com/book/ltp2/learn-to-program .

almost 5 years ago


Andrew Hall

Quick note about W3Schools.com :

"W3Schools.com is not affiliated with the W3C in any way. Members of the W3C have asked W3Schools to explicitly disavow any connection in the past, and they have refused to do so."

http://www.w3fools.com/ - explains more

almost 5 years ago


Jack Norell

I've always given interviewees preference for knowing HTML and maybe something more. I think the ability to knock out a web page from scratch (design excluded...) is an absolute necessity for SEO or online marketing.

So is pretty advanced Excel skills, but it's remarkable how many don't know simple thingslike VLOOKUPs.

SQL / PHP / Ruby skills are like gold dust.

I think the "why" with learning to code is very simple for anyone working with online initiatives: To do the job well.

almost 5 years ago


Dan Pickett

Great post! I agree with Jay in that ruby is a little more beginner friendly. At Launch Academy (http://www.launchacademy.com), a full time, immersive, program that teaches you to be a web developer, we chose ruby because of our love for Chris Pine's "Learn to Program" and the simplicity of Rails (a web framework).

I've reviewed many books that introduce the concepts essential to coding, and I've found Pine does the best job.

Alternatively, we'd also recommend checking out python, as it benefits from being readable like ruby, yet it is a little more versatile. This is because it has been around for a little bit longer. The key is to pick a language that is approachable and readable. Many newcomers do not realize that you read a lot more code than you write.

I love that you drove home that as a developer, you are always learning. It's why I love software development. There will always be a new and interesting challenge around the corner!

almost 5 years ago

Ajay Prasad

Ajay Prasad, Founder & CEO at GMR WEB TEAM

Hi Lan.
Well said. We must know why to learn programming? why we want to code, especially in determining where to start. This post will surly help the people know where to focus learning and what languages to learn. Thank you so much.

almost 5 years ago

Ian McKee

Ian McKee, Social and PR Director at AgencyUK

@Adam: Thanks a lot!

@Jay: Thanks. Think Ruby may have to be my next language so will check out your screencasts.

@Andrew: Did not realise that, thanks for alerting me. If I'm honest if I was learning from scratch today I probably wouldn't use it, but it still does often come up as a handy resource when searching for something you need reminded of how to do.

@Jack: SEO's definitely an area that an understanding of code massively helps, for making tweaks but also just to understand what search engines are really looking at.

@Dan: Good point about reading more than writing, that's another massive part of learning.

almost 5 years ago

Edwyn Raine

Edwyn Raine, Digital Strategist at Evolution 7

Great article, thanks author. I have never ventured into coding, but many of my friends have and I have picked up a few interesting ideas along through them...
Knowing why you want to ‘learn code’ is always a great starting point. If it is from a careers point of view then more comprehensive online IT training, such as that provided by Computeach can be a great start. That way you can learn at your own pace and still get tutor support. Personally, I feel that if you are willing to commit the time and effort coding can be a vital skill to add to your arsenal. Although it is important to make sure to put what you have learnt into practice and use your skills, this way you can truly understand the importance and usefulness of what you have learnt.

almost 5 years ago



Great article. If you're interested in learning to code, it can be pretty tough to sift through the tons of information out there and find things that are truly valuable. When I started out, a little over 5 years ago, there was a ton of stuff available, but it always felt like it was hard to find the right stuff.

I've personally gone through this process many times over these past years, and was able to successfully learn to code. But since it was more difficult than I expected, I thought others may benefit from a simple step-by-step guide to creating a web app.

So that's why I decided to write a book, which contains just that. If that's of interest, you can get more information and sign up for updates on the book's progress here:


almost 5 years ago

dan barker

dan barker, E-Business Consultant at Dan Barker

I totally forgot, but I'd written this on Econsultancy long ago:


Some of the bitly details probably need updatiing.

over 4 years ago

Save or Cancel

Enjoying this article?

Get more just like this, delivered to your inbox.

Keep up to date with the latest analysis, inspiration and learning from the Econsultancy blog with our free Digital Pulse newsletter. You will receive a hand-picked digest of the latest and greatest articles, as well as snippets of new market data, best practice guides and trends research.