Our World in Data now has stable funding for the next 4 years, so we're looking to take on more programmers. In particular:
- A frontend developer with a good sense for visual design. If you're having lots of ideas right now about how to make this blog nicer, we want to hire you!
- A node.js developer with a good sense for data architecture. If using automation to build one of the most extensive collections of cross-country data in the world sounds exciting to you, come work with us!
You can find all the details about the positions in the links above. For the rest of this post I want to talk a bit about my own experience with the project, and why I think you should work with me. I'm the lead developer (Jaiden Mispy) and I've been involved with OWID since March 2016.
Our World in Data is a non-profit, creative commons web project based at the University of Oxford. We write articles about a bunch of topics from a long-term perspective: global extreme poverty, fertility rates, income inequality, polio, climate change, and so on. Our role is basically to act as a gateway between the scientific literature and the rest of the world, presenting information in a way that is understandable by non-specialist audiences while still being rigorous and in depth.
Somewhat surprisingly, we've been successful at doing that! From what was originally Max's personal project from 2012 onwards, we've grown to become a proper team of researchers, writers, and programmers. We've been covered pretty widely by the media, and had some cool collaborations on downstream projects like this video on overpopulation by Kurzgesagt. Max now has a huge number of Twitter followers and we are able to support ourselves financially with reader donations and a grant from the Bill and Melinda Gates Foundation.
We do a lot of our work through data visualization, which is where programming comes in. We have a big database with some 60,000+ variables imported from many different sources. Our authors then use our chart authoring tool to take that data and create an interactive visualization to embed, like so:
By reading this chart and using the interactive mouseover, you can quickly come to know some important facts about the world:
- As of 2015, about 1 in 20 of all children die before the age of five: a tragic loss of life on an immense scale.
- There is a lot of regional inequality involved. We see that the child mortality rate as of 2015 is highest in Africa and lowest in Europe.
- Finally, we see that this problem was much worse in the past. In Asia, the child mortality rate has dropped from a quarter in 1950 to 3.52% in 2015.
Take a moment to think about what those numbers mean in human reality: the millions upon millions of lives involved, both lost and saved. It is sobering. The hope is that we can help in some small way to prevent such tragedies by collating research into their nature and causation, and this motivates much of what we do.
So, how does this visualization look under the hood? Essentially, it is a "window" into our database defined by a JSON configuration. This configuration is created by our chart editor and specifies what kind of visualization, which variables from the database to request, and which countries ("entities") should be shown, along with any text annotation. The config and data are then given to my little visualization engine (written in TypeScript, based around React and Mobx) to create the final SVG result.
If you see the "Add country" button in the bottom left, that works by locally altering the JSON config to change the specified entities, kind of like a mini version of our chart editor. Combinatorially speaking, the number of potential states that embed can be in is vast! I think it's something like 2×1029. If a picture is worth a thousand words, an interactive visualization can potentially be worth a thousand pictures.
This big database and visualization system grew organically as we needed to produce lots of charts very quickly. Now that we have both long-term funding and all this data lying around, there's a lot more we can do with it-- which is why we are looking for more programmers. For example, some projects we have planned:
- Build a public visualization interface for freely exploring the full database (not just individual embeds)
- Create a searchable list of all of our content by topic: entries, blog posts, interactive and static visualizations
- Make nicely-designed pages for individual countries going over their progress towards the Sustainable Development Goals
- Implement a bunch of new types of interactive visualizations: stacked bar charts, cumulative distribution plots, Sankey diagrams
- Automatic detection of outliers and other interesting data features across the entire database
- Release our visualization frontend code as a standalone JS library on NPM for others to use (it's already open source, but needs cleaning up)
I'm pretty excited to work on those, and hopefully you are too!
Working at Oxford
Well, I say "working at Oxford", but in my case I really mean working from Perth, Australia. Our team is distributed around the world and we communicate via Slack and Basecamp. However, I've been to Oxford to visit a couple of times and I'm planning to move there! If you're physically nearby it is a lovely city/university to work at (it's hard to tell where the university ends and the city begins), but remote work is also possible.
OWID being based out of the university has an interesting implication: we aren't primarily a tech organization. We're not a startup and there's no venture capital involved, our founder is a social scientist, and most of the team are academics from various fields. This makes working here a very different experience compared to my previous jobs, where I was mostly surrounded by other programmers.
What this especially means for the programming team is that our coworkers are also our main users. Max and the others have just enough programming experience to understand that programming can be quite hard, and they are very happy to have other people around to do it for them. I find this is a satisfying position to be in, where much of our work is about making other people's work easier in a tangible way. Everyone is really nice!
Our other users, the readers, also tend to be quite lovely. Though there's the occasional inevitable internet negativity, the feedback we get is often a stream of happiness like so:
From feedback, we know that our work is used in lots of different ways: by journalists, professors, school teachers, charities in low-income countries, and even one or two psychologists who have included global development data in therapy sessions (we were very surprised about that one!).