diff --git a/content/2024/what-is-a-rse.rst b/content/2024/what-is-a-rse.rst new file mode 100644 index 0000000..7af8f0e --- /dev/null +++ b/content/2024/what-is-a-rse.rst @@ -0,0 +1,210 @@ +:blogpost: true +:date: 2024-10-23 +:author: Richard Darst +:category: rse + + +What is a Research Software Engineer? +===================================== + +What is a Research Software Engineer (RSE)? Too many things to +define, you can find these definitions elsewhere. Maybe the question +you would like to know is **How do I get value from Research Engineers +like Aalto Scientific Computing does?** - that's what we'll try to +answer here. Through that, we may learn a functional definition. + +This page is written from the perspective of *computational science* - +similar messages may apply to other fields. Note that computing and +AI is in every field now. + + + +University roles +---------------- + +When someone wants Research Engineers, it's probably because they see +something that is missing in the current academic system. Thus, to +understand what we want, we need to understand the system. Below is +rkdarst's current mental model: + +* **Academics** are who we usually consider researchers. They do + research, and are promoted based on articles published and citations + received from other academics. Citations from academics tend to + focus on innovation and novelness, so that's what decides career + paths. + +* **Research Engineers (REs)** focus on the practice and "structural + integrity" of the research: the tools, the reproducibility, and + more. They are more concerned with the work being done well, than + pure novelness and citations. [0]_ + + Research Software Engineers (RSEs) are a subset of Research + Engineers, and I feel that the "software" is the least significant + part there. Software is important, but so is data, computing, + reproducibility, etc. + + Particular examples of things that Research Engineers are good at + include: Reproduciblity, maintaining software and data across academic + generations, Open Science, programming, using large computer + clusters, data security, and research ethics processes. + +* **Researchers**, in my mind, cover both of the above (and more). + Industrial research teams would have both of the above and possibly + even more different roles all working together on their problems. + In universities, we tend to only consider the academics to + researchers. + +So what's a Research Engineer? To me, it's defined mostly in terms of +what is missing from the typical academic career path (of +undergraduate → junior researcher → senior researcher). At all +levels, I've seen research engineering under-valued and under-taught +(not necessarily because it's not wanted, but because it's not novel +science and there's no time). Senior researchers (group leaders) +often see the value, but don't have the ability to train and supervise +research engineers well. + + + +How Aalto RSE filled the gap +---------------------------- + +Years before Aalto RSE started (~2017-2018), I saw a need for more +basic skills (for example: version control to manage code) and worked +to promote them in undergraduate programs. This basically didn't +work, because they were seen as not scientific thus not something to +be taught in academic courses (and if they were thought, the courses +would be full of people looking for easy ECTS). While there certainly +are study programs in software and software engineering, these are +their own thing, and not part of data science, or other fields that +need computation. Software engineering programs also aren't adapted +for the unpredictibility of research. + +This was the prompting to start Aalto Research Software Engineers - if +we can't teach people skills in study programs, we have to support +them when they become researchers (and teach it via practical +mentoring). This has worked out very well, as you can see by our +rapid expansion and heavy usage. + +Aalto RSE is essentially the collaborator our research groups need to +do their top-level work. This system works very well, but are there +other options? + + + +How to get research engineering competence in universities? +----------------------------------------------------------- + +The above leads to various ideas. Take your pick for what angle +you want to approach the problem: + +* Better RE teaching in undergraduate programs: + + * As part of existing programs (is there time to teach this? Is + there desire? On the other hand, RE skills are great for + employment prospects) + + * As dedicated majors? (Some people are trying to make dedicated RSE + study programs at different universities, and there is a value + there. But if you ask me the best value is learning RE along with + academic research in a different field) + +* Better RE teaching in graduate programs: + + * Many of the same things as above apply here, mainly the lack of + time, and the necessity to spend time on novel research, not + learning existing best practices. + +* Nurture REs within existing research groups: + + * Nothing stops group leaders from hiring students and postdocs who + have chosen to focus on research engineering. This often happens + when supervisors hire technical postdocs to manage the RE side of + things. (The question is: can they be supervised and mentored + well by academic supervisors, if they need to be home-grown?) + + * If group leaders hire good candidates, Aalto RSE can help mentor + them. See the companion blog post :doc:`/2024/rse-work-rotations` + for one idea. + +* Recruit REs as professor-level group leaders" similar to how senior + academics are recruited: + + * These people would focus on collaborating with others to make + projects possible. + + * The university systems don't seem set up to value these people, + thus they don't appear among the ranks. They could appear if they + spent their careers chasing academic citations, but then would + they be able to spend enough time on research engineering? + + * I think this is what some people mean when they say they want a + RSE career path: a way to recruit senior academics who lead + research engineering groups. I think the idea is good but it's + not how universities are set up, so it's a long way off. The + values systems may not even match up. + +* Create parallel structures that support research engineering + + * That is what Aalto RSE has done. We are researchers, but we make + new research possible by collaborating with academics, instead of + trying to publish by ourselves. We are part of the services of + the School of Science. + + * We also take it upon ourselves to do teaching and mentoring via + co-working for all types of researchers (aspiring academic or + research engineer). We can fill in the technical mentoring that's + missing by many supervisors. + + + +Getting your own research engineers +----------------------------------- + +I've seen many people interested in gaining research engineering +competence for their organization. You need to develop an environment +where they fill in the gaps you need. + +* Junior academics: encourage them to explore their technical skills. + Show that there is value in this, even if it reduces the number of + publications. Encourage them to get training (for example the Aalto + RSE training). Give them time, encouragement, and career prospects + to reach beyond the focus on papers. + +* Other support staff at universities and other organizations: don't + view them as limited-purpose supporters of an {infrastructure, + service, process}. View them as supporters of research: let them + holistically support research projects from many angles at once, + rather than only in narrow silos with strict project reporting + requirements. + +* You can hire dedicated staff to be REs, but it's important that they + are integrated into the local research environment. Most of our + hires have been local staff who have grown into a new role, and I + think this is how it should be. + +Any of the above, especially the first two, require time being made +available for RE work and a clear vision and network. Aalto RSE (with +the help of others in Finland) is planning on making a networking and +onboarding program for new research engineers who wish to adopt this +vision. + + + +Summary +------- + +If you read this far, you probably see the value in research engineers +and want them yourself. Just hiring someone, or changing someone's +job to "RSE", won't magically solve the problem you need. It's a +whole mindset shift towards a multi-disciplinary research team. + +What's the right level of research engineers, permanent and +experienced or junior and learning? Probably a bit of both. + + + +.. rubric:: Footnotes + +.. [0] I know that "Research Engineer" is a job title that can have + other definitions. +