Published 26th July 2024
Can you introduce yourself?
I’m Jamie Quinn. I’m an RSE at UCL in the central team and until tonight I will have been a trustee of the society. I spent two years volunteering there. I was in charge of communications for a little bit so I handled the newsletter and Twitter and I I’ve also been a big part of the membership subgroup which just deals with the kind of general day-to-day running of the society from the membership side, and I’ve also just this year been helping to organise the EDIA and the role diversity working groups. So I think that has been actually the real highlight of my volunteering experience.
Can you describe your background and your current role?
My background is reasonably typical for research software engineering, in that I was a physics & maths undergrad and did an applied maths PhD with lots of computational pieces. That was in solar physics, but I suppose a little bit more modern is that I came straight from a PhD into research software engineering. Which I think is certainly much more typical now, but seems that wasn’t the case because the job just doesn’t exist at the same scale previously.
Why did you pick RSEing and how did you find out about it?
I’d always wanted to be a programmer, I wanted to work in games for a long time and so in school I learnt C++ and I did some Python as well. This was Python 2.5 I think, and then I went to undergrad: I did computing for a year but decided that wasn’t really for me. I liked the maths and physics, and actually I felt good enough at programming that I could still just do that on my own and that’s true for many folk especially researchers.
So then I did my PhD and enjoyed the HPC element of it so much, I really love working with GPUs and with these big systems, and the kind of interesting challenges associated with programming these systems. That was when I found out about the society and the RSE community and just the fact that it was a formal job. And that would have been 2019, I was getting to the end of my PhD I was like “yes, this is what I want to do, this actually is what I want to do”, and so when my girlfriend got a PhD position at the Open University which is in Milton Keynes. I was looking around London, Milton Keynes these kind of areas and UCL just happened to be hiring four RSEs at that time and I managed to get one of their positions
It really was just that kind of; I love programming; I happened to do some research, but ultimately software was kind of what I’d always seen myself doing.
When did you first hear the term RSE?
I think it was probably 2019. I can’t remember why or where though.
What’s your favourite thing about being an RSE and your favourite project?
So ironically actually my favourite thing that I do as an RSE is teach. I really love teaching, I love developing materials and thinking how best to teach folk what can be quite tricky concepts.
My favourite project was probably one of my earlier projects, it was totally green-field, we were developing a Python package to knit together different types of bathymetry and topography data sets. It was just a really lovely project, I really enjoy working with this colleague, and it was just one of these nice little projects that had a good start and a good end, and it just all went really well. The technology was not anything spectacular, it was just a nice little Python package, but it was fun.
What’s your least favourite thing about the RSE-ing?
My least favourite thing, at the moment it’s probably something funny to complain about, is our sheer level of demand. And ultimately it means we are speaking to anyone in any RSE group, it seems like everyone is struggling to say no to really good opportunities, really interesting work. As a result everyone’s just a little bit overworked, a little bit overloaded, a little bit overcommitted. We can’t hire fast enough and yeah I think that’s my one gripe with us is that we have managed to get over the academic model of just overloading ourselves with stuff.
I chose this role because I really love the diversity of the work and I love exploring new things. So unfortunately, when new work comes in I’m never like “oh I don’t want to do that”, I’m always like “that sounds really interesting to get into”. And so you end up being like “yes yes yes” and then you’re like oh when do I have a break again.
I really understand that, and especially being part of the academic system even if there is demand, you have to make so many case studies for the fact that we need more and I don’t know about you, but in our university it’s almost seen as the lesser route and so they don’t want to give us more money. Have you had any experience of anything like that?
No, actually but that is I think a place of privilege being at UCL where I think James Harrington in particular has been very good at getting buy-in from academics, who have acted as as champions of us, and so we’ve had just good buy-in from all across the the university and I think as a result we’ve never struggled to make the case for hiring. However we have just struggled to actually hire people, to get enough CVs and to get enough people interviewing, and to say yes to enough people. I suppose that’s a factor of being in London where you know the salaries that we provide, because of the university’s grading system, they can’t be as high as anywhere else in London that you’d work in tech. So I suppose we do struggle to hire.
Is there anything you’d say or suggest to do to get that outreach in, and get those people to understand what exactly we do as a department?
I think it’s probably the fact that COVID happened, that we haven’t been as good as we used to be at; going out to people, meeting people in person, going to departments and setting up little stalls that say “look this is who we are”, going to other people’s meetings, going to other people’s seminars.
I think that was one thing that we used to be good at and now it feels that we’ve lost, just that priority I suppose. Again it’s not always useful because that turns into more work, that we don’t have enough people to support. To develop all that recognition comes with a kind of cursed cost where we just can’t facilitate the requests that come off the back of it. I think the people who hold the purse strings, the PIs, the middle management, these people are all very crucial to that journey, to getting buy-in from other people to really be viral in spreading the importance of having research software engineers, and people good at research software engineering.You know you have your seed PIs, you have your academics that are high up enough that they’re making impact and also they just happen to be doing enough computational science that they really get it, and then they can share it with people who maybe haven’t been exposed to computational stuff as much but could still use it.
What is the most unexpected part about being an RSE?
For me, I don’t know if this is just unique to UCL, but it’s the amount of things that aren’t coding in a project. Things like project management, meetings, liaising with people, checking in with stakeholders, colleagues or collaborators.
Is it a positive thing?
There’s a balance right, I think it’s very easy to go overboard, or maybe be overloaded with a lot of the admin and bureaucracy surrounding a project. I think good project managers or colleagues that have done it for a long time, can provide a lot of good guidance on how to navigate the bits that are coding, the bits of projects that aren’t coding. But it’s a challenge, and it’s a really odd skill to learn. Only now I think my colleague Sarah Jaffa is really pushing having project management as a core part of what we teach ourselves in the community.
I think the weirdest thing about being an RSE is definitely the fact that we should be treating ourselves like tech, but because we’re in an academic system we often don’t. Roles such as pure project managers or scrum masters. Those things are kind of seen as unnecessary, and as you try and go to higher-ups and say “we need these things”, they’re like “what are they giving us back” and it’s almost like having to explain to them that nothing directly, but if you can get everybody to work just that bit more efficiently, you’ve got your money back from hiring this person, but it’s hard to explain.
Did you already have any interactions with the RSE society or the RSE community?
Yeah, I was on the slack before I formally became an RSE and was making very good use of the community and the resources available at the time to improve my software. Actually, probably one of the best resources was the SSI. I mean I remember looking at that and being like Jesus there’s a lot of stuff here and I don’t know if the website has become more, I don’t know what the term is because it’s not like it wasn’t unfriendly, but it’s just lots of stuff. And there’s a reason there’s lots of stuff, it’s good stuff, it’s good resources and lots of it’s just linked to other things, that then linked to other things, so there’s just this web of RSE resources.
I know who SSI are, software sustainability institute, but I’ve never actually explored the website. So could you give a bit more detail to what they do?
I’ll try because the SSI does a lot of different things. Their primary goal is to lobby for the importance of RSEing. To make sure that both in university policy and in national policy, funder policy, all these different areas that affect research software, that making sure that research software is noted as a significant part of research and an important part that should be funded and ensured that it’s in policy. As well as not just for the research software itself, but as well as making sure that RSEs and the role of the RSEing is recognised, can be included in grants, can be REFable. These kinds of things that may or may not help with progression for RSEs and it certainly helped with just formalising the role within various types of institutions. There’s a lot of work surrounding this, the fellowships that fund various pieces that people want to do, and they have their massive resource bank of just good checklists for your software making sure it’s tested and has good enough documentation, and everything else. I probably forget some things that SSI do, but those are the things that stick in my head as the really important work that they do.
Do you see yourself as an academic, a researcher, a software engineer or a technician? If you do, do you feel like you’re all of them or something else?
That’s interesting because I often describe what I do as an RSE as probably about a third teaching, a third software engineering for research and a third actual research. And I don’t really know where the line is between me doing software engineering for research, and me doing actual research, because these things I think are vaguely interchangeable that somehow there’s a distinction to me.
What do you see your likely future career path being from here what is your ideal career path?
I would love to be an RSE forever, I’d love it and till the day I die, maybe beyond.
But honestly I’ve no idea what that looks like, because it’s almost entirely dependent where I live. And although there are many remote RSEs, I think actually it’s a really strong career for someone who wants to perhaps be entirely remote, I know plenty of people who say at EPCC are completely remote, I know the ICCS they I think all of their staff are completely remote, I don’t know if they have an office. I know lots of I know lots of Exeter seem to be very remote and obviously folk get together you know several times a year, or every quarter or something, I don’t know. I think if I could live on my little croft in the north of Scotland and tend to my chickens and then go away and do some research software engineering, that seems like my ideal life.
I was talking to someone earlier, they work for the National Oceanic Association, also part of the British Antarctic Survey and they were telling me about how they were working for about a hundred days in Antarctica and I was like “that’s a cool place to go”. Then they also went to Costa Rica so you could definitely find a place like that if you were interested in that.
In your view how could RSEs be better supported in their work? What do you need and what is missing?
For me I think RSEs could be better supported with people who compliment the more technical skills of RSEs, so I know I’m good at programming, but if I ever have to organise an event, or if I ever have to actually like properly manage a project (especially if it has more than four people involved) it just all falls apart. Of course you can get the experience to do these things, but it feels like an easy win is to make sure there are good project managers that understand research and research software engineering. They don’t have to be technical I think, but to understand the field well and to really be able to change their own and adapt their own project management practices to fit not just the field but individuals within the project. Because obviously you know every PI does things differently, and every project is different to a certain extent.
I think having community managers, people who are really good at comms, people who are able to keep a community connected and who know what tools to use when you’re organizing an event. How to send out emails, how often to send out emails, all these little things that take ages to actually learn how to do. But if you have one person that can support a team of RSEs in doing that, I think that’s fantastic. I think that’s maybe the part that is still undervalued, I don’t think by RSE teams but the people that RSE teams have to say “look this is why we need this person, please give us these types of people, you know the people that do compliment the technical skills”.
What advice do you have for individuals looking to start a career in research software engineering?
I think this very much depends where someone’s coming from. I think just be open to ideas from the other world, I know many software engineers that struggle to adapt to how fluid research can be. I struggled to be open to the concept that some things that are considered very good practice and necessary practice in enterprise software, or bigger pieces of software, can slow down innovation in a research project to a very detrimental degree. To know the time and place for different practices, when they’re appropriate or not. And that comes with experience, it comes from talking to experienced research software engineers, it comes from talking to researchers, meeting researchers where they are, and on the other side it is coming from research.
I think there is great value in learning the fundamentals of software engineering. If you are an RSE who’s transitioned from research (and coded a significant amount of stuff). Unless you’re part of quite a big collaboration, that is really engaged with lots of different types of practices it can be easy to not know what you don’t know, and so I think to really seek out things that you don’t know, practices you’ve never used before. Even beyond that more fundamental things like data structures and algorithms, big O complexity and all these things that that computer science folk learn in their first year. I think that those kinds of fundamental things serve every RSE at some point really well.
Is there anything you’d recommend for people to look at?
I would say the SSI website, there’s the RSE toolkit as well. Those are two great resources to start with if you start with those, and you start to digest the infinite complexity within both of those projects.