Journalism and computer science — at first glance, the two fields don’t seem like they would have much in common. But I’ve found that they overlap more than one might think. I’m currently a rising senior, studying computer science at MIT; on the side, I edit my school’s student newspaper. And this summer, I’m interning with WaPo Labs on the software development team.
Over the past year, I’ve found numerous opportunities to use both journalism and computer science together, whether it be through my internship here at Labs, creating interactive features in order to present interesting data for my school newspaper, or writing web scrapers to more effectively aggregate data for a project. And what I’ve discovered through this unlikely merger of interests is that the two fields are not as disparate as they might appear — in fact, both groups could benefit from the experience and approach of the other.
What can developers learn from journalists?
1. Knowing people: Journalists rely on knowing people. They depend on personal connections for news tips, sources, and prioritizing what to cover. Software development is very much the same way: a project carried out by a single person without incorporating outside feedback rarely becomes successful. Just like journalists, developers need to connect with others to find inspiration for new products and collaborations. Developers should be comfortable asking people questions about their ideas, as well as sharing their own in the spirit of collaboration.
2. Asking good questions (or at least recognizing a bad one): Much of the success of a journalist lies on his or her ability to ask the right person the right question in the right way at the right time. The evolution of software development is rapid, with new tools being created every day. Knowing how to find and use new resources requires knowing how to ask the right questions, and the basic questions that drive journalism (who, what, where, why, and how) are a great place to start.
3. Keeping things accurate, succinct, and up to date: Journalism is all about disseminating information accurately and succinctly. Software developers have to do the same thing, but with code in place of stories. Nothing is more frustrating than being handed a messy code base that lacks comments about its purpose — or, even worse, comments that don’t accurately represent what the code does. Journalism’s emphasis on writing accurately, succinctly, and keeping information up to date are great tenets to consider when writing and documenting code.
4. Not being too attached to the first draft: It’s always tempting to write code that makes something “just work.” And a lot of the time it does work… until new features have to be added or another person has to work on the code. Journalists write, rewrite, and restructure articles — especially when new information becomes available. Developers should be open to rewriting and refactoring sections of code, especially when new features need to be implemented.
5. Getting and taking feedback:Being edited isn’t always easy, especially if an article has taken hours, days, weeks, or months to put together. Most articles will get edited by multiple people before going to print — and, generally, as more experienced writers and editors go through a piece, the better it will get. Developers can go through a similar process with code reviews. Get more experienced developers to walk through a code and comment on or edit it before you deploy. Incorporating others’ feedback is a great way to learn, and passing on feedback to others can improve an entire project.
6. Sticking to style guides: Most news organizations follow some kind of a style guide to keep design and content consistent. Developers should use a document similar to a style guide, especially when working on large projects. A “style guide for developers” could be as broad as following a standard design pattern or as specific as ensuring that all variables need to be in camel case instead of hyphenated or dashed.
With the rapid growth of digital news and news technology, journalists and developers will more often find themselves working together as a team. Being able to find the lessons in one field and apply them to the other will foster better collaboration and communication, resulting in more innovative products, not to mention a smoother work environment for all.