Published 3rd June 2024
Can you describe your background and your current role?
I have been a web developer since the dawn of web, and I also a co-founder of a software-as-a-service company called Hypersay. Last year I decided that I wanted to do something that is more impactful. I knew that the my work benefitted the world, Hypersay was a digital events company and a lot of carbon intensive travel was avoided. Yet, I wanted to see if I can pursue something more academic, the main idea being to do something around green software. A side job as a teaching assistant in the School of Management in UCL gave me the opportunity to help with research in a project that assessed if crypto platforms, blockchain platforms in general, are indeed as distributed and as decentralised as they claim to be.
This developed software for research, and I liked it. I looked around for a place where software developers are the main characters, the super-heroes, not sidekicks. And I learned that was is something called “Advanced Research Computing” at UCL. I didn’t know what a “research software engineer” was, but I liked the idea a lot.
My background is a web development. I created the first website in 1997. And since then, I was with the web, with all the good things that happened and all the bad things that happened. I witnessed it being transformed from something that was democratic and open to something which is now in the hands of a few companies and so on. A lot of joy and lot of frustration at the same time.
So, you said, I think you then tried something that you wanted to do something greener. Is there an aspect to the research software engineering that you see at the moment, that isn’t that?
I wanted to make everything use less energy, so that it emits less greenhouse gases. And since my speciality was software, I wanted to use it to solve the problem. I started reading about the topic, it looked promising in the beginning. However, I soon found out that 95% of IT’s greenhouse gases happen before the device boots up for the first time. The majority of the green house gases is embedded in the hardware already.
All the rare earth materials that they have to mine and use, all the transport, all everything. I could address about 5 to 10% of those non-embedded emissions, perhaps making 1% of an impact. Then I read more and I saw that 75% come from watching Netflix, YouTube, and adult streaming websites. Anything that I would have done would not have a significant overall “green” impact.
Do you have something that you found unexpected about becoming a formal RSE?
Yeah, it feels much more like what I did before as a “non-research”, plain software engineer. I was prepared to find out that academia would be different, and I didn’t know how. However I feel very much at home, in this new environment, perhaps because the projects that I got to do were in familiar territory. So, the first one was some self-care portal interface for research data storage, which was using a technology that I used before. The other big project involves using APIs and a set of “business rules” to produce data for energy research.
One of the extra reasons that I wanted to do more research software, was my wish to do bioinformatics. I have a a good friend who is a module leader for the Genetics and Multiomics in Medicine at UCL. I admire what they are doing and I’m always in awe when I see what these people do. I realised, however in the meantime that despite my admiration I have a huge knowledge gap, and it would take me years to become good, missing the opportunity to improve what I already can do well. So I am now a generalist.
Research Software Engineering needs people that are generalists. People that know how to put an application on the web, how to create a web application or website, or how to work with the containers, they are needed. I see a lot of work at the intersection of coding, infrastructure, DevOps, databases, cloud.
I have experience with all of these, because I had to do them, being an entrepreneur, and it helps. I’m not yet involved in research itself, but there is a lot of need for non-science tasks, where software is an enabler. I see myself as an enabler for researchers and their teams, both inside our department and outside.
As someone who’s come from software engineering, what advice do you have for anyone looking to start their career in research software engineering, especially if they’re from software engineering?
Learning the fundamentals is essential because everything else changes.
I’ve recently read in a serious book that the amount of knowledge doubles in say 17 years or less. If you think about a career being about 50 years long, it means that you have multiple times the human knowledge available when you end your career compared to when you started. For me it was, and it still is, very hard to find a balance between understanding deeply a technology, becoming an expert in that technology versus evolving to learn and experience new ones, new, again and again and again. What I realised is that if I master the basics, then it’s easier to pick up other new things.
An example is Python. I know about Python since 1998, but I haven’t used it for real until recently. But with pre-existing skills, going through C++, PHP and then JavaScript, it was much easier to move to Python because the problems are the same. It’s like learning a new human language, it helps if you already master another one. I discovered that there is a nice ecosystem and it helped knowing fundamentals.
ChatGPT or Copilot have helped me, but I’m not sure if I have advice there. Meeting generative AI felt like a 9/11 moment, I remember where I was and what I was doing when I first encountered ChatGPT and I realised that everything would change.
I had to make the decision: either to fight against the problems that it brings, or to embrace it because there is no other way forward. I embraced it, with caution and hope.
My journey of understanding new technologies that I needed to use, such as Python, Pandas and Flask and others, were greatly helped by generative AI and I used more than one product now. They complement my own knowledge; when I need to explore a new problem, I go first to one of them, then Google. Of course, I never trust an AI generated output, code or plain text. It feels like I have a team of developers and senior mentors available for me 24/7. I don’t have to write database initialisation scripts anymore because I upload the sample CSV and ask a GPT to create a database table for it. I check it, I’m very cautious, just like with work done by a complete beginner. I often find very fine bugs especially in terms of security and privacy. But it is a huge efficiency gain overall.
Do you think the value, then, with these kinds of tools is the value greater for developers who have already been around the block?
Yes, so I do not feel that tools like GPT or Copilot would replace me. I don’t think that they would replace humans. I’ve heard many times the phrase “oh, this will replace developers”, for example in late 90s they said Visual Basic will replace coders.
On the other hand, today I would be in a much worse position if I did not know how to do things. Now I can have the machine as part of my team. If I was somewhere in the beginning or middle of my career, I could still use it, but I don’t know who would hire me. Because what I could do myself a machine could do almost as good. AI might have created a barrier to entry for some roles.
However, AI doesn’t steal jobs. People that can use AI properly will steal jobs.
What was your favourite thing about your current work as an RSE?
The direct and indirect benefit of the projects that I am part of. You can go and work to create an accounting system or an intranet portal for a company, or you can go and create data for researchers to analyse behavioural patterns of people using energy, how they use energy.
I also saw my colleagues doing things about imaging or helping with gene research and other wonderful things. So the kind of impact that projects can have, I think, is the main reason for an RSE to be happy. There is a lot of competition in an area which doesn’t bring many material rewards, which I find to be a bit odd, but useful.
Another big benefit is that I am always surrounded by very clever people.