---
# System prepended metadata

title: Collaborative Notes nordic RSE meetup nov/dec 2020
tags: [Meetup]

---

---

tags: Meetup

---

# Collaborative Notes nordic RSE meetup nov/dec 2020

## Day 1

### Intro (Jarno)
Welcome and technicalities for the meetup


### Keynote 1 (Alys)
RSE movement ...

- A history of the RSE movement as it started in the UK, around 2012, and where it is today.
- How are research software engineers typically organized?
- What does the future look like?

### Keynote 2 (Richard)
Research (software) engineering: supporting software or supporting equality?

- Examples of the difficult in learning the implicit skills behind computing
- Environmental factors which make computing harder to learn "on the side"
- RSEs are (or can be) on the front line for ensuring that everyone has the skills needed to be successful in computational research, thus they also have a key role in promoting equality.

### Nordic RSE intro (Samantha)

- Future of nordicRSE: more meetups, conferences and workshops, start of association (some day), collaboration with other RSE organizations alsready ongoing
- how to connect/be part: fill out membership form (https://forms.gle/zUu9CgEF9nW8mPjM8), join nordic rse stream in zulip chat (https://coderefinery.zulipchat.com/), 
- the meetup: 100 registered participants at the time of the talk, with people from Norway,Finland, Sweden (each ~25), Denmark,UK, Netherlands, Belgium, Estonia, Germany, US 
- upcoming conference in May 2021: 27-28 May 2021 in Stockholm


## Day 2

### Morning Session

#### Future EOSC data analysis services

Activities within the ExPaNDS project at MAX IV synchrotron (Lund) were briefly introduced, mentioning several related open positions. Few participants were interested mainly in more details about the positions and some other news from the facility. They met with MAX IV in some way in the past. We discussed the structure of the scietific software team and also some related activities and tools.

#### Aalto RSE 

Starting fully in January. Central group that provides a consulting as a basic service and longer term development based on funding.

#### MXAimbot - AI-based sample centering for macromolecular crystallography 



#### The CodeRefinery project 

We discussed sustainability options for a project like this which is not domain-specific  such as this. We briefly touched on the advantages and challenges of becoming a non-profit organization and the challenge to connect to funding streams (like EU calls) to keep it going beyond 2021.

We discussed how to better advertise and make the workshops more visible to local communities.


#### EuroCC National Competence Center Sweden

We shared experiences in how EuroCC centers have been set up in Denmark and Sweden and decided to stay in touch and possibly collaborate later.

We discussed whether and how MaxLab can work with ENCCS to optimize the performance of some in-house code

We also discussed general RSE issues in the Swedish context, including the problem that junior researcers are not aware of any possibilities of RSE-like career tracks, and concluded that it's becoming urgent that Sweden gets a pilot RSE-group case



#### RSE work done at the Oslo Centre for Biostatistics and Epidemiology 
#### My first R package 
The slides are on Github: https://github.com/Teebusch/presentations [(direct link)](https://github.com/Teebusch/presentations/raw/main/My-First-R-Package.pdf)
I have a live tweet thread of this breakout (room 7) but I'm not allowed to paste in the hackMD @msandstr 
https://twitter.com/msandstr/status/1333702792951853059


#### PRACE Best Practice Guide - Modern-Processors 
1. Best way to get access to PRACE and the infrastructure behind is to participate in their workshops
2. Some discussion about the future ARM of system on chip solutions 
    - Most details will be hidden behind the provided compilers
4. Compiler maturity and performance comparison when it comes to ARM
5. Is the best practice only for low level programmers or is there any thing high levele programers like Python programs can take from it. 


### Afternoon Session 

#### Computational reproducibility and the FAIR principles 

Discussion notes in https://docs.google.com/document/d/1bqtsnLpuahpMKBMm25JlhhbzKgy6tVnUWigu2L1XgdQ/.


#### What do you expect from Nordic RSE? 

Ice breaker:
 * Are you an RSE?
     * RSE interested, with a plan of becoming one, some day, maybe
     * yes, leading a rse group
     * yes, working directly with reseachers (no RSE group, temporary employment, also just learned about the term)
     * yes, though only learned the term recently. In a bioinformatics group doing infrastructure projects
 * What is an RSE?
     * research software engineer (duh)
     * supporting researcher through code/software development (but can be part of a researcher job)
     * A software engineer in the area of research (akin to a software engineer in the area of finance). Also to say that domain knowledge is important. Probably more focused on software as infrastructure.
  * What an RSE is not?
    * Sysadmin/IT support (although there's typically a lot of IT support involved...?)
    * Can someone make a career as an RSE? or is it where you end up when everything else fails?
      * Hopefully it is a career path. There are (supposedly) RSE positions and openings, but in my experience they are hard to find. It is definitely not where you end up when everything else fails! It is an alternative path to regular academic research (and to software development in industry). It is typically suited for people who want to focus more on the hands-on problem solving rather than "selling" research and applying for grants, also with a more long-term focus on software usage and sustainability (which is hard to focus on when under academic pressure).
    * For a lot of people the name "Research software engineer" is confusing and they only put emphasis on the word "research", thereby expecting the RSE do be some kind of (lower grade) researcher but with a more technical background than a "true academic researcher", and that bothers me (because in academia researchers are not supposed to be evaluated based on the number of scientific papers they produce). Maybe removing entirely the term "research" and replacing it by something like "Domain specific" or whatever else would make it easier for people to understand and better define their role? Add something to link it to science and perhaps to computing infrastructures (that could change the acronym from RSE to something like "Domain Specific Scientific Software and Computing Infrastructure Engineer" = DSSSCIE or DoSSSCIE or DoS3IE instead?)
  
Abstract:

The Nordic RSE group is new. This is a great time to take part in the active development of the organization by making sure your voice is heard. We need your help in deciding what is important for the organization to do and what kind of an organization we should aim for.

For inspiration, you can check out the websites of other RSE associations:

Australia/New Zealand rse-aunz.github.io
Belgium: be-rse.org
Germany: de-rse.org
Netherlands: nl-rse.org
UK: society-rse.org
USA: us-rse.org
The purpose of this discussion is to solicit input from prospective members of the Nordic RSE group.

a) What kind of activities they think would be useful?

examples from abstract: Advocating for X (value of good software, ...)
Networking opportunities, workshops
Exchanging skills
Formalizing the profession (create career structure)

ideas that came up during discussion:
* build an identity on what is RSE, local communities: communication with others, sharing ideas
* be more specific about what an RSE is and also what it is not (not a researcher, not a technician, not a handyman, etc.)
-> making it possible for people to label themselves as RSE
* Sweden: Reasearch Engineer exists and gets confused with RSE
* it should be pushed to make it possible to hire RSE
-> Nordic RSE should push to make it an official title
* this has to happen also within universities
* but RSE is not yet a field that professors could chose to hire and thats where Nordic RSE could start (big push from a lot of people)
-> association with members could do that
* if Nordic-RSE grows to registered 500 members in the Nordics that call themselves RSE there would be more weight behind what we do. One could write letters and influence
* Nordic RSE as place for feedback (eg for Norwegian Reasearch Council)
* building understanding (people should know the idea) and not fully focus on formal job title (since this may take long). Make groups and PIs aware that a person with a RSE role could solve many common problems faced in research 
* defining the RSE: how much research? how much software? how much engineer? ->check what UK has done, one definition on nordic RSE website https://nordic-rse.org/#what-is-a-research-software-engineer
* knowledge sharing in meetups etc
* permanence: RSE often first position to get cut, importance of position has to be highlighted
* service / research
* jobboard: help finding RSE jobs (that are not mentioning RSE specifically), currently done on coderefinery chat -> better to have on webpage
* acknowledgement for RSE work, writing documentation could be as important as writing a paper, attempts happening in international RSE
    * As a new RSE, I want to ask if acknowledgements is a metric that is typically tracked and used throughout an RSE career? How important is it (apart from being fair in acknowledging work done)?
* Hackathon type of event to get advice on publishing code and related topics 
* joining forces to organize (online) workshops similar to coderefinery (so that community can link to it) -> setting up a list of these on nordic RSE website that we can recommend
* use nordic-rse.org to build up list of recommended training material and resources.
* networking: https://coderefinery.zulipchat.com/


b) How the group should be organized?

ideas from discussion:
Should we have official association?
- necessary to receive money
    - for eg workshops (continuation of Coderefinery, software carpentry)
- could also be done via some university
- will probably need to be done at some point

How could NordicRSE association be useful for us:
* how to attract also researchers doing RSE in addition to RSEs 
    -> highlight that we also want researchers doing RSE work to join NordicRSE
* acknowledgement also for their RSE work (even if they do not identify as RSE (yet))
-> continue to teach how code can be made citable
-> how else to help with this?
-> public guidelines on how to cite research software -> community shows how the ideal should be
-> list journals which take software publications on Nordic RSE website (similar to UK RSE)
* advocate for that software should be cited
* create career-path or make more public that there is one; if there is no path, people are maybe not interested
* adding open source research software as merits for universities (making it more likely they will spend money on hiring RSEs)




#### Testing Software: From Unit Testing to Model-based Testing 


#### What academic RSEs could learn from startups? 

Stats: 1/2 are "senior" staff, 1/4 are PhD fellows, 1/4 are others

###### Problems:
* Individual publication pressure
  * Publications are KPI
  * "Software won't give you a PhD"
  * Individual work is expected
  * This leads to people using their limited time towards personal research rather than developing tools and collaborating
  * "Cultural inertia" among peers and leadership doesn't help
* No clear future career and role model
  * No good role models, no understanding of how to transition from MSc/PhD to an "RSE"
  * No clear expectations how much freedom to do research an RSE should have - is RSE a researcher or employee?
* No resources and training
  * There is not enough knowledge resources and training
  * And different backgrounds need different training

###### Solutions needed:
* Promotion of team work (both RSE + "scientists" for more papers and RSE + RSE for day-to-day working and learning)
  * "In industry you may go to other people who would complement your skills"
* Adoption and enforcement of industry's technical solutions for co-developing (VCS, etc.) to enable the co-developing itself
  * Technical debt is addressed in product startups because the quality of thier product matters - doesn't quality of research matter too?
* Allocation of time for teaching and knowledge transfer
  * Remember "bus factor" - how many RSEs need to leave the group for its research to fall apart?

But no one makes these solutions!

###### Actionable steps - what we could do as the RSE society?

* Public advocacy campaing towards funders - they should fund RSE projects and put pressure on leadership!
* Advocacy campaing towards leadership - they will benefit the most because good RSE practices are beneficial in a long run, over 2-4 years
* More educational materials within the community

#### Helping build a developer community though good software practice 

(answers scribbled down by others than speaker)
 * You moved from specific tools (gerrit, bugzilla) to gitlab. Do you think the integrated solution is better then specific tools? 
   * Specialized tools can lack integration with each other, integrated tools work as a whole
* How often do you need to deal with support requests from your community that are related to somehow having GROMACS installed or compiled incorrectly (and is there stuff you do to avoid problems like that from happening)?
   * can avoid some support questions on installation through continuous integration
* Regarding unit tests: How do you find the sweet spot between creating too few unit tests and trying to come up with every single input combination so all bases are covered and your software is fool-proof?
   * No perfect solution, need to choose a balance. Physics constraints provide useful general tests.
* did you do specific outreach activities to reach new contributors
   * pre-covid there were some developer workshops by external people. Some have later joined the dev community

#### Intro to the HTCondor Python API on a laptop cluster 






## Day 3

### Morning Session

#### Panel discussion: RSE careers and their position in academia 
#### Ericsson Research and Distributed Applications in the Cloud 
#### R <-> Python transpiler 

### Afternoon Session

#### room 1: European Environment for Scientific Software Installations 
#### room 2: Is it possible to make code quality more important than the number of published papers in academia? 

How it is measured:

University:
* Teaching
* Citations
* Impact

Researcher:
* Creativity
* Publications
* Funding

Research:
* Innovative
* ..
* ..

What is good code?
-> see slides for full content :)

Follow-up questions: 
- Does it make sense to move in this direction?
 - Better coding culture and education ?
  - Incentivisation ?
  
* code quality vs code volume: Is it worth putting effort in going open source? -> ongoing debate in many places
* github: a representation of the unversity towards the world, should be showcasing the good
* we may not be experts but we should be using the tools provided (version control, testing)
-> "you wouldnt trust an uncalibrated thermometer"
* pressure form funding agency to produce research results and not code, hard to try to find excuses to make good code an output
* code should be a part of research proposal, otherwise there is 'not enough time'
* often severity of the problem is not seen by professors
* people get by by producing adequate code and get by and get funding, that does not motivate people to do testing etc
* professors need to know and understand the problem (often they do not do any coding (anymore) and forget)
* later additions to 'bad code' leads to problems which get noticed -> explanation to the 'higher level' how we could now save time with better code from the beginning
* Lots of time pressure in research projects where improving and making code reproducible is not focussed on
* no courses on how to write research code :( or not many
* stuff like software engineering is often one of the first courses to be dropped when money runs out. Often becasue 'higher levels' do not know about the importance
* new field: not much old stuff to build on top, no real need for sharing. But not anymore the case. 
* Catchin up takes time, no time to reproduce everything

How can we find the 'paper' of coding?
* github stars
* https://joss.theoj.org/ 
https://openresearchsoftware.metajnl.com/ 
https://www.journals.elsevier.com/softwarex,  software wrapped in paper for traditional metrics, good start but does not solve the problem
* one citable paper for many years of developing the software? -> need to be judged on different scale
* Standard research outputs are not the only thing that research is measured by anymore, need to 'jump on the train'
* continuous necessity for novelty, all metrics problematic, potential metrics: how many people are using your product? -> if many people use it, it is valuable to maintain and update software, supporting a large community
* usage metrics as a way of demonstrating impact -> hard to make funding bodies recognize that
* in ok it is now pushed to be recognized, slowly building up now, took several years to build evidence base of usage
* UK’s Research Excellence Framework: https://www.ref.ac.uk/
* importance of being able to read documentation, you need to know where to look and how to do (not everyone can do that)
* what about promoting the importance of releasing often? It is a measure of continuous effort, something that writing one-off papers doesn't do, and even small, bug-fixing patches are important IMO. The flip side is it could encourage busy-work, but I still think it's worth it. 
* all metrics can break -> wide variety of metrics for value is important
* some people work in a field where software is not used much by other people, but may be very useful for your colleagues -> citation supports more novelty than quality
* no tasks anymore that can be solved by one person. As a researcher, pair up with an RSE to solve a problem, paper together. win-win. can also help your career.
* people are rewarded for bad code by keeping their job through being the only person who can actually read and work with their code, no incentive to make code better -> better long term management needed
* today no one is indispensible, dont hire people who think they are
* make sure multiple people can 'keep the server running', collaborate
* -> culture change needed
* need for basic education (version control etc) of students, code review
* but people do not like to find out / being pointed put as having written bad code, creates high barrier, but one one need to get over 
* when sharing code, poeple will get used to it, as its part of development
* Coderefinery as a good place to send new phds students to learn version control and how collaborative coding works -> no merge without someone else reading the code first
* it's all research, you never know which part will become part of your codebase, turns into something big -> hard to go back later, so its important to start early with reviewing, version control etc
* So maybe we should have some sense of "continual review" like "continuous integration" 
* writing test framework takes time but is worth it in the long run
* do what you want in your own code,but you will need to 'act like a software engineer' when working with others
* compared to how long it takes to make things work, test implementation does not take too much time
* courses such as coderefinery are not appealing to some people who think of themselves knowing git* enough for current use, 'bubble workers', so they never learn how it could be also with branches in own code
* 'onboarding package' as in how we do things here is lacking in academia, not everywhere though: example:  https://scicomp.aalto.fi/aalto/welcomeresearchers/

#### room 3: Lessons learned from procuring a fairly large HPC system 



#### https://www.twitch.tv/rshour: ResearchSoftwareHour live from Nordic RSE: Rust for science 


#### 'unconference' sessions

#### How to explain containers are friends of scientists? Are they?
#### Distributed computing and the balance of Performance vs Throughput
#### Lessons learned from procuring a fairly large HPC system (Cont.)
#### Problematic demographics within research computing and ways to rectify the problem
 * Special interest groups exist.
   * Do they funnel people out of the main group
   * Work with them and include the interest groups in the main group
 * What leads to the imbalance at different levels on career / education?
 * Example: Gender balance in computational particle physics in Helsinki surprisingly good. Why?
     * Better balance among students than before
     * Hiring from earlier in the studies (batcherol's level)
     * If related fields are more biased, there are more qualified applicants
 * Hard discussion to have, thanks to everyone who was involved
 * Sorry I forgot to take notes for most of it :(



#### Collecting ideas/suggestions for Nordic RSE conference in May ( Radovan I haven’t prepared this and maybe it was discussed already somewhere)

- May 27 and 28, 2021, Stockholm
- 1 auditorium (150-200), 2 workshop rooms for 30 people and a number of smaller rooms booked
- common social area can be used

suggestions:
- offer different tracks with a good balance
- training tracks: RSE's role as a trainer and supporter
- consider inviting persons from funding agencies ("how can we fund 'invisible' but important work?") +1
  - also university HR/ management; to avoid a too one-sided discussion if only RSEs are in the room 
- invite representatives from other "chapters" to share lessons learned +1
- hearing about/from journals like JOSS +1
- open science should be included as a topic
- interface with CarpentryConnect conference (collocated)
- invite managers and policy makers who *have* success stories in the RSE area +1


theme suggestions:
- "software in research"

how to announce it outside of our "bubble":
- consider calling the press (press offices at Unis)
- at the places where startups advertize
- unions for researchers and engineers
- newsletters via computing centers

technical:
- better many short hackmds rather one long hackmd


#### Anyone interested in starting a Nordic openMP user group?











