Becoming an RSE#
My journey of becoming a Research Software Engineer.
I have always had a knack for writing software but only recently have I realized my love for it.
Thinking about it, maybe it has to do with the way I was taught programming. When I learnt how to code (in Java, C and the C++, at school), the emphasis was on algorithm development (search, sort etc.) and understanding of concepts related to programming (encapsulation, polymorphism etc.). It was never about developing a tool that serves as means to an end [1]. In fact, the only fully-functional application that I wrote back then was a hobby project [2].
After secondary school and the foundational year at college (2005-10), programming was no longer a part of the curricula [3] I followed and eventually I stopped dabbling much with it. Even though I picked computational material science (nanotechnology) as my career, and decided pursue to doctoral studies, I never went beyond Bash scripts for data processing and some Python for plotting (2013-16) [4]: it was mostly ad-hoc scripting, not reproducible version-controlled programming. This changed in 2017, when I went to Milan as a visiting student and worked with Dr. Guido Fratesi. Watching Guido work was like looking at a wizard: he would meticulously cook his scripts, take his time organize his files and folders but then conduct his simulations and generate graphs from the results (for analysis) with touch of a button. It was then that I realized why good code must be prioritized: it can seriously speed up research and make it reproducible too. Unfortunately, by then, it was a bit late for me to implement similar measures for my doctoral research work.
Nevertheless, when I moved to Leeds and took up my current employment (2018), I was determined not to repeat the mistakes. Little did I know that planets are aligning for something grander [5]. The research computing team at the University of Leeds provides extensive training and I learnt about the concept of a Research Software Engineer at one of their workshops (probably mid 2019) from the instructor. When it was being described to me, my background thought was “that’s me!” I code for research, I care for it to be robust, and I am the in-house IT consultant. This was enough fodder for me to register a place in RSE Conference 2019 (RSEConUK19).
Around the same time, I was writing a codebase to help me with the simulations that were planned as a part of my postdoctoral research project. It was while coding it that I found myself repeatedly being in the zone [6]. This made me think about the career in research even more: I discovered that I enjoy writing software that helps research more than research itself.
Maybe it is the pleasure of creating something that represents how I understand the data and processes in my mind that is beautiful. Or maybe, just being creative and expressive is the drug.
Finally, going to Birmingham for RSEConUK19 was the ultimate convincing factor: Meeting others of my predisposition (and that they were employed 😝) gave me the confidence to decide that I can replace active self-directed research in favour of the joy of helping others (help them carry out their research). Plus, I discovered new initiatives related to research software (such as FAIR and good training), the need for which resonated deep in me. Last, the diversity of the conference and the conscious decision of the organizers to be truly inclusive was unlike what I have ever seen at a scientific conference. In fewer words: I felt like I was finally home (at RSEConUK19). I immediately signed up as a member of the UK RSE Society.
By the day I returned to Leeds, I had decided that I want to be an RSE in my next professional role. However, that was also the time that I was preparing to be a father and plans to work on my career prospects were put on, what I thought was, a temporary back-burner. But then with the pandemic hitting all of us almost exactly around the time when my daughter arrived [7] and little private support structure in the UK… the temporary arrangement lasted almost till the end of 2020 [8].
So, it was only this year (2021) that I started working on the career switch seriously.
First things first, I decided to start helping with Software Carpentries and quickly proceeded to train as an instructor. Since the workshops were all being held online, this helped me gain experience with learners from Europe, UK and the US [9]. Having taught in four Carpentry workshops and helped in seven of them, I have grown a lot as an instructor and I love the feedback I receive [10].
Second, I got more involved with the RSE community in the UK (as well as in the Nordics [11]): I volunteered to help in the organization of SeptembRSE (UK RSE’s annual conference and successor of RSEConUK19: the one I loved so much). As of now (July 2021), I am on the committee helping as Chair for Diversity and Accessibility as well as helping co-ordinate the international-facing event (SeptembRSE Worldwide) of the conference. It is a bit of work, but I am hoping that it will all pay off in terms of a sense of accomplishment when September arrives.
In the spirit of Open Science and FAIR software, I have made a portion of code I developed at Leeds, available to the wider world (with plans of making it citable before I leave Leeds in a few months) [12].
Meanwhile, I have started looking for new opportunities to make the transition. I will update this blog entry once the transition is complete; stay tuned!
Update from 2022
I would say that my job-junt was very successful. I am now at Karlsruhe Institute of Technology, working on a project that entails development of electronic lab notebooks for chemistry. I am/will be working with a plethora of technologies including Ruby, Go, JS and Docker. More details in the future!
Here are my main takeaways from the job-hunt:
For RSEs:
There are ample opportunities out there. Usual ways of finding a job (Linkedin and other job portals) work well.
Decide what kind of job are you looking for: specialist or generalist. If specialist, will you learn new stuff? If generalist, do you like to learn new stuff?
Think about all aspects before applying. I got a brilliant offer in the UK which then I had to regrettably decline because I have a child. In short, average RSE (PostDoc) salary is not enough to afford housing + energy + childcare (for 2 or 3 year olds) in the UK. Thus, unless your partner is working and you are putting aside a majority (to all) of their take-home income towards childcare, your partner or you will be forced to choose between childcare and (salaried) career. I shudder at the thought of how single-parents manage in the UK.
Private companies are very different from Universities. They ask you what you want. Be sure to know that number. I find Numbeo to be an excellent tool when moving cities. Numbers about University jobs are publically available - make use of all this information.
For employers:
Job postings can be a lot better. A clear demarcation of what is expected (in terms of technical skills), especially in specialist roles, is very helpful. If you are looking for someone with a research background in a particular field, state that. For example, if you want someone with Bio + Python skills then don’t interview people from Physics + Python background unless you are serious about hiring them!
Universities in mainland Europe would do better if they can speed up their processes. Hiring in the UK is blazing-fast by comparison.
Be specific about your reason(s) when refusing a candidate, it really helps them grow a lot. “You won’t in here.” is one of the most subjective things I have ever heard.
Will my training as a researcher going to be wasted?
This is a question that my dad asked me when I told him about my planned career switch. Here’s a rough outline of my response to him:
My bachelor’s and master’s in Nanotechnology has prepared me exactly for such a job: the coursework I did was very diverse (in terms of knowledge domains). I know a bit about a lot of things: protein systhesis - yes, photonics - yes, pH buffers - yes… As an RSE, I can forsee being involved in multiple disciplines of research and actually making use of all that knowledge I have as compared to following a narrow path defined by whatever research grant I may hold. And being in an RSE role might also cater to my (latent) affinity for disciplines of applied and social sciences.
I might not make use of my very niche scientific expertise (ab-initio materials’ simulation) but that does not mean that I would not use my research skills. Research skills go far beyond subject knowledge: they include making use of the scientific method, critical thinking, organizing, processing, analyzing and presenting data and results, colloboration, training oneself/others, and myriad soft skills.
Given the current funding arrangements and availability of RSE and RSE-like jobs, there is a small possibility that I may still do something very similar to what I have been doing so far; and continue as a computational researcher.
Thanks for reading all the way through. Feedback is always welcome.