class: center, middle, gray-background
Radovan Bast, UiT - The Arctic University of Norway
Digital Curriculum Closing Conference, Aarhus, 2024
.right-column70[
-
Theoretical chemist turned research software engineer.
-
I write research software and teach programming to researchers and lead the CodeRefinery project.
-
I lead the high-performance computing group and the research software engineering group at UiT. ]
.left-column60[
-
What is CodeRefinery?
-
The evolution of .emph[research software engineering] (RSE) - and my lessons learned
-
Learning software engineering craft in the .emph[age of AI]?
-
Thoughts about how to support .emph[career development] of RSEs
-
Fostering .emph[collaboration] between RSEs and researchers
-
Which .emph[competences] might be needed in the future? ]
.right-column30[
- A hub for FAIR research software practices
- A project since 2016, funded by NeIC and many partners
- Training network
- Reaching about 500 learners/year
- Reusable lesson materials
- Community
- We teach topics which are helpful for researchers and essential for RSEs
- Nordic RSE colleagues hang out and discuss on the CodeRefinery community chat
.cite[Heidi Seibold, CC-BY 4.0, https://twitter.com/HeidiBaya/status/1579385587865649153]
Similar projects: UNIVERSE-HPC, DIGITAL RESEARCH ACADEMY, INTERSECT, and probably many more ...
- Join our next workshop
- Tell others about it
- Provide a local classroom or join as observer
- Use our material and give feedback
- Join our next workshop
- Tell your students and researchers about it
.left-column80[
-
Co-teaching: Pilot and co-pilot
-
Live-streamed and recorded
-
Emphasis on high quality screen-share and audio
-
Offer multiple paths for learners to choose
-
Q&A are written, anonymous, and published
-
Collect feedback during and after events
-
All our material and output is open source
-
Scale with "bring your own classroom" ]
Results from post-workshop survey 2024
- Sent out to workshop participants from 2022 and 2023
- 129 answers
class: middle, inverse, center
.cite[https://doi.org/10.1371/journal.pbio.1001745]
.cite[https://doi.org/10.1371/journal.pbio.1001745]
.cite[https://doi.org/10.1371/journal.pbio.1001745]
.. are people who combine .emph[professional software expertise] with an .emph[understanding of research] .cite[https://researchsoftware.org/]
-
Often people who grew up in research and liked computing and programming
-
... or people who come from software development drawn towards meaningful and impactful work of academia
- Term "research software engineer" was coined in 2012 at the Collaborations Workshop organized by the Software Sustainability Institute.
- Podcast celebrating 10 years of RSE
- Society of Research Software Engineering
- Recent conference: RSECon 2024
- May 2024: First Nordic-RSE conference.
- Students and researchers who work on RSE, often in isolation, without knowing about the RSE community, and often not credited for their RSE work
- RSE appears as job title
- .emph[Centralized RSE groups] appear as support units
- .emph[Career paths] for RSEs
- More academic .emph[credit] for open science and reusable software
- More collaboration between RSEs and university libraries
- RSEs have access to .emph[grant applications] and can build their own groups
- Organizations which recognize this early will have a .emph[competitive advantage]
- The .emph[in-person contact] will become more important but also less easy to achieve
-
We expected more questions about code review and code structure.
-
Surprisingly many questions about statistics and AI model choices and "niche" libraries.
-
Students and researchers love it but university has "no dedicated budget for it".
-
It helps to have sponsors high up in the administration. Spend time on explaining it well.
-
We can see that people are happy but we need to measure it.
-
Document as you go (like when you visit your general practitioner).
class: middle, inverse, center
With the rise of AI, how do we ensure that essential software engineering skills are not overlooked? How do we balance the excitement around AI with the need for robust software infrastructures?
.left-column50[
-
Code completion
-
Write a test based on an implementation
-
Write an implementation based on a test
-
... ]
.right-column50[
-
Explain a concept
-
Improve code
-
Show a better alternative
-
... ]
class: middle, inverse, center
class: middle, inverse, center
Erwin Knoll's law of media accuracy:
"Everything you read in the newspapers is absolutely true except for the rare story of which you happen to have firsthand knowledge."
.cite[Heidi Seibold, CC-BY 4.0, https://twitter.com/HeidiBaya/status/1579385587865649153]
- Sharing knowledge involves: Papers, data, code, models, dependencies, computational steps, licensing, reusability.
- AI generated result might not optimize for being easy for humans to understand and transform.
- But we need to understand if we want to adapt.
- Choice of language/technology and .emph[maintainability].
-
Tool dependency and lock-in.
-
Lack of oversight: Ethical considerations like bias and fairness.
-
Lack of diversity.
-
Erosion of creativity and innovation?
- But then again sometimes I use AI as a mentor that presents solutions that are new to me.
class: middle, inverse, center
How can institutions support RSEs in developing sustainable academic careers, particularly in light of the hybrid roles many of them occupy (part researcher, part engineer).
class: middle, inverse, center
.right-column50[ You saw somebody else use it.
.quote["Oh, that's cool, I want that too"]
The value of .emph[seeing somebody else work] and .emph[mentoring] is huge. ]
- 1-2 days/week immersion in a research group (or vice versa).
- .emph[Exchange programs] for staff to learn from other institutions.
- .emph[Freedom to experiment] with the tools we are expected to teach.
- Encourage .emph[open-source work] to support the tools we depend on.
- Being able to showcase work on CV does not have to be a way to lose staff but can be a way to attract staff.
- Encourage own funding applications.
- Make it possible to build own groups.
class: middle, inverse, center
What are some best practices for fostering collaboration between RSEs and researchers, and how can these be scaled across different institutions and disciplines?
https://nordic-rse.org/communities/map/ ]
.right-column40[
-
We cannot have experts in everything everywhere.
-
How to collaborate across funding silos?
-
Identify those who want to help and allow them to.
-
We may need to adjust time reporting and .emph[cost objects]/projects. ]
-
Many questions never get asked via email or ticketing system.
-
Guide/mentor instead of just fixing it ("teach how to fish").
-
Sometimes the best way to get feedback about services is the coffee room -> create spaces where researchers and RSE support can meet.
-
It has been very effective for us to introduce .emph[office hours].
.left-column40[
The Xy problem
.right-column60[
- Researcher wants to do X
- Researcher thinks that y is a way to solve X
- Researcher tries y and hits a problem
- .emph[Researcher asks for help with y]
- After much interaction it becomes clear that the researcher really wants help with X, and that y wasn't even a suitable solution for X
- Staff answers what users ask for but doesn't go deeper.
- Reason: Issues can get closed faster, which appears good.
.cite[thanks to R. Darst for pointing this out] ]
class: middle, inverse, center
-
Papers, data, code, models, dependencies, computational steps.
-
Dependency management and .emph[containerization] (operating system inside a file).
-
Navigating the licensing landscape.
-
Sharing a problem.
.left-column40[
Eventually they become "impossible" to install -> containerize into an older OS ]
.right-column40[
Researcher needs latest software -> containerize into a more recent OS ]
- Papers are "forever" but services are not. The main skill in decommissioning is possibly communication.
-
We all need .emph[training in how to train] and how to mentor.
-
.emph[Co-teaching] is a great way to onboard, get better quality, and reduce stress.
-
.emph[FAIR practices] also for training material.
-
For technical topics, the lone lecturer with their own private PowerPoint/PDF slide deck might be a thing of the past.
class: middle, inverse
In some courses you rent a good environment for 2 days but we want you to own the result and be able to share it.
These slides: https://doi.org/10.5281/zenodo.13883843
All text: CC-BY 4.0