Editorial Note (3/28/19): Unfortunately, the topic of whether journalists should learn to code has been tainted and meme-ified as a way to troll journalists. I want to clarify that this post was in no way motivated or inspired by that movement. I published this post before the “Learn to Code” meme took off and became a way to harass journalists. I wrote it because it is genuinely a topic of interest to me.
A college friend started a company that helps children learn to code under the philosophy that coding is set to be the fourth R of education (reading, writing, arithmetic and “algorithms”). I believe it. Advancements in technology and software are disrupting industries left and right. As companies like Uber and Tesla work on self-driving cars, for instance, workers like cab drivers and pizza deliverers face an uncertain future. Fast food workers are being replaced by kiosks and digital automats, and administrative professionals like secretaries are slowly being one-upped by easy-to-use office software. But even if jobs in these industries disappear, someone will have to know how to build, manage and troubleshoot the technology replacing them. My college friend, thus, sees a future in which nearly everyone will need to know some coding knowledge just to get by.
But what does this mean for the journalism industry–the classic example of a field being disrupted by digital technology? As print newspapers die and the field embraces more data and visual-driven storytelling, many journalists are wondering if they should learn to code.
Well, should they?
The answer is not as straightforward as one would hope. As a newsroom-based journalist who codes, I’ve had multiple editors and journalists pull me aside and ask me this question. When they do, I get the impression they assume the answer is some form of “of course,” but have no idea where to start. They see it as a huge and daunting investment of time and money.
Unfortunately for them the answer is more nuanced than a simple “yes” or “no,” and it may complicate their decision-making even more. My response is along the lines of “no, well, yes, maybe, but probably not really in the way that you think.” And that pretty much summarizes the tone of this post.
Yes(ish): The case for kind of learning to code
I think all journalists should have a baseline knowledge of simple front-end coding: HTML, CSS and maybe some JavaScript. They might also want to learn introductory Python and Ruby, just to understand what they can do with them. But this is not limited to journalists; everyone should, no matter what field they’re in. As my friend from college would say, everyone should learn to code. I would add, to a degree.
I’ve seen newsroom staff with a basic knowledge of CSS and HTML take their work to the next level by enhancing video embeds, adding looping gifs to articles, and styling them using CSS. In this sense having a basic grasp of HTML and CSS is life-saving. Writers and editors who’d once “pinged” me for help doing these tasks started taking pride in leaving me out of their CMS-based creations altogether.
But anything beyond this level of programming might be overkill and a waste of time, money and resources for most editorial staff. “Coding” isn’t “a thing,” rather, it’s a reference to a network of numerous avenues and endless possibilities. One does not simply “learn to code.” There are dozens, possibly hundreds, of languages, tools, libraries and frameworks that interconnect and form a web of resources that is beneficial to multiple disciplines in multiple ways.
A decision to dive deep into the realm of coding, beyond the HTML/CSS needed to tweak a video or make a visual more interesting is a big decision that many journalists are led to believe is less nuanced than it actually is. People make coding seem easy and sometimes necessary for journalists to learn, when it’s not. Unfortunately, as the “digital shift” continues to swallow up “traditional journalism,” many people in the industry are pressured to buy into many myths about “learning code.”
Let’s break some of them down:
No: The case against learning to code
Myth #3: Learning to code is easy and worthwhile:
Starting off in this industry, I saw many newsroom developers and educators jump at the opportunity to tell curious journalists just how “easy” it is to code. “Everyone can code,” they’d say. “Just do it!” But while inspiring, this nonchalant goading can be misleading.
What these well-wishers usually don’t concede is that, sure, technically, “learning to code” might be “easy”–anyone can open a Code Academy or Lynda account–but “coding,” period, especially in the news industry, is a bigger challenge. After you’ve passed your Code Academy courses, being on the ground is a totally different story. There are protocols, workflows, best practices and standards to master. Consider this analogy: Anyone can learn to cook–it is very simple. But not everyone who learns to cook will find it easy to be a chef or even on the line of a professional kitchen. Learning the basics is only half the battle. So I cringe when I see colleagues tell people who’ve had no introduction to code, “sure, go ahead. It’s fun!”
On top of that, due to the vast nature of the world of coding, “learning to code” might lead an unsuspecting journalist down the frustrating cycle of learning things only to realize there are tons of other things they don’t know and need to learn. In this sense, learning to code often feels like taking two steps forward then one step back. Learning to code is more than completing a Lynda course for a programming language; it’s then using that knowledge to learn all the frameworks, libraries and modules built on top of those languages–and doing so on your own.
Myth #2: You can always ask for help
There is scene in the TV show “The Good Doctor,” in which the show’s star, a young surgeon with autism, knocks on his superintendent’s door at 12:40 a.m. with a list of repairs for his apartment. When the enraged superintendent questions why the doctor is waking him in the middle of the night, the young man explains that his mentor told him he could come to the superintendent “at any time” if he needed him. The mentor later has to explain that he didn’t mean that literally.
When learning to code, there are a ton of stumbles, roadblocks and very confusing puzzles to solve. People who know more about code will freely and haphazardly offer their time, help and services. I got such offers, too, and after awhile quickly learned, like the good doctor, that they were more or less polite gestures.
The truth is that learning to code is largely a solo mission with little support (free support, that is). Many freely offer help, but rarely have the time or patience for learners to take them up on their offers. Journalists, like all non-programmers learning to code, will have a lot of questions, basic questions that even a novice might find “silly.” This “curse of knowledge” (which is all too common in the tech field, as parodied in one of my favorite SNL sketches) ultimately makes learning to code even more challenging. A journalist duped into diving into coding under the claim that it will be easy with lots of support might find this frustrating and figure it’s not worth the hassle.
Myth #1: You can send a journalist to do a programmer’s job
One of my first introductions to the world of newsroom development and the data-driven journalism community was through the NICAR Conference–the quintessential annual gathering of American data, digital and visual journalists. I was shocked to see that so many of the people from the leading organizations in this field were programmers who had found themselves in the news industry, rather than the other way around (journalists who had chosen to become newsroom developers). Even through my still-developing career, almost every one of my colleagues in this field started off in computer science and programming before choosing news and journalism over a career in startups and Silicon Valley. I slowly began to realize that to succeed in this journalistic niche, I basically needed to become a developer, and not simply “learn code,” (even though I still, and will probably always, see myself as a journalist first and foremost.)
Programmers’ dominance in this field makes sense. It is easier for programmers to learn journalism than it is for journalists to pick up programming–at the level necessary to do the work well. Journalists thinking about learning to code might assume they will use their new skills at some point, but due to the prevalence of actual developers, they may not ever use them. Chances are there are programmers out there who will be better and more efficient. It’s why many newsrooms look for developers interested in journalism rather than journalists who “learned to code.” Job ads will list things front and back-end programmers ought to know well and have earned degrees mastering, and that journalists who simply “picked up coding” have never even heard of.
This is to say that simply learning to code, in the way that most journalists think of it, will give reporters a better understanding of what goes into programming, but probably won’t be enough to solve actual newsroom problems in an efficient and industry-standard way. In order to get to that level, journalists have to essentially become front-end developers in the same way that developers interested in working in news have to become journalists.
Maybe so: The case for REALLY learning to code
Aside from the desire to become a developer, there are other instances in which journalists might want to expand their programming knowledge
Fulfill a passion
Journalism teachers, recruiters and employers will ask young journalists “what they’re interested in” because journalism is a wide field with a plethora of niches (sports, crime, business, fashion, etc.). Newsroom developing and data-driven journalism are new, or newly upgraded, niches to add to the list–and they aren’t for everyone. Though, the art of coding is simply alluring to some people (like me). As its place in journalism grows, we may start seeing more journalists diving deep into programming simply because they enjoy coding, not because they feel pressured to “keep up with the times.”
Bridge knowledge gaps
I have heard of non-coding journalists who are bewildered by competitors’ work and are curious about how they can create the same things. Almost always, the initial solution they think of is to hire a programmer or agency to do the work, often overlooking more accessible resources. They might not understand just how much can be done with a little CSS and JavaScript–that the the magical moonshot piece they envision can in fact be done with mere HTML and CSS. An understanding of how code and the development process work can help demystify some of the advanced visual storytelling that newsrooms seek to master. If anything, it will teach journalists how to speak programmers’ language and aide in collaboration. The best benefit, though, is that it will save newsrooms money, as programmers, even those willingly taking a pay cut by turning their backs on Silicon Valley, are incredibly expensive.
Streamline data reporting
The biggest case for learning to code is that it equips journalists who work with datasets with powerful tools for mining the data and reproducing it for the public. Coders can build web scrapers, calculators and advanced spreadsheets using programs like Python, Ruby and R. Still, this requires a familiarity with the network of languages and tools and an understanding of which ones will help with analysis. Learning JavaScript, for instance, might not be as useful to a data reporter as learning R or Python Pandas. Journalists should assess whether they work with datasets enough to justify the work and time it takes to master programming-based data tools.
In a general sense, understanding the breath of coding is becoming imperative. At the very least, it behooves many journalists to at least learn what is out there and what the possibilities are. Before deciding to dive deeper, they should understand the network of tools and keep track of it to see which of those tools interests them. This is a better move than blindly opting in or out.