Do journalists need to learn to be programmers? Yes. And no.

 by Martin Belam, 10 May 2010

There has recently been a resurgence in the debate about whether journalists need to learn to be programmers. Partly, it seems, this has been fuelled by the announcement of a qualification that combines journalism and computer science, and partly by the way that meet-ups like "Ruby in the pub" are taking off.

Two things strike me as interesting about this.

The first is the comparative attitudes between the two professions to interlopers on their patch. I've yet to see a software developer stand up and say that "citizen coders" will inevitably devalue the work that they do, and lead to job losses and a lack of quality in the sector.

Contrast that with the statement issued on behalf of some sports journalists in Scotland galled at having to sit near 'bloggers'. Instead, tell a web developer that a bunch of journalists are interested in learning code, and it seems that the most likely reaction is "Yay! How can I help?".

The second thing is the whole premise itself - do journalists need to be able to program?

I think the ability to mark-up some HTML and understand why <span>, <div>, classes and IDs are important for CSS and Javascript is essential for anyone publishing on the web.

But my answer is that no, journalists don't all need to be able to write programs, but the ability to think like a programmer is an invaluable skill.

For example, being able to spot the difference between a small technical change that has a big impact on story-telling, and what appears to be a small change but which has a hugely expensive technical impact, is an essential skill for someone setting the requirements for changes to a website or a CMS.

Thinking like a programmer will also save you time. Programmers are notoriously lazy. In a good way. If there is any conceivable way that they can devise a shortcut for a repetitive task - they will devise it.

As a general rule of thumb, if any of the jobs you do in your day to day working involve repeatedly pressing the same sequence of keys on your keyboard, involves you cutting'n'pasting text from one place to another, or doing the same thing over and over again like resizing images, it is almost certain that investing a little time in programming a script will make that task easier.

Choosing the right tool for the job when dealing with computers is also a great programming skill to acquire. Learning Ruby or PHP or something of that nature may be useful, but often you can achieve similar results with a bit of programming logic and a spreadsheet. Tomorrow I'll have one example of what can be achieved with your regular office software and a bit of programing know-how.


This is a good post and a subject dear to my heart. I have been a software application development journalist for nearly a decade, I am married to a Java programmer and I do not have a degree in computer science. Your point about being able to "think" like a programmer is true, very true - but it's a much broader subject that this.

Good start though - an invaluable discussion.


It all depends what you mean by a "journalist". If you mean a reporter, then the answer is probably "no" (although reporters reporting on programming would do well to understand the subject!).

However, sub-editors, copy editors, production editors and editors are all journalists, too.

When I edited print publications (back in the early mediaeval period) it was a huge help to understand as much as possible about everything from the design tools used by the art editors through the prepress processes to issues related to web offset printing - not just the stuff related to writing and editing words.

Equally, many journalists operating in the online space can certainly benefit from knowing more than a little about programming, systems design and database management.

As Adrian Bridgewater has commented, it's a broad subject (and, as he adds, this is a good start to an invaluable discussion).

I was surprised when I got into photo-imaging using Photoshop 3.0 in 1996 that I would have to learn HTML. This in turn led to my learning website design. I was originally planning on working in graphic design. The mediums of graphic design and web design for me anyway are now like one. Although really one could specialize or focus in one or the other. Many lines get blurred.

What you said, Martin; I wrote about the selfsame topic a while back and very fervently believe that learning new approaches to information and technology are useful, but the amount you need to know to do something useful in a Real Programming Language is often depressingly high. Clever use of text tools and Excel - which is what sounds like is coming soon - is at least as effective. It's about learning an approach, not learning a skill.

Tom, did you ever start writing the book you suggested - “doing smart stuff with computers that isn’t quite programming but isn’t far off”?

I agree. Knowing something about programming and html, CSS, is very useful because then you know what is possible. You don't have to be expert at programming but knowing how things work means you can design new types of media.

Also, I think there is a new job category emerging "media engineer" that will combine software engineering with media publishing and that this will become a lucrative position.

I'd agree with a lot of what's in the above, but it does also depend on what type of journalism a reporter is doing.

The central benefit of journalists knowing at least a small amount about programming is exactly as you say: it suddenly makes requests a lot more realistic.

But for data-driven journalism (sometimes called Computer Assisted Reporting) it's a bit more fluid: most start out by learning some decent excel tricks - pivot table, text-to-columns, filtering, subtotals; all of which essentially automate otherwise massively time-consuming reporting tasks.

Getting further into the field is where boundaries blur: the way data journalism is taught by the Centre for Investigative Journalism in the UK (and IRE in the US) is to progress with Access, for large datasets and linked data, which leads to SQL.

At this point, is the journalist programming? Hard to say.

Either way, there is a definite benefit to newsrooms in hiring a few people with such skills: the core skill of journalism is spotting the best story in a mound of information, whether a written report or a dataset.

Having journalists who aren't reliant on others to handle data for them is an asset. I hope.

Apart from learning a couple of HTML commands - which is quite easy and sometimes can even be funny - I do not see why the journalists should bother dealing with some more complex languages like php or javascript. For somebody who is not already into programming, this could mean wasting a lot of time and efforts, even just to grasp the basic concepts of it.

@Sunny - "I do not see why the journalists should bother dealing with some more complex languages like php or javascript"

Because it saves you from tedious repetition, and means that you might even be able to figure out how to make money for your publication. For instance: what if you need to add Amazon affiliate links to every book/CD/DVD review you do? A real slog by hand. 5 seconds' work on a spreadsheet or code.

It's also about ambition - if you're going to stop trying when the story will need a bit of programming chops, you'll not get it and the person who does have them will get it. It's a tool/skill. They're valuable.

Plus it can be learnt in your spare time. Clearly you've got access to a computer. Ergo, you can learn to program. It's an additive skill - it's not as if it's taking away from other important journalistic skills you must have.

Have been straddling the journalism/programming divide for a long time now, since getting into the web business in 1996. I'm not a programmer by any means, but agree that understanding the basics of how databases work, advanced Excel skills, how to scope complexity, and some HTML is very useful for any multimedia journalist/manager/executive. But Tom's assertion that the "media engineer" skillset will prove "lucrative" may be overly optimistic :)

Beyond thinking like a programmer, journalists should also learn to think computationally. And, from an even broader perspective, we should discuss how else we can rethink our thinking about how we practice journalism.

As for specific skills, I think there's no set list that everyone should learn. My usual response is: learn as much as you need to know to best do your job -- and it's great if you go beyond that.

Computer assisted reporting doesn't have to be data-driven. You could argue that most newsdesks are doing CAR today simply because Google and other search engines are now employed on a lot of stories. When people were picking apart the DE Bill, some journalists were using diff-type tools to work out what had changed between drafts, even though the structure of the documents didn't help with the process at all.

A bit of web-spidering programming and curl can be very effective in doing more advanced searches that would need an awful lot of clicky-clicky if done by hand. And gutting 10Ks/10Qs and other financial reports using scripts can make it a lot easier to work what's happened with restatements.

When it comes to scripts for web publishing, you have to take into account the reaction of IT support when the idea of automation comes from editorial. If you want to make them turn white, suggest using scripting to pull the information from a Word document instead of copying and pasting fields time and again. In my experience, very few of these people have any interest in making this process more streamlined, they just assume that automation just means more support time for them.

What's worse, they seem to buy CMS and other tools that actively resist any form of useful automation. Rather than using something based on standard HTTP, they choose Java-based systems that force the editors to spend their lives hitting Ctrl/Cmd-C and V all day.

In my opinion, every specialist should try to understand how a database works, what is javascript, HTML and in the same time to "think" like a programmer. Nowadays when everything depends on the computer, if you want to be among the best you have to know a little about everything:)

@Charles OK, I agree. It makes sense when you put it into that perspective. Even more considering that the code for adding affiliate links need not be written from scratch - there are always some libraries available for whatever programming purposes. Still, it might not be an easy task for some not so tech savvy people.

"Thinking like a programmer will also save you time. Programmers are notoriously lazy. In a good way. If there is any conceivable way that they can devise a shortcut for a repetitive task - they will devise it."

I'm sorry, but journalists are also lazy. When you know an topic in-depth, where there is a large amount of misinformation, you so often see the same lazy article churned out again and again by people who can't be bothered to do their research!

Apart from learning a couple of HTML commands - which is quite easy and sometimes can even be funny - I do not see why the journalists should bother dealing with some more complex languages like php or javascript. For somebody who is not already into programming, this could mean wasting a lot of time and efforts, even just to grasp the basic concepts of it.

Journalists need to have a basic understanding of html (to work with web publishing) but beyond that I don't see any use in them understanding "computer science" per se unless they are into "information technology based" technical writing. Yeah, it's a good point that men/women who are in journalism need to be able to think like programmers to improve their productivity with posting articles.

I think online journalist must know a little bit HTML. However, I know that a lot of articles written are published in reality by "geek guys" from newspaper, after a little bit coding / corrections in the draft from the author.

I don't think journalists really need to learn hardcore html. Just the basic ones such as hyperlinking, image linking, text size, etc.... the basic stuff. However, it is necessary for everyone to be web-savvy nowadays to prevent themselves from being out-competed.

With the media shifting towards the online scene, it pays to have some basic programming skills.

"Programmers are notoriously lazy. In a good way. If there is any conceivable way that they can devise a shortcut for a repetitive task - they will devise it."

Sometimes, you have to be lazy to be more efficient. :)

I must say i had a big smile on my face when reading this post :-)
Not sure if that was your intention, any way i dont think journalists should learn programming, im sure there is lot of editors of the type WYSIWYG (what you see is what you get), so learn anything but basic css and html is unnecessary.

We're in the digital media age, html fluency (not full-on programming) should be mandatory.

For sure the minimum html commands (href, imgsrc) should be familiar to even apprentice journalists. From there on, the more you know, the better you will communicate with your colleagues (editors, support staff) to convey your understanding of how your content should be displayed on a digital media.

Is this a reflection of the industry? Are there still journalists out there who solely work in print journalism? I'd be interested to get your insider knowledge.

You are absolutely right! I've been working as a newsmaker for five years and during my work I often face with programmers. And I had to learn simple PHP methods because all the programmers are lazy and it's horrible to ask them to do some simple thing - it's easier to do it by yourself.

Not only for journalist, in this globalization era, most of people are involved in high competition job level. If you can provide something "more" than your competitors, it will be essential to stay on top. But to answer the question, do journalist need to learn to be programmers? no, journalist still have their main task and should be focused on it.

Well I'm not a normal journalist, but i'm a blogger with journalistic articles. Sot thats the reason, why i had to learn html and "simple" php. The more you have to do with internet, the more you'll need simple programming systems. But not too much, cause people who changing sourcecodes are very dangerous

Keep up to date on my new blog