## Discussion: Why should organizations have an RSE / RSE group? Goal: Blog post on Nordic-RSE --- ### Who are you as an RSE? - What's your situation - Are you considered RSE by your organization? - Central or embedded in research group? - Do you have organizational support for RSE type of things? > 20 min --- ### Let's form groups! - Choose a notetaker --- ### Discussion Choose whichever topic you want :) - What do you know now that you wish you had known earlier about establishing an RSE group? - Benefits of having RSEs in an organization ? - Advantages/ Disadvantages of Central (RSE group) vs decentral (in research group)? - What support would you need? > 20 min --- # Thank you! Send us your notes please: samantha.wittke@csc.fi Everyone will be acknowledged in the blogpost. Send an email / let us know if you want to co-author the blogpost --- ## Blog post discussion notes Notes from above discussion, to be wrangled into a blog post later. Authors: AV, SW, KS ### Remarks about the role of RSE - Mitigate issues related to original developers leaving institutions - Retain code written by PhD students so that projects are more than one-off things - Update tech as new versions come along so that things do not break - Maintaining things might not be that time-consuming unless it is very tied to specific hardware (e.g. HPC) - RSEs should not be “enforcers” - There might be cases where customers expect that the RSE does 90% of the work - Many RSEs also have PhDs in domains related to their customers’ projects and are closely tied to the actual science - RSEs do not like to be associated with “IT services” - IT services are a lot more structured like a company than RSE services - But in some institutions RSEs still act more like IT services - Helping users to get rid of steps that users don't want to do themselves - Good question to ask from users: "ask them what part of their job they don't like and automate it" - RSE can be a link between different groups and experts of specific subject in groups (e.g. each group can have a computational expert, but they can be the only computational) - There are lots of unexplored subjects in humanities and other traditional non-computational where tools from other fields can be invaluable (even if the tools are not novel in the original field they were developed in) - Democratization of tools to non-traditional computing users ### What is needed from RSEs? - Lateral thinking across different research fields. - Proactive approach on meeting researchers. - Communication skills and skills to translate between language in a research field and language of computations - Being able to distill essential information to researchers in language that they can understand - Creativity on solving problems and seeing where users can benefit the most ### Central of distributed #### Central: - Communication and community - Sharing knowledge - Quaranteed salaries and long term positions - Rerpesentation towards the management - formalized , Funding , ### Advantage of central: + central can easier find stable finance funding + theoretically easier to see synergies + easier to be heard by the university/lobby for resources #### Decentral - Domain specialization - Light weight, can hire one person, no organization - Funding from projects is easy - much more easy to reach out within the group; more focused on specific domain. #### Disadvantage of central (advantage of embedded): - central IT lack subject knowledge of the research group - central can not follow up in close intervals - central is often very slow - central often use a different lingu, do not know the "standards" in the research group - easier to hold people "by the hand" to find a solution ### What you would like to have known before: - support not the biggest project but diversity of projects when pitching, allowing underrepresented groups to participate in IT infrastructure - base support on user questions, don't develop fancy tools that nobody uses - Establish KPI: - time saved (based on user surveys) - number downloads (e.g. from Zenodo, PyPI) for supported data/software - access to websites (track these) - Trying to cover all work costs through projects is not achievable. Otherwise all you do is writing grants. You need some time centrally to support smaller projects and start new projects. - Enable and facilitate open-source work. - In-person contact important. Email and issue tracker is not enough. - Train the trainer part requires extra bandwidth and resources and is an important gap between training and 1-1 help. ### What support would you need: - stability for funding - organizational knowledge on how get internal funding - getting help seeing the big picture of the organization - service catalog of available central IT services - if possible, network with other to know who to ask about services - more colleagues/researcher buddies - Ability to promote, and career structure - Ability to collaborate without a PI from our own institution - Support from higher-ups on work that might benefit multiple stakeholders. - Organizations should understand that hiring people with wide range of interests and skills can be beneficial for people with specialized and more narrow interests (RSEs can speed up work of researchers) ## How to enable and fund cross-border collaboration? - Funding to NeIC will change end of 2024. - Grass-root approach (e.g. seminar series) can be a good way to get started. - Competence matching across organizations - Group acts as nucleus to come with problems but the solution can be in a different place. - Collaborating on training creates better quality material and increases reach. - Grassroot approach might be a way to collaborate across funding silos. - Some organizations are so overloaded locally that they don't have time to collaborate on training and support. ## In your org, do you apply for grants for RSE-type of work? - Short answer: yes. But longer answer not yet. - We will have to apply to network grants to finance training and collaboration. - Tension between supporting research and developing RSE services. - EOSC is an organization that funds skills and training. - Sometimes lots of reporting and paperwork is needed. - Training and reactive user support are good use cases for centralized RSE and collaboration. ## Where does funding go to and what are the effects? - In large compute centers most money goes to hardware and electricity and only a small fraction to support. - Centralizing computing saves money but can create disadvantage for some academic fields. The step got bigger. By not supporting those who are not yet on compute clusters, we will lose out on research and potential. - More money goes to hardware and support does not scale with the same speed. #### General remarks: If you are embedded, try to connect to other embedded ones in the same institute/university. Perhaps form a local RSE group. Try to adopt the language of the research group/users, not the other way around. Provide a room for beginner questions, don't assume that everyone knows the basics. Naming things is hard. Consider cultural gaps when gathering towards different user groups/insitutes. RSE != programming , but also teaching RSE can help the organization have better data management. reusable library that is shared along different research groups Experience sharing in different fields. focus on research and left the RSE do the dirty job. Acknowledgements: Participants of the Nordic-RSE conference discussion session. ## Blog post ### Target: Organizations target audience: - organizations - people who can make decisions or influence people who can make decisions goal: - describe benefits of RSE work - ways to make possible - What is RSE? - role: focus on software, maintanability, sustainability, reproducibility - training - looking at UK/US/NL/DE - RSEs should not be “enforcers” -> RSEs are not enforcers - Creativity on solving problems and seeing where users can benefit the most - multidisciplinary (research) background - RSE are not IT support, RSEs have dual (research/coding) background and speak "same" language as researchers ![image](https://hackmd.io/_uploads/BJeg2vTBA.png) Credit: https://zenodo.org/records/11580329 - "Current" state of Research software, general; Do you recognize these issues? - future PhD are trained by showing the way, no docs - stuff breaking makes people aware (too late) - Mitigate issues related to original developers leaving institutions - Retain code written by PhD students so that projects are more than one-off things - Update tech as new versions come along so that things do not break - Issues to reproduce results when running the analysis again - How RSE can help? - Centralizing computing saves money but can create disadvantage for some academic fields. The step got bigger. By not supporting those who are not yet on compute clusters, we will lose out on research and potential. - Helping users to get rid of steps that users don't want to do themselves / Good question to ask from users: "ask them what part of their job they don't like and automate it" - RSE can be a link between different groups and experts of specific subject in groups - Organizations should understand that hiring people with wide range of interests and skills can be beneficial for people with specialized and more narrow interests (RSEs can speed up work of researchers) - Your role, how to help RSEs - Support from higher-ups on work that might benefit multiple stakeholders - organizational knowledge on how get internal funding - getting help seeing the big picture of the organization - service catalog of available central IT services (if possible, network with other to know who to ask about services) - Train the trainer part requires extra bandwidth and resources and is an important gap between training and 1-1 help. - Funding possibilities - RSE benefits from open ended, non temporary funding - training and collaboration funding (eg EuroCC, EOSC) - Trying to cover all work costs through projects is not achievable. Otherwise all you do is writing grants. You need some time centrally to support smaller projects and start new projects. - Examples of RSE groups - Aalto RSE - UiT RSE - Trondheim RSE - InfraViz - Additional links to include ?: - SSI manifesto (https://www.software.ac.uk/about-us/manifesto) ### Draft Small steps towards sustainable and open research - or why you should care about Research Software Engineering A blog post summarizing the outcome of a discussion at Nordic-RSE conference May 2024 (https://nordic-rse.org/events/2024-in-person-conference/). #### What is a Research Software Engineer (RSE)? **The short answer** People striving for "Better software, better research" **The long answer** *Definition of Research Software ? (from Martin's slides)* Research software is software that one use to generate, process or analyse results that is intended to appear in a publication. It can be anything from a few lines of code, to a professionally developed software package. A Research Software Engineer is a person who combines an intricate understanding of research with professional software engineering expertise. RSE often have background in academia and have specialized in computing related areas, be it either software development, data analysis, (high-performance) computing, etc. Independently of their area of expertise, their common goal is better maintainability, sustainability of research software and better reproducibility of research outputs. **What an RSE is not** Even though they are in close collaboration with IT services, RSEs are not IT support people, as in IT manager or IT system specialists. They have a dual background (research/coding), they take part in research projects and speak the "same language" as researchers. They also are not enforcers, they don't enforce technologies or methods but build on the tools already in use in research groups. #### Why would an organization need RSEs? - Current state of Research software Does any of following scenario sound familiar? * A PhD/post doc has developed some really nice piece of code, but they left and no one knows anymore how to run it or develop it further. * Someone wrote some code long time ago that is used daily by a research group, but no one knows the technology in the research group anymore and it cannot be modified, updated or compiled anymore. * When a newcomer joins a team and starts familiarizing with analysis/modelling/etc tools, the only way is to "ask others who use it". No document or tutorials are available. * Some essential piece of software runs on a very old machine or on very old version of language and it's very difficult to replace or update, if even possible. This can even lead as far as stopping research activities in the team for some time * After an article is submitted, one reviewer ask for additional analysis, or slightly different plots, but upon running the code again, one cannot reproduce the plots/results anymore. #### How RSE can help ? **Short answer** Improve FAIRness of research software and by that save time and resources. **Long answer** RSE can leverage all the above issues and more by accompanying researchers in their software development journey. RSEs' technical knowledge and creativity on solving problems allow seeing where researchers would benefit the most. Here are a few examples/use cases: * Researchers have great ideas, but might not know how, or have time to develop the corresponding tools * Help to get rid of repetitive or time consuming steps (that users don't want to do themselves) by introducing automatization * Write documentation so the information doesn't get lost when people leave * Make the regular technology updates to prevent that it become obsolete and break * Supporting when switching from laptop to compute clusters * Many groups need the same thing, RSEs know how to create flexible templates to simplify e.g. spinning up a website to present research outputs * … what other good examples? They can also act as intermediate in technical discussions about computing needs, as they know the needs of researchers since they are involved in research in a daily basis, and are also technology-aware people. As a summary, researchers with very deep expertise and RSEs with shallower but wider range of interests and skills complement each other very efficiently. #### How organisations can help? Many organisations already have people doin RSE work, but the people and the organisation might not be aware of the term RSE. To give those people a sense of belonging and knowing that there is others like them, organisations could: 1) Support community involvement and self development - Give people room to be active in RSE communities, attend conferences and trainings beyond academic work. 2) Spread the word - be an RSE ambassador - Recognize and highlight RSE (often behind the scenes and non-academic) work - Invite RSEs to talk about their work - Support RSEs building their own network within the organisation (connect them to administration, other RSEs, researchers, etc) 3) Make it a THING (administrative existance) - Hire RSEs - If you have them already, gather them ("virtual team" or central RSE group) - Offer support to spread good enough software practices in research groups - Train the trainer events are important and needed - Support formation of RSE groups by providing guidance about practices for forming a new entity in the organisation (group, service, etc) and finding the right integration points - Share organizational knowledge on how get internal funding for RSE-type work 4) Funding - Inlcude RSEs at the stage of grant proposal writing - Provide central RSE funding to support smaller projects and internal tool developments - RSE benefits from open ended, non temporary funding - like other techical supports - training and collaboration funding (e.g. EuroCC, EOSC) #### Get deeper Does RSE sound like something you would need in your organisation, or want to hear more about what RSEs in the Nordics are about, please reach out to us... (zulip, our emails, N-RSE emails?) Nordic-RSE (https://nordic-rse.org/) Other useful resources: - Martins slides https://zenodo.org/doi/10.5281/zenodo.11399991 - https://www.software.ac.uk/about-us/manifesto ### Target: RSE target audiences: - researchers who code - RSE in any stage - currently forming a group goal: - feedback from "older" RSE - tips - What is RSE? - I am a researcher who codes, am I an RSE? - Link to organization blog post for support when asking own organization