# research software engineering

> use of software engineering practices in research

**Wikidata**: [Q48972887](https://www.wikidata.org/wiki/Q48972887)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Research_software_engineering)  
**Source**: https://4ort.xyz/entity/research-software-engineering

## Summary
Research software engineering (RSE) applies systematic software engineering practices to the development and maintenance of research software. It addresses the unique challenges of software in scientific contexts by improving reproducibility, reliability, and collaboration.

## Key Facts
- Research software engineering is the use of software engineering practices in research environments.
- Its short name is RSE.
- It is a subfield (instance_of) of the broader discipline software engineering.
- It is practiced by professionals called research software engineers.
- The entity has 6 sitelinks on Wikidata.
- Its Wikipedia article exists in six languages: Arabic, German, English, Spanish, Persian, and Vietnamese.
- Its Wikidata ID is /g/11f3y2jb3q in the Google Knowledge Graph.

## FAQs
### Q: What is research software engineering?
A: Research software engineering involves applying software engineering principles like version control, testing, and documentation to research software. This ensures scientific tools are robust, reproducible, and maintainable.

### Q: Why is research software engineering needed?
A: Research software often suffers from poor quality due to ad-hoc development. RSE solves this by standardizing engineering practices, preventing errors in research outcomes, and enabling collaboration across scientific disciplines.

### Q: Who performs research software engineering?
A: Research software engineers are specialized professionals who implement RSE practices. They bridge gaps between domain scientists and software developers to create high-quality computational research tools.

## Why It Matters
Research software engineering transforms research from relying on fragile, undocumented code to leveraging structured, maintainable software. It directly tackles reproducibility crises in science by ensuring computational results can be verified and extended. By institutionalizing best practices, RSE accelerates scientific discovery, reduces technical debt in research workflows, and democratizes access to computational expertise across academic fields. Its systematic approach prevents wasted resources from re-engineering brittle research tools and fosters a culture of accountability in scientific computing.

## Notable For
- Being a dedicated subfield of software engineering focused exclusively on research contexts.
- Establishing "research software engineer" as a distinct professional role requiring cross-domain expertise.
- Enabling standardized documentation and reproducibility of computational scientific methods.
- Driving community adoption through multi-language Wikipedia presence (ar, de, en, es, fa, vi).

## Body
### Definition and Scope
Research software engineering (RSE) formalizes the application of software engineering principles to research software development. It encompasses practices such as version control, continuous integration, testing, and documentation tailored to scientific computing needs. RSE addresses the unique challenges of software in research, where requirements evolve rapidly and long-term maintenance is often neglected.

### Professional Role
Research software engineers are practitioners who implement RSE workflows. They collaborate with scientists to convert research prototypes into sustainable, scalable software solutions. This role bridges disciplinary gaps by combining domain-specific knowledge with software engineering expertise.

### Practical Applications
RSE methodologies are applied to:
- Building modular, reusable research tools
- Automating experimental workflows
- Managing dependencies in scientific software stacks
- Ensuring traceability between code and research outputs

### Community and Recognition
RSE has established formal recognition through:
- Dedicated Wikipedia articles in six languages
- Wikidata representation with verified sitelinks
- Integration with the broader software engineering discipline as a specialized instance

### Impact on Scientific Rigor
By enforcing engineering discipline, RSE mitigates risks from undocumented software decisions and reproducibility failures. It transforms research software from "throwaway" code into citable, versioned research artifacts comparable to publications or datasets.