The Four Pillars of Research Software Engineering

  title={The Four Pillars of Research Software Engineering},
  author={Joel Cohen and Daniel S. Katz and Michelle Barker and Neil Philippe Chue Hong and Robert Haines and Caroline Jay},
  journal={IEEE Software},
We present four elements we believe are key to providing a comprehensive and sustainable support for research software engineering: software development, community, training, and policy. We also show how the wider developer community can learn from, and engage with, these activities. 

Figures from this paper

An Exploration of the Mentorship Needs of Research Software Engineers

Mentorship as it pertains to the unique needs of research software engineers is discussed and ways in which organizations and institutions can support mentor/mentee relationships for RSEs are proposed.

Research Software Sustainability: Lessons Learned at NCSA

How research software sustainability can be achieved is talked about, and what the experiences at NCSA have been using specific examples, what they have learned from this, and how they think these lessons can be learned.

Software Engineering and R Programming: A Call for Research

This paper discusses relevant studies that close this gap and proposes a set of good practices derived from those findings aiming to act as a call-to-arms for both the R and RSE (Research SE) community to explore specific, interdisciplinary paths of research.

Research, Develop, Deploy: Building a Full Spectrum Software Engineering and Research Department

It is argued that this interdisciplinary model allows Sandia National Laboratories' Software Engineering and Research department to act as an incubator and an accelerator for impactful ideas.

An environment for sustainable research software in Germany and beyond: current state, open challenges, and call for action.

Challenges for research software sustainability in Germany and beyond are identified, in terms of motivation, selection, research software engineering personnel, funding, infrastructure, and legal aspects.

Working in Harmony: Towards Integrating RSEs into Multi-Disciplinary CSE Teams

There is an urgent need for systematic investigation into multi-disciplinary teaming strategies which could promote a more productive relationship between the two fields of CSE and software engineering.

Ten simple rules for writing Dockerfiles for reproducible data science

A set of rules to help researchers write understandable Dockerfiles for typical data science workflows are presented and researchers can create containers suitable for sharing with fellow scientists, for including in scholarly communication such as education or scientific papers, and for effective and sustainable personal workflows.

Ten simple rules for starting (and sustaining) an academic data science initiative

It is contest that there is something fundamentally different in terms of the dimensions of data, diversity of disciplines, as well as the role of the private sector, than what has gone before.

CiteLang: Modeling the Research Software Ecosystem

  • V. Sochat
  • Computer Science
    J. Open Source Softw.
  • 2022
CiteLang is the first tool to afford this type of study, offering automated analysis and data extraction for open source software repositories, generation of summary analysis and graphs for single packages or groups of software, and maintaining a local database to store cached data.

CRESustain: Approach to Include Sustainability and Creativity in Requirements Engineering

: Requirements Engineering is an evolving field facing new challenges. One of the central conundrums is sustainability in software. The possibility of using known creativity techniques while



The Software Engineering Community at DLR: How we got where we are

It is shown, how scientists at DLR are encouraged to form a self-reliant software engineering community and how this was supported by providing information resources and opportunities for collaboration and exchange.

Building a Sustainable Structure for Research Software Engineering Activities

This short paper proposes an initial high-level framework based on discussions between the authors around the concept of a set of pillars representing key activities and processes that form the core structure of a successful research software engineering offering.

How to support open-source software and stay sane

This research presents a meta-modelling system that automates the very labor-intensive and therefore time-heavy and therefore expensive and expensive process of developing and distributing lab-built open-source software.

Research Software Development & Management in Universities: Case Studies from Manchester's RSDS Group, Illinois' NCSA, and Notre Dame's CRC

This paper examines three different, independently-developed models under which university staff are organized and perform their work, and comparatively analyzes these models and their consequences on the staff and on the software.

Software Heritage: Why and How to Preserve Software Source Code

This paper presents Software Heritage, an ambitious initiative to collect, preserve, and share the entire corpus of publicly accessible software source code, and discusses the archival goals, use cases and role as a participant in the broader digital preservation ecosystem, and detail its key design decisions.

A Brief History of the Internet

This chapter introduces a brief history review of Internet with focus on its original conception by starting by the initial packet-based network protocols and their evolution to TCP/IP.

Research Software Engineers: State of the Nation Report 2017

Recognising the importance of software in research-Research software engineers (RSEs), a U.K. example. Open science monitor case study

    Nosek , “ Strategy for culture change , ” June 11 , 2019 . [ On - line ]

      On the origins of Google,” Aug

      • 17,
      • 2004