Given the fast-moving nature of technology and digital culture, journalists striving to expand their technical skills face formidable challenges in deciding what software and tools to learn next.
“I can think of at least four or five pieces of software I’ve learned that are now extinct,” says MaryJo Webster, computer-assisted reporting editor at the Minneapolis Star Tribune. “The first piece of software I really learned on was FoxPro. Do you even know what FoxPro is?”
FoxPro, a database manager along the lines of Microsoft Access, was discontinued in 2007.
“That’s what’s my whole career has been,” Webster says. “I learn something, and then it goes away, and then I have to learn something else. And that’s going to continue.”
To see how tech-savvy journalists with programming skills go about deciding what tool or coding language to learn, American Journalism Review spoke to four journalists who specialize in various aspects of computer-assisted reporting. Here are some of the strategies they recommend.
Have a concrete goal in mind.
Do you want to build an interactive map? Clean a data set? Know the exact problem you want to solve before you start Googling tutorials and learning a bunch of different tools.
“You have to know what your result will be,” says Dan Nguyen, an instructor in computational journalism at Stanford University. While there’s something to be said for open-ended learning, you’ll get more bang for your buck by concentrating on learning enough to build a single project, he advises.
“A lot of people go into learning these tools and programming to do something they can’t even imagine,” says Nguyen, who has written two books on programming. “That’s not a good way to think about it, because you don’t know if this tool is useful or if you’re using it properly.”
Webster agrees that learning on a need-to know basis is the most practical way. “Only figure out how much you need to get your story to work,” she says. “And then you use it again and again and again, and you gradually build up your skill as you go. That’s how I’ve learned almost everything I know.”
Having specific requirements for your project also helps narrow the selection of tools and coding languages.
“I’ll actually make pro and con lists to help evaluate them,” says Michelle Minkoff, interactive producer for the Associated Press. “Like ‘tasks that [programming language] Python can do,’ and ‘tasks Python can’t do.’”
Learn something you can already do.
If you’re interested in data analysis but have no experience with spreadsheets, a complex statistical programming language like R will leave you bewildered. But if you’re an Excel veteran, like Nguyen was when he recently committed to learning R, you’ll understand how it’s easier to, say, produce customized data visualizations in R.
“Whatever your tool purports to do – you have to have done that already in whatever old-fashioned way you know how,” Nguyen says. “Your tool needs to make that easier.” Connect it to a process you already grasp the foundations of, so you can understand where the improvements are.
Just as you only truly understand the power of the voice recorder once you’ve struggled for years to develop a shorthand, you’ll have a better sense of the processes you’re cutting through if you’ve felt the pain of “old school” methods. Once the mental tools are in place, you can move onto more advanced techniques.
Find a support network.
“They say the best programming language is the one your friend knows,” says Minkoff, an advocate of peer programming. “You remember some things, and some else remembers other things. When you get stuck, instead of going in circles, you get another perspective, which is always useful.”
That’s the one recommendation commonly mentioned by every journalist AJR contacted.
“If your friends are learning Python, learn Python,” says Brian Boyer, NPR’s visuals editor. It will help keep you focused, simplify troubleshooting and help you understand best practices.
If you don’t have colleagues or friends to help guide your quest, then turn to local and online tech communities, Boyer and Minkoff suggest.
Most major cities offer local meetups for popular coding languages. The National Institute for Computer-Assisted Reporting, Online News Association and Source hold annual conventions that provide training for journalists of all skill levels. Online, NICAR’s listserv and StackExchange forums have become hubs for troubleshooting and guidance for “news nerds.”
The community and user base also show how active and responsive a tool’s developers are, Minkoff says. “If someone submitted an issue with a tool, are people discussing it and responding and fixing it? Or is it sitting there dormant?” she asks. “Be sure you check that.”
Don’t become a guinea pig for developers, Webster warns. First make sure they’re established.
“Several years ago, I tried to learn R, but people told me it was complicated and slow. When I heard ‘little documentation,’ I just ran away,” she says. “Now it’s reaching a point where I think the community is big enough and established enough that I can try it again.”
Fill a hole in your news organization.
Minkoff says each member of her six-person team at the Associated Press is able to have deep specialization because colleagues spread their expertise.
“If you’re one or two people working on a project, you need to think about what skills you want your overall team to have,” she advises. “That tells you how much you need to take on in terms of breadth. The depth will enable you to do more advanced work.”
Upping your technical skills to meet your newsroom’s urgent needs can propel your value as a jack of all trades – and, eventually, as a master of one.
That’s a lesson Webster says she learned about eight years ago, when searchable databases became online journalism’s hot new thing.
“Every editor was like, ‘Put searchable databases online!’” Webster remembers. “I was the only one in the newsroom who had any data skills whatsoever. And so I had to learn how to build searchable databases online. ”
To do that, she learned Classic ASP, a now-discontinued Microsoft web framework. When that went out of vogue, she switched to newer web framework suite ASP.net with help from a friend who was willing to troubleshoot. A few years later Webster learned database platform Caspio, which requires no coding, to ease her workload.
The process repeated several years ago when data visualization emerged as interactive journalism’s next big deal. “So then it was Google Fusion Tables to make interactive maps,” she says. “And Tableau Public to make interactive graphics.”
Focus on function over form.
Style, popularity and demand are no way to judge a tool’s power or longevity. Instead, decide based on what will best help your readers understand.
“You don’t want to just do what everyone else is doing right now,” Boyer says. “It’s worth it to ask ourselves, ‘Why are we copying?’ Are we copying because it’s the fashion, because it’s what our bosses saw? Or is it actually serving the audience?”
Too often, Boyer says, it’s the former. Case in point: the word cloud.
“A lot of these fashionable things we’re producing – a shiny data visualization, or a word cloud – aren’t serving our audiences,” Boyer says. “I’m not just picking on it because I’m a snob or a typography dork. A world cloud is a terrible way to relay information. Be really, really critical when you think about how you’re showing data.”
Go with your gut.
Sometimes, though, it just comes down to a feeling.
Boyer says he prefers programming in Ruby over Python. “I couldn’t tell you why, though,” he says. “It just feels better for me. It makes more sense for me.”
Once you establish that it meets your project’s requirements, it doesn’t matter too much what tools and coding languages you choose.
“For a lot of these languages, as you start to learn more, the commonalities outweigh the differences,” Minkoff says. “So it’s important to just pick one. Get people to help you. And then you work with it.”