We can help you with anything ranging from code development, to documentation, and later maintenance of a final product. Want to see a more interactive version of the below? You can also use our services explorer.
- Software including development of code, packages, testing, continuous integration, and containerization.
- High Performance Computing including scaling an algorithm to run on HPC and/or cloud services, and optimizing resource usage.
- Maintenance of code respositories including responding to issues and requests for the continued lifecycle of the software.
Some of our RSEs have domain-specific knowledge, and can optimally help in a domain of interest. If your group, or school would like a research software engineer but aren’t sure how we can help, here are some examples:
- Support scientific packages: to identify scripts that need optimization or other improvement. For example, a set of Matlab scripts might be more accessible for the community if converted to a Python package or extension.
- Extend useful code: for existing libraries that could use regular maintenance. It’s common for a package to come out and be widely used, but then not get proper attention if the author cannot allocate the time.
- Optimize Runtime If your lab has existing pipelines that might be better optimized to run on HPC, we can help.
- Make it work If your lab has code that just isn’t working (e.g., Tensorflow), you can call us in to triage.
Contribute to the publication domain
For all of these examples, the research software engineer can help contribute to the domain of published work. For example, if a Python package or extension is developed, it can be published to encourage broader use across the community.
Would you like to see another category of services? Please let us know.