Why this course?
Since I started working on this course, I’ve received many messages with a lot of questions. I decided to summarize my thoughts here in the hope that it might be helpful to everyone.
Here are some of the most common questions I’ve received:
- Do I really need to learn how to code?
- Isn’t AI going to code for us?
- Which language should I learn?
- How can I get a job?
Please keep writing to me. It’s always a pleasure to discuss journalism, data, and code. 😊
Why you should learn how to code
Code, in a way, gives you a superpower.
- You can analyze data with a quantitative approach, helping you solve important problems and answer questions of great public interest.
- If you have massive files with millions of data points, you can harness your computer’s raw power to process them.
- If you need something and it doesn’t exist, you can build it.
- If you need to perform repetitive tasks, you can automate them.
Code is just text. It’s easy to reuse and share. You can write a script once and reuse it hundreds, thousands, millions of times! And you can easily share it so others can use it too.
If you want to be transparent with your readers, you can also easily publish the code behind your analysis and findings, increasing their trust in your work.
On top of all that, there are also a lot of amazing coding courses, like this one. 😉
You should learn, despite AI
It’s pretty obvious now that AI can write code — and it’s getting better at it at an astonishing pace.
But are you willing to put your credibility, reputation, and career in its hands? If there is a mistake in your work, you’ll be responsible — not the AI.
We can’t trust algorithms blindly. You still need to double-check their output. And if you don’t know how to code, how will you do that?
This is why I suggest doing this course without an AI helper. It will help you truly learn and understand the lessons — even if, in your daily job, you end up using AI all the time, just like I do! 🦾
Which language
There are many free and open-source programming languages, but the most popular ones for data analysis are Python and R. Both are fantastic, supported by vibrant communities, and packed with amazing tools. I’ve personally enjoyed using them for years.
However, they’re not ideal for publishing on the web, because the web runs in another language: JavaScript. And in journalism, as in many other fields, publishing on the web has become essential.
Over the years, JavaScript has evolved. The language significantly upgraded with TypeScript, making writing and managing complex code and data easier. JavaScript/TypeScript runtimes became more accessible and powerful, and new tools emerged to process massive datasets at remarkable speeds.
At my level, I’ve tried to contribute to the field by creating simple-data-analysis, a TypeScript library to easily and efficiently process data. I started working on it in April 2022 and have used it for all my projects since.
So, if I were to recommend a language today, it would be TypeScript. With it, you can answer important questions by leveraging millions upon millions of data points, while effectively communicating your results to the world — on the web — just like computational journalists do.
And this is what I want to teach you here: how to code data-driven projects with interactive data visualizations using TypeScript, from start to finish. 😁
Getting a job
The most important word in data journalist or computational journalist is journalist. Journalists ask questions of public interest, seek factual answers, and then explain their findings to the public.
The only difference for data and computational journalists is that the factual answers they look for often come from analyzing data and/or algorithms.
If you have a background in journalism, it’s essential to show that you can answer questions with a quantitative approach. Knowing how to use point-and-click tools like Google Sheets and Datawrapper is a good start. However, many job postings specify that coding skills are necessary for analyzing or visualizing data.
On the other hand, if you come from a computer science or data analysis background, it’s crucial to demonstrate an interest in journalism. Showing that you’re motivated to answer important questions with a sound methodology is key. Getting the journalist title might be harder without prior journalism experience, especially in smaller newsrooms. However, in larger organizations, jobs tend to be more specialized. Data analysts or scientists, and data visualization developers often work directly with journalists within editorial teams.
In both cases, you need to demonstrate your skills. You need something tangible to showcase. Starting a personal website might be a good idea. Explore open data portals, find an interesting question, analyze the data, and present your findings visually on your website. Don’t aim for a Pulitzer right away. Just build enough material to show to potential employers. Think baby steps! The fact that you’re on this page, hopefully willing to follow this course, is already a great start. 🙂
Try to have two or three personal projects live. When applying for a job, you’ll already have concrete work to prove your capabilities. If there are no openings, you can send them to newsroom editors. Invite them for a coffee. Make yourself visible. Don’t be shy! Worst-case scenario: they say no, and life goes on.
Job hunting is tough, especially in journalism these days. But remember: even if you don’t land a job right away, learning new skills is never a waste of time.
Best of luck to you! 🫡