This page details the goals and services offered by the Research Software Engineer to help guide and support Schmidt Fellows in their research software development.
Goals¶
Establish high-quality research codebases that are well organized, documented, and designed for long-term use and collaboration.
Promote sustainable development practices that ensure research software is open source, reproducible, resilient to failure, and adaptable to future research directions.
Support reproducibility and transparency by connecting software versions, workflows, and outputs to research results that can be rerun and validated over time.
Showcase Fellows’ software products through an accessible online repository of research outputs that highlights reusable tools, workflows, and contributions.
Services¶
The Research Software Engineer can help in a variety of ways and can support Schmidt Fellows across the full lifecycle of their research software, from early design decisions to preparing code for public release. This includes help with:
Debugging and testing
Structuring and refactoring codebases
Defining development practices that support reproducibility and long-term maintenance
Integrating tools such as version control, continuous integration, and automated workflows
Data handling and workflow inputs/outputs
Running code on local machines, clusters, or cloud environments
Evaluating or adopting new libraries and technologies
These examples are intended as a starting point rather than a limitation.