code

What is Full Stack Journalists?

Full Stack Journalists is a group of students and professionals devoted to developing our skills and building news apps together. We want to use our group to build reusable curriculum ‘building blocks’ to build news bots, news apps, and full‑stack web apps. We work directly with newsrooms on projects, and we want to hold a virtual bootcamp for students and educators who want to learn skills and start their own FSJ chapter.

Why Full Stack Journalists?

Many newsrooms don’t have access to the skills to quickly develop a mobile app, a news chatbot, or other things that will help their organization thrive in their community and hold the powerful to account. Even more than the skills, most newsrooms lack basic project management practices needed to do digital projects – things like Agile, project boards, and version control.

Many journalism students are not getting access to the skills they need to distinguish themselves in the job market and get a shot at being a working journalist. Tweeting and spinning up a Wordpress site isn’t enough anymore.

Three Hours, 12 Students, 15 Websites

On my first day teaching digital journalism at Boston University, I opened class with a mix of 12 graduate and undergraduate students by telling them that in the next three hours, we were going to spin up 15 websites, three project management dashboards, and a team Slack workspace.

They had just filled out an assessment in which eight of them ranked themselves as having ‘beginner’ digital skills, and many who listed themselves as having no experience with HTML or CSS.

Despite that, spinning up the 15 sites – one for each student and three team project sites – actually only took an hour; in the next hour and a half, they worked in three teams on a breaking news exercise, in which they used the project management dashboards and Slack to fill one of the newly-created sites with photos, video, and text.

Throughout the semester, they would file issues in Github and use 360 cameras; they’d learn some HTML and CSS, and starting a Wordpress site from scratch would be no big deal to them.

However, I knew that there were skills that we weren’t covering in class – skills that would distinguish them in the market for internships and jobs, and skills that I believed might help them hold the powerful to account and connect citizens to their communities in new ways.

New Basic Skills: Version Control, Agile, Frameworks and App Templates

Most of my students did not know what Github or a version control system was. Some had knowledge of markup languages like HTML or CSS, but few had any knowledge of actual programming languages like Javascript, Ruby, or Python.

However, I believed that the skills they needed to do simple but powerful projects – like the Hurricane Harvey Senior Homes Tracker, an embeddable app that let newsrooms share the task of updating the status of senior care facilities in the wake of the hurricane, or the Trollbusters Bot, a newsbot – were not beyond their reach.

Powerful frameworks like D3.js for data visualization, or Rails for database-backed web apps, were becoming easier to use. The New York Times, Washington Post, and NPR, all went further, publishing app templates1 that made it easier for them to spin up a new app – and making those available via Github. Why couldn’t we try to make our own?

Furthermore, project management techniques from the tech world, like Agile, and ways of sharing knowledge about how students encountered and solved tech problems through an issue tracker – were already proving successful among my students, helping them do more ambitious projects and push through problems rather than abandoning a tool or a feature when they got stuck.

We didn’t have time to teach these skills in class – but what if students, instructors, and professionals could work together to find the best way of learning them?

With that in mind, I worked with a graduate student, Samata Joshi, to put together an informal working group of students and instructors, which we called Full Stack Journalists, and we held our first meeting on February 20, 2018, at Boston University.

Begin As You Mean To Go On

For our first meeting, we had three objectives:

  1. Agree that we would research a code of conduct specific to our group, one that reflected our core values of openess, egalitarianism, and support for those at every level of technical skill, but especially for absolute beginners. Many of us had been watching the #metoo movement with both interest and hope, and we agreed that we wanted to start our own organization out at the highest levels of integrity, and ideally create a culture we could be proud to pass on to future members or even chapters.
  2. Every participant would leave their first meeting with a basic working set of developers’ tools on their own machine – in this case, they’d have the version control system Git installed and working on their machine and a text editor of their choice, along with a free Github account.
  3. Members’join’ by making a pull request. Now that particpants had a working set of tools, they could ‘clone’ our group’s repository, add their name to a text file listing our members, and ‘join’ by issuing a pull request, which was then merged into the group’s repository – a neat way to make it official that also showed that all their tools were working successfully.

Do Real Work

Initially, I thought our meetings would be a bit more like demo sessions where we showed how to do things like set up a simple Rails application, or use a framework like Reveal.js to do cool responsive slideshows. But we were quickly approached by newsrooms and teams who wanted our participation in data journalism and digital projects. In discussing it, one of the students said, “If we have the chance to do real work, we should do real work.” This quickly became our motto: Do Real Work.

1. NYT app template, Kyt: https://github.com/NYTimes/kyt and NPR app template: https://github.com/nprapps/app-template