Last week, the “should journalists learn to code?” question came up again. Due to work, commitments and life, I wasn’t able to make a comprehensive response at the time, other than a few Facebook comments and some retweets. Now, I will attempt to chime in on some things about this topic that are very important to me and the work I am doing at Stanford.
The past week’s iteration of this debate started with this piece in the Atlantic by writer Olga Khazan “Should Journalism Schools Require Reporters to ‘Learn Code’? No.” Khazan seemed to convey that she wasted valuable writing time attempting to learn to code. There were some thoughtful responses, namely this one by Knight-Mozilla Fellow Noah Veltman “On Journalism and Learning to Code. Again.” University of Florida professor Mindy McAdams created a Storify to capture some of the social media conversation and wrote a post “Code For Journalists, or Why Journalists Should Learn to Code.” Finally, Khazan followed with some clarification and a little back pedaling with “What Should Reporters Learn in Journalism School?” There was even a chart, a little tongue-in-cheek, a little bit serious, that demonstrates the learn-to-code decision. Hint: it boils down to “do you like to code?” If so, then do it!
Recently, I participated in the Hack the Curriculum workshop at ONA in Atlanta. I worked with the team that was focusing on programming and data, and there were lots of great ideas and tons of optimism about these topics in the curriculum. Follow the link to the post I did outlining the ideas that came out of that session.
And, I am currently in residence at Stanford as a Knight Journalism Fellow working on a platform to teach communicators how to code. So, of course I have an opinion on all of this. In one discussion on a post I made on Facebook, I concluded:
Journalism just needs more people who can code. If someone with a journalism mindset likes to code, wants to learn more, wants to use it for storytelling, then he or she should do that. If coding creates something we call journalism, then it’s something we need to be teaching in Journalism School. We teach things other than writing/reporting in J-School. Lots of things.
So, while many of these points have been elaborated over the past few days, here are the reasons I think communicators need to understand code:
- Coding develops problem-solving skills. One thing I have recognized in my coding classes here at Stanford is that syntax is relatively easy. Figuring out the steps to solve the problem is what’s difficult and requires lots of practice.
- Coding is an element of digital literacy. The students of today will be the decision makers of the future. A strong digital mindset will be required for those working strategically in media companies. And having an understanding of code and its capabilities will only enhance one’s ability to make decisions in a digital environment.
- There are jobs for those with strong digital skills.
- Coding supports storytelling. Just look around The New York Times, ProPublica, Texas Tribune, WNYC websites to see numerous examples of data visualization projects that enhance, supplement or stand in their own right as storytelling. I have a Pinterest board where I accumulate a few of my favorite examples of data viz.
- Coding is fun. And if you like to do it, you should explore it in terms of your own creativity, innovativeness and curiosity.
- Coding for journalists might need to be taught differently than coding for other types of jobs. There will need to be different levels of support, instruction, context and examples to teach these students. This is what interests me most in my Stanford project.
- “Coding” is also not a thing that you learn and then you are finished. It is an endless hole of knowledge, trial, error, repeat. New languages and platforms are introduced. It takes time to become familiar with a new language, but there are elements that are similar across languages. If you understand the syntax of one, it isn’t that hard to learn the syntax of another. The real difficulty is in your approach to problem solving, as mentioned above. How exactly do you break down the challenge to make something that works the way you envisioned? It’s moving something from idea to execution that is thrilling. Learning to code should be part of a lifelong learning strategy.
Don’t want to learn to code? At all? Well, you might find yourself not qualified for certain jobs that at least want you to understand HTML enough to work in their content management system. You might find yourself more confused than necessary when working on a collaborative data visualization project in your organization. Or you might not be able to manipulate and understand data that supports your own projects. Lastly, you might not have the skills and experience to move up into management in a digital-first organization.
Is all this OK with you?
I have a long way to go with my platform. I’m still looking for a catchy name for it. Let’s just call it CoJo for now (not to be confused with Cujo, even though I do feel like a rabid dog sometimes when I am trying to convince people of the need to learn to code). Mostly, I have been thinking about what I already teach, what I need to learn and how I might be able to present it. I have been watching and learning from others to get inspiration on approaches and techniques. I need to consider design and interface. But first, I think I will start tackling some of my existing lessons by creating a comprehensive tutorial template that can later be translated to video lessons and code simulations.
Who else is doing this? There are some great groups that are already tackling this issue. CodeAcademy, CodeSchool and Lynda.com are online platforms that deliver training in many of these areas. There are lots of new organizations cropping up around the country to teach Web Development, like Maker Square in Austin, Starter League in Chicago, the Flatiron School in NYC and several in the Bay Area including General Assembly and Hack Reactor.
There are some journalism-specific groups that have emerged. The Knight-Mozilla OpenNews project Source has been showcasing news app projects for more than a year. Code With Me is a great workshop started by Sisi Wei and Tom Giratikanon that has done introductory, in-person code workshops for news professionals that focus on mentoring. And For Journalism is another group that I have supported (check out their Kickstarter) and hope to collaborate. They are offering a series of modules to train news app developers. But I think there is room for a variety of approaches and levels to which this type of training can be offered.
At Berkeley, they have faculty teaching classes called Coding For Journalists and Data Visualization. Rob Quigley has taught an iPhone app development class that included both journalism and computer science students at The University of Texas. Curriculum innovation is happening, but it needs to happen more quickly and in more places. More faculty need to understand that there is a plethora of new skills with which they need to acquaint themselves if we hope to provide what media students need to be successful in the future.
I want to take some of the things that I and others are doing with small groups of students and make it available for all journalists, journalism students and faculty (yes faculty). We can’t teach 20 people at a time with the current handful of instructors and fill the need the discipline now has.
Here are some of the things I know:
- Web Design principles
- Web forms and form processing
- Responsive Design
- Chrome Inspector
- Customized Content Management Systems (WordPress)
Things I teach, but could be better:
- Ruby on Rails
- SQL using SQLite Manager
- Web Scraping using Python and Scraperwiki
- GitHub and Git
- Principles of Data Visualization
Tools that I have introduced:
Things I need to learn:
Most of these things require you to code. For some of them, it is helpful to have a knowledge of code. But an unwillingness to code at all won’t get you far with many of these concepts. You’ll notice this list doesn’t begin to cover some of the visual aspects of digital literacy like photo and video editing. These are beginning to diverge into separate competencies, but visual skills, as well as written, are still important for those moving into journalism.
There are a range of languages, platforms and tools in which (at the moment) one needs a working understanding so they can at least acquire resources and comprehend capabilities. The more I look at this, the more I think an entire academic program can be built around these skills and concepts. Some of these things can be picked up in an afternoon. Others may take a lifetime. But if you are a communicator who wants to be viable in a future that requires you to write, report, communicate visually and with data, with any hopes of moving into a role of influence, then my advice is to get on the train now and hang on for dear life. I hope that I can develop something to make this a little easier. And more fun.
Your thoughts, comments and suggestions would be most appreciated.