Advancing research software in the UK through an SSI fellowship


I have been selected as part of the 2020 cohort of Fellows of the Software Sustainability Institute!

The Institute cultivates world-class research with software. It’s based at the universities of Edinburgh, Manchester, Southampton, and Oxford in the UK. Their motto says it all:

Better Software, Better Research

The SSI has a yearly fellowship program to fund the organization of communities around scientific software (creating of local user groups, workshops, hackathons, etc). Even more importantly, they organize several events to get current and past fellows in the same place doing awesome stuff. I’m really looking forward to this year’s Collaborations Workshop (registration is open to all, not just fellows). I applied at the end of last year and was selected to join the 2020 cohort of fellows along with some truly amazing people.

My plan for the fellowship is to run some Software Carpentry workshops in Liverpool and to develop lesson material for transitioning from coder to open-source software maintainer (based on our AGU workshops). These workshops will be a good way to connect with the local Python user groups. I’m also hoping to connect with other geoscientists interested in software around the UK and Europe at EGU 2020.

The application for the fellowship was the most fun I’ve ever had applying to something (no tedious cover letters). We had to make a 5 minute video about ourselves and our plans. The SSI even provided a guide for recording a screencast which was really useful. This was my first stab at making a screencast and it turns out to be a lot less painful than I expected (apart from hearing my own recorded voice).

I put my application video on YouTube including captions based on my script for the video. YouTube made this really easy to do: the text is automatically synced with the video (the joys of tensorflow, probably), so you don’t have to add time stamps or anything.

Hello! My name is Leonardo Uieda. I’m a Lecturer of Geophysics at the University of Liverpool. This is my application for the Software Sustainability Institute’s 2020 Fellowship program.

First a bit about me. I’m originally from Brazil where I got my Bachelors, Masters, and PhD in Geophysics. My first contact with programming was as an undergraduate student and I have been hacking on one project or another ever since. My Bachelors dissertation project was the development of an open-source software tool called Tesseroids for modeling gravity data in a global context. This software went on to be used to process and analyze data from the European Space Agency’s GOCE satellite mission. During my Masters and PhD, I started the Fatiando a Terra project (which is portuguese for Slicing the Earth). It is a collection of Python tools for geophysical modelling. The initial motivation was to build the tools that I needed for my research and to allow others to reuse my work. Nine years later, Fatiando is now the foundation for most research done by my former lab. At the lab, I also started a culture of publishing the code associated with our papers on Github and figshare, which the lab has continued to do ever since. As a professor at the State University of Rio de Janeiro, I used open-source software tools, like Fatiando and Jupyter notebooks, to teach geophysics and computational thinking. I went on to a visiting researcher position at the University of Hawaii to work on the Generic Mapping Tools software (or GMT for short). GMT has been around for 30 years and is now a crucial piece of infrastructure in many areas of the geosciences. My original job was to develop a Python interface for GMT. In the end, I also overhauled the development process by bringing GMT from a self-hosted subversion to Github, configuring continuous integration, adopting a code of conduct, and pushing for more emphasis on usability and documentation.

So what have I been up to lately? In August 2019, I joined the University of Liverpool in the UK as Lecturer of Geophysics, where I’m establishing the Computer-Oriented Geoscience lab. My main goal for the lab is invest in open-source software and train our members to participate in open-source communities. I’m a topic editor for the Journal of Open Source Software (JOSS) and I’ve recently registered as a Software Carpentry instructor. In the past couple of years, I have gotten together with a group of like-minded geoscientists to organize an open-source software initiative at the American Geophysical Union. We seek to elevate the role of software within our community by organizing discussions, tutorials, and sessions around open-source software.

If I’m awarded the fellowship, I plan to work towards three main goals:

First, I want to bring together a local group at the University of Liverpool to share knowledge, tools, approaches to science, and organize workshops, like Software Carpentry. There are some isolated groups developing research software around the University and my goal would be to bring them together. This would include giving talks in other departments about software development best practices, reproducible research, and how to get credit for software work through JOSS.

Second, I will connect with other UK and European geoscientists who develop open-source software to discuss the creation of an open-source initiative at the European Geosciences Union. Their annual meeting gathers 10s of thousands of geoscientists from the UK, Europe, and the rest of the world. The same issues we have been addressing within the American Geophysical Union, like recognition for software work and publishing software tools, also need to be discussed within the EGU. An exciting possibility would be to establish a partnership between JOSS and EGU journals to promote the publication of high-quality software.

Third, I will work to fill in the knowledge gap between the basics of coding (which are well covered by Software Carpentry) and the day-to-day practices of most modern open-source software projects. Things like setting up continuous integration, reviewing pull requests, structuring documentation, and packaging are very challenging to learn but not usually taught. Often, scientists are not even aware that these things exist. At the 2018 American Geophysical Union meeting, we ran a workshop covering these topics. It was sold out and the feedback we received from participants indicates that there is a lot of interest in learning these skills. With the fellowship I will work on generating a Software Carpentry-style lesson out of our workshop material. To test and iterate on the content, I’ll run one or two workshops at the University of Liverpool or another UK institution.

To reiterate, my plan is to establish a local community in Liverpool, discuss the creation of an open-source initiative at EGU, and create educational materials to fill the gap between novice and expert coders.

More than any amount of money, the most important thing I have to gain from the fellowship is the connection with past and current fellows and the institute as a whole. What I have come to realize is that coding is just the tip of the iceberg. The most challenging part is nurturing and maintaining a healthy community of practice. The SSI fellows are an amazing cohort of experienced communicators, open-science advocates, and passionate members of the UK software community. I have much to learn from everyone and would love to work together to make UK science the best it can be.

Keep posted for more information on the fellowship activities and reach out if you want to get involved!