Learning data skills has obvious utility for anyone who works as a journalist. Even rudimentary data analytics skills can be used to find new stories and augment traditional reporting with quantitative support. But for many reporters, there’s one big obstacle standing in the way of becoming a data journalist: learning to code.
I know that’s the obstacle that stopped me. Before joining Dataquest, I worked in journalism for nearly a decade, and in that time I attempted to learn programming for data journalism repeatedly. I never got very far.
I tried a couple different online resources, but they were full of confusing explanations and they had me working on things that felt irrelevant. I remember struggling my way through Learn Python the Hard Way, building a text adventure game and thinking to myself: how on earth is this going to help me with data journalism?
The answer, of course, is that it wasn’t going to help me. I lost motivation and quit somewhere in the middle of that project.
Ironically, it wasn’t until I left journalism that I discovered there’s a much easier way to learn the technical skills required for data journalism (thankfully, these skills are also useful in my current role).
While I’m still no data expert, I’ve reached the point where I can do data journalism — I can collect unique and original data sets, I can clean the data, and I can analyze it and visualize it for interesting patterns to come up with new stories. And it took me a lot less time to get to that point than you might think.
Along the way, I learned that I made three big mistakes in my past attempts to learn programming. For me, learning these three lessons was the difference between success and failure, and I know that many people who’d like to become data journalists are making these three mistakes.
Lesson 1: Data Journalism is Basically Data Science
The biggest single mistake I made in my efforts to become a data journalist was probably that I was trying to “learn programming.”
Programming is a necessary skill for data journalism. But when you try to learn “programming” in the general sense, you end up learning a lot of tangential, not-very-relevant stuff. That’s how I found myself trying to build a text adventure game, and it’s how a lot of aspiring data journalists find themselves doing things like trying to build mobile apps.
Generic “learn programming” resources don’t know why you want to learn programming, so they generally try to teach you everything. And learning more isn’t inherently bad, of course! But it isn’t efficient, and working on things that are irrelevant can sap your motivation (we’ll get to that in a minute).
Thankfully, although data-journalism-specific resources aren’t as widespread or well-developed as the general learn-to-code resources out there, the skills required to become an effective data journalist overlap pretty directly with the skills required of data analysts and data scientists (although data scientists have to learn a lot of additional skills that data journalists don’t).
That means that if you can find a good resource for learning data science, you can learn the skills required for data journalism without wasting too much time on irrelevant skills you’re not likely to use in your real-world work.
(Obviously, we think Dataquest is a great resource for learning data skills, including those needed for data journalism, but there are other data science learning platforms out there too, so pick whichever works best for you, your budget, and your schedule).
Lesson 2: Motivation Matters
Another big mistake I made in my efforts to become a data journalist was trying to learn something I was interested in (data journalism) by doing things I wasn’t interested in (building irrelevant projects like the text adventure game).
While it’s possible to learn this way, most people don’t. Especially when they, like most journalists, are full-time working professionals trying to sneak learning sessions in around tight deadlines and travel schedules. When you’re already stressed, short on time, and struggling to program something that feels like it has no relevance to your goals, it’s very easy to convince yourself to quit.
Learning, I have learned, is much easier when you’re motivated. And staying motivated is much easier when you’re learning things that feel relevant.
That’s a big part of the approach we use on the Dataquest platform, where we get students working with real-world data immediately to reduce the “what’s the point of this?” feeling that often comes when trying to learn programming syntax. But even if you’re not using Dataquest, you can add this relevance to your learning from any source by constantly trying to apply the concepts you’re learning to data-related projects that feel relevant. Simply find and download an interesting data set, get yourself set up in Jupyter Notebooks, and start trying stuff.
Think you’re not ready to do that yet? That leads directly into the final big lesson I’ve learned...
Lesson 3: If You Can’t Build It, Build It Anyway
Every time I tried and failed to learn data journalism, I worked on the practice problems and projects my textbook prescribed. I never tried to build any data journalism project, because I felt I wasn’t ready.
The dirty secret I’ve since learned about programming is that there is no such thing as “ready.” Even the most advanced programmers and data scientists spend a good bit of time Googling problems, checking StackOverflow, and scanning through documentation to try to get things to work.
Failing, Googling, asking for help, and straight-up copy-pasting code snippets from StackOverflow into your project? That’s all part of the learning process. In fact, that’s part of more professional data science workflows than many data scientists would care to admit!
My first real data journalism project seemed like an absurd pipe dream to me when I started it, because it was. I had almost none of the skill I knew it would require, but I had an idea that interested me enough that I decided to try it anyway.
This project required scraping data from about 700 webpages, which I had no idea how to do. Then I’d need turn lengthy text strings into columns in a data set with different data types so that I could actually analyze them. I couldn’t do either of those things, either. And I certainly didn’t know a thing about how I was going to visualize any of this data if I ever reached that point.
A few weeks later, I had a finished project, with working code that did all of those things and more. Not because I’m particularly smart or I’m a natural programmer — I am neither — but because I followed a lesson I’d learned in an early Dataquest guided project and took it step-by-step. And also, of course, because I Googled. A lot.
I wish that in my past attempts, I hadn’t wasted time trying to get to “ready” before starting to work on a project that really interested me. Working on projects that genuinely interest you will give you a drive to learn that you simply won’t get from a textbook problem set.
The truth is that the way you learn to do data projects is mostly by diving in, and learning what you need along the way. Every data set is different, so there’s simply no way you can be “ready” for everything that you might encounter, especially in the early days of your learning.
You’ll probably need to learn the basic syntax first, but once that’s out of the way, you can dive into projects that interest you and you’ll probably be able to figure things out as you (although it will be challenging at times, having a friend or a community who can offer some help when you need it will work wonders).
If you’re interested in taking the plunge and learning data journalism, we’ve created a page to help you, with interactive online courses and other resources arranged in a sequence that we think makes sense. Check it out:
Having taken many of these courses myself, I’m confident that page will be a helpful resource to anyone who aspires to add data skills to their reporting repertoire. But even if you don’t study with Dataquest, I’d urge you to avoid my three mistakes and keep these lessons in mind as you navigate your own path to becoming a data journalist:
- Don’t waste time learning irrelevant skills or general programming skills with little data relevance.
- Find learning resources and projects that will keep you interested and motivated
- Start working on real projects as soon as possible, before you think you’re “ready.” You’ll figure it out!