You can learn to code
“Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.”
Bill Gates, Co-chairman, Bill & Melinda Gates Foundation, Co-founder, Microsoft
This is a call to every digital marketing analyst; from every intern learning the ropes of Google Ads Editor to a veteran SEO director manually grouping keywords, to all content creatives who are simply out of ideas.
You shouldn’t be manually mapping redirect pages – it’s not scalable. If you’re downloading the same data, every month for your monthly reports, well there’s a better way. The way you are writing ad copy is manual when you could be doing it automatically.
You have great ideas. What if you could also access the whole of Reddit in just a few lines of code, map a million redirects in less than an hour or change thousands of lines of ad copy before your next tea break?
Learning to code is learning to talk to machines. When you go to another country and speak their language you get a warmer experience. When you converse with your computer in its native tongue, it will extend to you a transformative range of capability.
I’ll just say this. There’s a reason top companies like Stripe teach newcomers to code. Stop searching for other people’s ad scripts and write your own. You have good ideas too and you should be able to see them through. As Found’s data scientist, I believe that you can.
“Learning to code is useful no matter what your career ambitions are.”
Arianna Huffington, Founder, The Huffington Post
Okay so now you’re thinking *but I* could never learn to code. But I’m telling you that if you try, you can do it .
The Internet is awash with online training material and all popular programming languages typically have big, supportive online communities.
If I have convinced you to believe in yourself then read on, otherwise thanks for reading as much as you did.
Where do you start? Online courses are a great place to learn the basics but you learn a lot more effectively by coming up with a project. I think the most important thing you can do is to *complete* some personal projects. You’ll learn way more working on projects you’re interested in than crushing courses online. For me learning is much more permanent when you go through the struggle of trying to solve a problem.
Your project can be anything you want. Personally, I’m working on a side project for our after-work football club at Found that will split the active players into evenly balanced teams based on how they rate each other against a set of skills.
I will face challenges and frustration along the way, as it goes with learning anything new (albeit my first challenge is not knowing and not wanting to know a thing about football). I’ve never really understood the offside rule but I know it’s just because I don’t want to. It’s all a part of the challenge, on the other side I will know much more than when I started. I’ll be offside myself for having done it.
Just think, today you learn something small, say, how to slice a string. Tomorrow you learn how to make a list of strings. The next day, the thing you’re learning about doesn’t make much sense anymore. Damn that’s frustrating. But picture yourself in a year’s time. Wow you got so good! And you’re saving so much time. All your friends are like, “T-bone, you can code? That’s cool I guess.” They’re acting like they’re not impressed because they’re jealous
Back on track.
“Coding is the language of the future, and every girl should learn it. As I’ve learned from watching girls grow and learn in our classrooms, coding is fun, collaborative and creative.”
Reshma Saujani, Founder, Girls Who Code
So, learn the basics and then learn as you go.
Once you start learning to code, you’re going to run into problems that you don’t know how to solve. This is normal and part of the process. Like I said, you don’t really learn unless you struggle through it. That said, you won’t always be able to move forward without some help. So how do you find that help?
First off, forget books. They aren’t a great place to start here, because the number and types of errors they can cover is so small and specific.
Online is the easiest place to find help. Most devs look for solutions on Stack Overflow (SO) or just google the error message (if they have one). Tip: using Google to search Stack Overflow often yields more relevant results than searching SO itself. Other solutions are to find newsgroups or forums dedicated to the language you’re using.
There’s a world beyond your spreadsheets. The ability to code is like having a superpower. Things that took you five days to do can be cut down to five seconds. You don’t need to learn how to build and deploy complex machine learning apps, but wouldn’t the ability to take a set of data and take it by the horns multiply your employability and productivity? You’re not looking to usurp the role of data scientists, you’re dominating the digital marketing skills pool.
Honestly, you don’t need to have a computer science degree to get stuck into coding. If you try it and give it a good go but decide it’s not for you, programming will dramatically improve your way of thinking anyway. You will have lost nothing by trying.
In my opinion, a coding junior is better than any spreadsheet wizard because their means of accomplishing tasks is so much more efficient and full of potential. A time machine, when wielded properly, can reveal many different futures; it would definitely fortell one future a year from now where you learned to code and became awesome.
“Whether you want to uncover the secrets of the universe, or you just want to pursue a career in the 21st century, basic computer programming is an essential skill to learn.”
Stephen Hawking, Theoretical Physicist, Cosmologist, Author
If I have convinced you to dip a toe then congratulations and I have three options to help you get started, in no particular order.
Is there a way to order pizza with R? The answer is, of course, “Of course there is a way to order pizza. This *is* R.” R might be a little tricky to pick up at first; it has an incredibly supportive and active community and you can do anything from simple data tasks to machine learning to beautiful visualisations to self-contained, scalable web applications. BBC use R to produce their data visualisations. The Coursera course run by John Hopkins University in the US is the place to get stuck in.
Everybody talks about Python and there’s a reason for that. The choice between R and Python will come down to personal preference, intended use or just what your colleagues around you tend to use more often. It makes sense to go with Python if your data team like to use Python as well.
There are a few good places to start that I’d recommend here:
MiT Computer Science Intro Course on EdX (my personal favourite): https://www.edx.org/course/introduction-to-computer-science-and-programming-using-python-0
Google’s Python Intro Class they give to their employees: