Research Software Engineering at Sheffield

Mike Croucher

I am a Research Software Engineer (RSE)

My role:

First appointment in Neil Lawrence's Open Data Science Initiative. The role is funded 50% faculty of Engineering and 50% CiCS.

My road to RSE

  • PhD Student (Sheffield)
  • IT officer (Manchester)
  • IT officer, Scientific Applications (Manchester)
  • IT co-ordinator, Scientific Applications (Manchester)
  • Head of EPS Applications Suport (Manchester)
  • Research Software Engineer (Manchester and Sheffield)

Enhance the University's capacity to produce high quality, efficient and sustainable research software.

Element of my Sheffield job description

Software Sustainibility Institute

Develop and maintain strategic relationships between the University and vendors of commercial and open source scientific software.
Element of my Sheffield job description


  • Manchester NA Group
  • IPython developers
  • Mathworks
  • Numerical Algorithms Group (NAG)
  • Dassault Systemes
  • Wolfram Research
  • MapleSoft
  • Intel
  • PGI
  • NVidia

At Sheffield in the last 3 months:

  • Upgraded NAG license to cover all products and platforms
  • Courses from NAG on their products and various HPC technologies coming soon
  • Course from Maplesoft coming soon
  • Site license for Mathematica (coming soon - hopefully)
  • Investigating feasibility of Intel Compiler licenses
  • Discussions with RogueWave Software about TotalView debugger

Determine and monitor the use of research software within the University. Use this information to inform working practices and develop services.

Element of my Sheffield job description

Provide free consultancy to internal research groups.

Element of my Sheffield job description

Examples from the last 3 months:

  • >10x speed-up on code written in R for SITRAN
  • Added Python 3 support to a major Machine Learning framework (GPy)
  • Converted MATLAB ABM simulation to Python and added unit-tests.
  • Automated HPC workflow for Python/Abaqus user (In Progress)

More examples:

Assist lecturers across the University to introduce computation in the teaching of any subject where it's relevant

Examples at Sheffield in the last 3 months

  • Bioinformatics (Marta Milo)
  • Physics iPeg (In progress. Susan Cartwright, Ed Daw)

Develop and deliver training courses in programming, software engineering and optimisation in languages popularly used by researchers.

Element of my Sheffield job description

Promote software best practices such as testing and version control

Element of my Sheffield job description

Promote research software 'Made in Sheffield' to raise its profile among the international research community.

Element of my Sheffield job description

'HPC ramping' - Learn about researcher's desktop workflow and assist them with migration to HPC systems including optimization, specialist hardware (including GPUs), on-campus HPC systems and cloud-based compute resources

Element of my Sheffield job description
  • Identify, develop and promote technologies that make access to HPC systems easier for end users.
  • Identify and report the latest software and hardware computational technologies that would be of use to University researchers.

  • Continually study new and existing tools and ideas in research computing in order to maintain expertise.
  • Attend conferences and workshops to understand latest technological developments.
Elements of my Sheffield job description

Collaborate with research colleagues from across the University to create, improve and maintain research software

Element of my Sheffield job description

Research Software: Can I help?

Contact Me