You can learn to code

29th April 2019 - 12 minutes read  Data & AnalyticsTips & TricksTrends
James Wolman - Data Scientist

“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?

Micah Sanders from Heroes. He’s a technopath, which means he can telepathically communicate with technology. Coding with his mind basically.

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.

The IT Crowd – my football sentiment.

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.

The startup cost may be high but you’ll thank yourself in the long run. Repeating processes in the same old way you’re accustomed to might feel quicker than sitting down and learning to code, but that is only true at first. Long-term, you will save yourself so much time and be capable of achieving so much more.

There’s a world beyond your spreadsheets. Don’t you dare say VBA, leave that legacy for financial institutions. 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.

“That’s me taking the bull by the horns. It’s how I handle my business. It’s a metaphor. But that really happened.” – DodgeBall: A True Underdog Story.

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. The time stone, when wielded properly, can reveal many different futures; it would definitely foretell 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.

JavaScript

Get started with programming straight in your browser with JavaScript. It’s fun and mainly used for front-end development i.e. making websites look awesome and do all the cool things. A good foundation in JS will set you up to grasp Google Analytics, Google Tag Manager and Google Ads/Sheets scripts with a high level of proficiency.

JavaScript – https://scrimba.com/g/gintrotojavascript

R

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.

R Prohttps://www.coursera.org/learn/r-programming


Python

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:

https://developers.google.com/edu/python/