BEAR Software Engagements

The Research Software Group (RSG) offers advice sessions, and short coaching or coding engagements to all researchers in the University, free of charge, under the banner of “BEAR Software”. We also offer free mentoring for Research Software Engineers (RSEs) across campus.

Our free engagements are rrelatively short, e.g. two weeks. For longer engagements please see our funded engagements page.

Advice

If a researcher either has need for new research software or wishes to improve their existing software, then BEAR Software RSEs can be engaged to talk through the needs of the researcher and offer advice on how best to achieve those needs. To request Advice please fill in a BEAR Software Advice Request.

BEAR Software RSEs are able to offer advice on the whole life-cycle of research software. Example topics include:

  • Specifying the requirements for a new piece of software or for additions to an existing piece of software.
  • Designing and architecting the software.
  • Writing the software and suggestions on which programming languages and tool-kits are best suited for the software being written.
  • Documenting code effectively so that when a researcher returns to it at a later date it is easy to understand, and so that it could be made available for others to edit if desired (e.g. Open Source).
  • Writing user documentation so that installing, and using (including expected input and output of the software) the software is an easier process.
  • Producing or using a testing framework or infrastructure for the software, so that a researcher can easily spot if changes or additions to part of the software, or any third party software it relies on, breaks the existing functionality of the software.
  • Porting the software to a new platform or system and how to approach optimisation of the software.
  • Upgrading the software, and any third party software that may be in use, and how to ensure that the upgrades have not broken the functionality of the software.
  • How to manage the release of the software, so that it is available, in an effective and useful way, for use by others in the research community and beyond.
  • Integrating a researcher's software with third party software and libraries.
  • Using version control to allow a researcher to manage, and track, changes to their software, data, papers, talks, etc.
  • Help with specifying the research software requirements of grant applications and specific assistance with the Technical Appendix.
  • Provide recommendations about software licenses and licensing issues.
  • Advise on available training courses - those available locally, online, and further afield. We can also discuss tailoring existing training courses to meet the specific needs of a research group.
  • General discussion about research software or research computing.

By following the BEAR Software Advice a researcher should be able to improve the reliability and maintainability of the research software they write/use and this will help the researcher with the reproducibility and robustness of their research.

Coaching

If a researcher, or research group, has the need for specific research software expertise, then an RSE can be requested, free of charge, for multiple half-day coaching sessions (max. 10). These sessions would be conducted face-to-face or via video-conferencing tools such as Zoom. The RSG can also provide mentoring to a RSE, to enable the RSE to develop technical and non-technical skills. To request Coaching please fill in a BEAR Software Coaching or Coding Request.

This work could follow on from an initial advice meeting where the further need would be identified and clearly defined objectives would be specified and agrees. Example tasks might include:

  • Migrating a project to use version control (e.g. gitlab or github).
  • Designing and implementing a testing framework.
  • Writing user documentation, licensing info etc.
  • Testing, debugging, and fixing issues.
  • Implementing a new feature.
  • Porting the software to a new operating system.
  • Designing and implementing a release process.
  • Help developing AI models.

The BEAR RSE will work with you to complete these tasks, for example doing pair programming. Our intention is that after the sessions you will be able to continue the work in your own team and have learnt technical, research software skills. Of course, later follow-on engagements are available, demand permitting.

Example of a typical coaching engagement

The BEAR Software RSE would meet with the researcher for a number of half-day Coaching sessions, usually one session per week. During each of these sessions there would be a task, or tasks, to complete during the session. Between sessions the researcher would work further on the project and this would identify further tasks for the follow on engagements.

Coding

If a researcher, or research group, has the need for specific research software expertise, then an RSE can be requested, free of charge, for up to ten days of coding time (normally spread over several weeks). To request Coding please fill in a BEAR Software Coaching or Coding Request.

This work could follow on from an initial advice meeting where the further need would be identified and clearly defined objectives would be specified and agrees. Example tasks might include:

  • Implementing a new feature.
  • Developing a research website.
  • Re-implementing an algorithm in a different language.
  • Adding parellisation or CUDA (GPU) support to an application.

Of course, later follow-on engagements are available, demand permitting.

Colleges

Professional Services