Code for journalists, or why journalists should learn code

Friday I was visiting the Center for Collaborative Journalism, and I watched director Tim Regan-Porter teaching a class called Hacking the Media. In it, about 12 students were learning to do something with Ruby on Rails. Some of the students were journalism majors. Others were from engineering or technical communication. They told the visitors how the course was helping them learn to approach and solve problems (and not only problems of code) in new ways. The students were very positive and enthusiastic. Only four of them volunteered information, though, so we don’t know what the others think.

“Coding for journalists” might be the flavor of the day, the way “backpack journalism” was a few years ago. Emotions run hot over the question, with people inside and outside journalism digging their heels in and pulling for their side.

Here’s a summary of the ever-recurring conversation about whether journalists (or journalism students) should learn to code.

What Should Reporters Learn in Journalism School? This is the immensely useful follow-up to a less useful (in my opinion) article, Should Journalism Schools Require Reporters to ‘Learn Code’? No, by the same author, Olga Khazan, who is an editor at The Atlantic. The reason I prefer the “What Should Reporters Learn” article: It talks about statistics, scraping, numeracy, using the Web to generate story ideas quickly, understanding research studies (and which ones are junk), pitching stories (brilliant), and more. In other words, the article does not pull out the old trope “Journalists must learn to write,” and leave it at that. Favorite quote:

If I had one or two years of grad school to become an effective reporter, though, I would try to save time by making full use of the ready-made scraping tools geared toward non-programmers … (In this case, the “everyone needs a little bit of code” argument is flawed, too, since you can’t “little bit” scrape some data.)

Those required courses in journalism school are there for a reason. This article, by Khazan’s former journalism professor Robert Hernandez, talks about how undergraduates in general don’t know what they should know, and journalism schools have a responsibility to expose students to many things they might consider pointless or not related to their future career aspirations. Hernandez defines some terms related to “code” and makes a neat distinction between two types he calls “a modern journalist” and “a digital journalist.” Favorite quote:

While journalism saved my life, the web and technology gave me a direction. I’ve had an incredible career because I learned the power behind the phrase “Hello World.”

Late addition: In On journalism and learning to code (again), Knight-Mozilla OpenNews Fellow Noah Veltman addresses “a lot of fallacies about code and journalism” in Khazan’s first article (the one that says j-schools should not require student to learn code). Veltman has better chops than most of us, and right now he’s embedded with the BBC in London. Favorite quote:

If you think you can compartmentalize the “data” work and give it to someone else, or that you’re fine only reporting stories you can find browsing Excel, someone else is going to eat your lunch.

Should journalists learn to code? Hernandez was a major participant in this Twitter conversation, archived by me (although I hardly participated at all). If you’re tempted to have this discussion yourself, you could just read this first and save yourself some trouble. One of several favorite tweets:

Every 6 months the “should journalists learn to code” article is instant traffic/social media discussion. We’re being played. — David Cohn

What is ‘code,’ anyway?

That conversation brings out a part of the issue that might be glossed over in some venues or instances: What do we mean by “code”? Some people are willing to lump all Internet things together under the word code. Others distinguish carefully between HMTL and CSS (not “code,” but “markup”) and the programming languages Python and Ruby (definitely “code”). I participated in a brief argument at a conference in August when a professor claimed JavaScript is not a programming language (it is).

And then, there are tools. Are you “learning to code” if you learn a program such as Adobe Dreamweaver? Usually, no. You can write HTML, CSS and even JavaScript inside Dreamweaver — but most students will not learn code by using Dreamweaver, so I would recommend ignoring it, and certainly never teaching it.

What about scraping? There are tools out here that let you scrape without knowing how to code. Getting the job done is good. Not doing it with code? You can decide.

Break it down for a j-school curriculum

This is a series of posts I wrote earlier this year to differentiate among the things journalists talk about when they talk about “code.” The series was titled “Get started with Web coding.”

Part 1: HTML and CSS

Part 2: JavaScript and jQuery

Part 3: The command line

Part 4: Software and CMSs

Part 5: How to use Git and GitHub

What do journalists need?

Answering this question is complicated, but let’s cut to the chase and admit that every journalist today must know how to do more than only write and interview people. Finding public records requires online search skills. Analyzing the claims made in science and health studies requires numeracy skills.

If you’re a great video storyteller, for example, you might never need to know any code. But how does a student in j-school know (really know) what path his or her career will follow? So many journalism students proclaim that they “can’t do math,” or say, “Computers don’t like me.” I hear these statements all the time, and that’s something the j-schools must — absolutely must — address.

Does code need to be part of that? I think it does. Learning how to learn to code (not rote memorization) encourages and empowers the kind of student who has been hiding behind an “I can’t do math” defensive shield.