I first wrote this article for DataDrivenJournalism.net in July 2017. Here I am merely republishing this article. DataDrivenJournalism.net asked me to write about my journey from a computer programmer to a data journalism professor.
First computer programme
I wrote my first computer programme just over 20 years ago when I was a teenager at high school. The programme was written in GW-BASIC, and visualised a three-quarter view of a skull head, with a burning cigarette in his mouth, and the ashes falling off. I spent hours and hours in our computer lab working on this, using lines, dots and colours to create my masterpiece! GW-BASIC was the first programming language I learned. It was a terminal-based language running on MS-DOS, long before terminals, or the black background colour with white and colour fonts in IDEs became popular again.
At that time, MS-DOS ran off Windows 3.2, the first ever Windows released by Microsoft. So graphical user interfaces, mouse clicks and scrolling menus were new to the PC, and quite an exciting development, given that Macs were very expensive and not generally in use at schools. Soon after, I bought my own personal computer, with one of the the first Pentium processors, which also came with Windows 3.2. The modem was a 56kb/s dial-up modem, but I remember that the lines would give us a maximum of 19 kb/s at the very best if we wanted to use the internet. I didn’t connect to the internet on my personal computer for another couple of years, until I was already at university in late 1999 or early 2000.
The second programming language that I learned at high school was FoxPro. It too was a DOS based programme, which was both a database and a programming language. I wrote my first database queries in FoxPro, but if you asked me about the syntax now, I would have no recollection.
Some time between second and third grade at high school, while I was playing around with my skull head and writing simple programs and databases, I decided that, of course, I wanted to become a software engineer. And so I did. I studied software engineering for my Bachelor’s, as my first degree from university.
Starting a software development company
While I was studying my Bachelor’s degree, I started my own software development company in partnership with two other friends from university. One of them was studying Industrial Engineering, majoring in System Analysis, and the other, while studying a similar degree in Industrial Engineering, was an artist and a competent graphics designer. Both of them were guys and older than me. I was 19 at that time.
We started the company with pretty much nothing, but that’s a story for another time…
In our company we started with web design. We were a great combo; between us we could create websites, write HTML and CSS code, we had expertise in graphic design, a basic understanding of how manufacturing industries and businesses worked, and we had some, albeit basic, business and negotiation skills. With these behind us, we ended up creating a bunch of pretty cool websites. While we were growing, I continued learning about programming and using languages such as C++ in university, followed by other programming languages in my own time. We soon progressed into web application development. This meant we had to learn web-based programming languages too, from Visual Basic, Delphi and Java to a bit of both ASP and JSP, and depending on the client and the trend they liked to follow.
After a couple of years of hard work we managed to get a number of big clients under our belt and moved on to designing custom-based software, as well as developing our very own project information management systems. These systems later on grew to a wide package of solutions including planning, engineering, procurement, work breakdown systems, as well as a reporting and analysis dashboard, which became our big selling point.
The company was growing and not much later, we had a good number of system analysts and software engineers working for us, with a nice office in a nice part of the city. At this time, my role had shifted from coding to managing software engineers and coders.
After finishing my undergraduate studies and while running the company, I started a Masters degree in Information Technology Engineering, which included quite a lot of system design, information analysis and design, data warehouse management, and business intelligence.
During this time, we started working with a London-based company and I ended up spending half of my time in London. While I was finishing my Masters thesis — mostly remotely from London — I started thinking about doing a PhD and, naturally, looked into universities in London. At this point, my interest had shifted from pure computer science, software engineering, and programming to more human centred topics, closer to real people and societies. I was more interested in using my skills my in these areas, rather than focusing on the technical aspects themselves. Hence, I decided to do my PhD on information systems, as opposed to computer science, looking at the role of ontologies and semantic web technologies in the design of interoperable information standards.
And then, towards the end of my PhD, I became interested in journalism. How?
Interest in journalism
In the last year of my PhD, we had a guest speaker called Aleks Krotoski. Aleks was a journalist with the BBC and a columnist at the Guardian, who was finishing up her PhD in Sociology, examining how information spreads around the social networks. Aleks was also a geek — she’d co-presented Channel 4’s video gaming review show Bits and had been named one of the games industry’s 100 most influential women by NextGen.biz, and one of the “Top Ten Girl Geeks” by CNET. She was a perfect combination of academic, geek and journalist, which was very exciting to me.
At the time of her talk, Aleks had just finished a BBC documentary called the “Virtual Revolution” and she provided a fascinating view on the intersection of technology, social media, and human lives. Her visit came just after the 2009 political uprising in Iran, where foreign journalists were been expelled, and even the local journalists were under extreme pressure and scrutiny for covering what was happening in the streets. As a result, the only news that was coming out of the country was through social media. This meant I spent a big part of my day everyday on social media, trying to follow the events, make sense of them, and judge their authenticity to stay on the top of the news. Throughout her talk, Aleks used these events to show how social media impacted the circulation of news internationally.
These thoughts, along with Alek’s talk, her mixed background and work as a geek, academic, and journalist, and her non-traditional, mixed trajectory, came to change my the direction of professional life.
I knew all (well!) about social media, so much about semantic web, and I had a background in software engineering and development, but I decided that I didn’t want to spend the rest of my life being a programmer, a system designer, or a team lead on any of these. I wanted to bring my knowledge to a more humane area -closer to the people- and so my interests shifted to journalism, and particularly breaking news detection and verification. To get myself into that world, I secured myself a student job in a news organisation over the last couple of months of my PhD, and worked on their social media desk. This gave me a great insight into how news organisations, and particularly breaking news desks, operate.
However, as I was finishing my PhD, it meant it was time for me to apply for a real job! Given that my area of research was the semantic web, the Digital Enterprise Research Institute was on the top of my list, as it was one of the best semantic web research centres in the world. I was lucky that they had an opening for a postdoc right before I was finishing my PhD on the “Social Semantic Web”. What could be better, both social web and semantic web? As part of my interview, I needed to propose a topic — so I proposed ‘Social Semantic Journalism’. It was about using semantic web technologies and social network analysis techniques to link the many different social media platforms for the eventual purpose of breaking news detection, contextualisation, verification, and publication. The Institute had never had any projects remotely related to news and journalism, but they liked my idea, and offered me the job.
Science of data journalism
A few days after I defended my PhD viva, it was my 30th birthday and my goodbye party. A week after that, I packed my little London apartment into my little VW Golf, drove to Holyhead, got on the ferry, crossed the Irish Sea, got off in Dublin port, and drove straight to the small, but super cute city of Galway, where the institute was located. And, so, in February 2012, I started working on my Social Semantic Journalism project.
Soon, I put in a number of research grant proposals and started partnering with the Irish National TV and Radio broadcaster RTÉ, and ended up founding a group called Digital Humanities and Journalism (later named the Insight News Lab).
As time went on, we experimented with more and more cutting edge technologies, and I became increasingly interested in data analytics for storytelling. While social media was still my interest, I became particularly interested and active in data journalism. In 2015, I started working with the Irish Times on a secondment, where I was responsible for the R&D engagements, as well as innovation in the newsroom. As part of this I spearheaded and co-founded the Irish Times Data. This was a tremendous experience for me, and loads of fun!
In the five years after my PhD, I took my time to think about the path I wanted to take: to choose between starting a new company (again!) in the area of news and data, working for a tech company like Google, in a news organisation, or in academia. I finally chose academia, jumping on a rare to come by opportunity as a permanent faculty member of the School of Information and Communication Studies at the University College Dublin, which is where I am now: an academic in information science and data journalism, who also works as a data journalist every now and then, and advises on data journalism too.
From programmer to journalist or from journalist to programmer?
So here we are now: I started as a software engineer and I ended up being a data journalism professor. Recently, I have seen quite a few discussions about journalists who start coding, or want to start coding, or are told that they should do so. I have also seen discussions, even though less frequent, on computer scientists and programmers turned journalists. This has led to various debates on which way is better or which turn is easier.
To begin, it is fair to say that it is more likely for the everyday journalist to feel the need for programming in their work, than the other way around. Journalists want to solve specific problems regarding their lead, story, or their investigation, and they may see programming, and many other computational tools and techniques, as a tool that helps them to get to their answer. But it is quite unlikely that a programmer, in her day-to-day work, finds that she needs to do some journalism to get her programming job done.
Which one is easier? Some, such as Sarah Cohen, argue that it is easier to teach data skills and coding to journalists*, while others, such as Greg Linch, argue it the other way around**. Perhaps there is no one single definitive answer to this question. While slightly leaning to the later, I sit somewhere in the middle. I don’t think any one way is necessarily easier, as both programming and journalism are complete careers of their own, and moving on to the other comes with its own challenges and learning curve. Having said that, while one may have a knack for writing, writing in their spare time as a hobby or a second profession, coding is not something you can casually pick up a part of, even if you have a knack for it. It relies on knowledge of a large system, and constant updates and constant learning, that you can only be fluent and competent in if you are doing it full time or near full time.
This may sound difficult, but when you learn how the machine works and what the possibilities and the limits are, you can reuse that knowledge for any other new programming languages and tools in the future, even if you don’t want to be the programmer in the team.
Another factor to take into consideration when talking about the two ends of this spectrum is the foundational difference between the types of work the two groups perform on a day-to-day basis. Journalism is often about fast turnarounds, where you start something and it is expected that the end result — the story — will come out very, very soon, perhaps even the same day or no more than a week in many cases, with the exception of investigative journalism. Computer programming and software engineering, on the other hand, is often about longer run projects, and the focus is usually on the engineering work rather than the speed. The work of software engineers is expected to be focused on making sure the systems and solutions are designed in the most efficient way, will run well into the foreseeable future, and that they will be free of integration and interoperability problems, and preferably reusable. Now, which one is easier? To move from slower engineering work to fast journalism, or the other way around? I don’t think there is one single answer to this.
It is important to remember that there are many different types of data journalists, on a big, wide, spectrum, and that to be a good data journalist you don’t have to be a programmer. In his chapter on “To code or not to code” in Data Journalism: Inside the global future, Steve Doig notes that “It is true that you have much more control of all if you can programme such things [referring to scraping data, cleaning it, statistical analysis, and creating charts and interactive visualisations], but in a deadline driven newsroom “good enough for now” often is more important than “much better a few days later”.
When deciding on the best position to sit in the data journalism spectrum (journalist ←→ programmer), my suggestion for you would be to think about, and chose, your primary passion first. What do you want to become? A software engineer or a journalist? Say this would be your major. Then, you can decide on your minor.
A software engineer with a journalism interest could work as a newsroom developer, or the coder in an investigative journalism team. While a journalist with data interests or skills — note that I am not saying software engineering skills — can work on various data and investigative projects, use various tools, and code for smaller jobs that she needs in her daily work, such as scraping or not so complex data visualisation. This group can also work side-by-side the team’s programmer, as they know how far their imaginations can fly within the project’s technical limits. The two groups should learn what is available and what is possible, and should be able to talk each other and complement each other — that’s when the magic happens!
Don’t forget, this data journalism spectrum is not a linear spectrum — you really can pull the string, and many other strings from many different directions, and take this to a whole new side, inventing your own profession.
* In an interview with me Sarah Cohen mentioned “I’m surprised that people with more technological expertise and no journalism background have a lot of difficulty understanding what goes into a news report, particularly an investigative report. Reporting and editing skills end up being harder to cultivate than data skills — or at least the level of data skills needed in most journalism jobs”.
** In Jackie Spinner (2014) ‘The big conundrum: should journalists learn code?’ in American Journalism Review, 24 September 2014 “I used to believe it was better to teach journalists to program, but in the last couple of years I’ve realized it’s easier to teach programmers journalism,” Linch said.