Research is becoming increasingly more about having skills and expertise that go well beyond a particular domain of knowledge. To be a successful research scientist, not only do you need this domain expertise, but you also need to know statistics, how to ask and answer scientific questions, and datasets and methods to do so. But expertise and data is not enough. With the increasing demand for using computational resources and scientific programming, practices from software engineering and high performance computing (HPC) have become standard practice in research today.
While having an understanding of these practices is an important part of the learning experience for some, the implementation of software and scaled machine learning pipelines can be a burden for others. Further, reproducibility and maintenance of code suffers in the long run when scientists move on to a new project or position. To address this need for an immediate service and continued maintenance of software, we have created this portal to offer Research Software Engineering as a service, growing a community of Research Software Engineers to provide the community with the following services:
- Scaling of an algorithm to run on HPC and/or cloud services
- Initial development of a code repository, including but not limited to creating packages, testing, containerization, documentation, and data provenance (e.g., DOIs).
- Maintainer responsibility of a code repository, including responding to issues and addressing questions and feature requests for the continued lifecycle of the software
Along with providing support for the above, through this effort we also hope to grow a collection of consistently high quality, open source, Stanford-grown software.
Do you want to ask a question, get feedback on a project, or otherwise contact us?