UK Atomic Energy Authority
- Research Software Engineering
- learning about and then teaching good software development practices for research
- legacy code and refactoring it
- thermonuclear fusion and clean energy
- physics in all its forms
My undergraduate degree in Physics at Acadia University, Canada is where I was first introduced to programming in a scientific context through Java and C courses and joining the programming competition team. Keen to further explore programming in physics, I pursued a PhD in computational atomic and plasma physics based at the Culham Centre for Fusion Energy (CCFE) in the UK. CCFE hosts two experimental fusion reactors of the "tokamak" design: the Joint European Torus (JET) and the Mega-Ampere Spherical Tokamak Upgrade (MAST-U). These have variously been described as attempting to put the Sun in a magnetic bottle. Both devices have and continue to offer critical experimental results in our pursuit of fusion energy, which would be a clean and plentiful power source.
During this time, I worked primarily with Python and Fortran codes that model the atomic processes in fusion plasmas, and I learned two important lessons. First, the incredible power and efficiency that well-maintained codes could offer science. And second, the incredible agony and inefficiency that researchers can encounter when handling poorly-maintained codes. It became my primary concern to try to improve any research software that I touched. To focus more directly on this this task full-time, I moved into a research software engineer role in the central RSE team at the UK Atomic Energy Authority.
The RSE role has afforded me time to consistently develop my software engineering skills like testing, documentation, and requirements collection. I then pass this knowledge along to researchers at the lab through my project work with various groups, or more directly through training. It is this transfer of good software development practices that I want to nurture and expand within the software community at UKAEA through my SSI Fellowship.
First, I will be looking at ways to offer intermediate-level training to researchers at my lab through either CodeRefinery or current SSI efforts targeting an intermediate Python Carpentries course. Second, I want to evolve the existing software community into the domain of collaborative learning through the use of "Coding Dojos" (also known as group/mob programming).
My GitHub page
Follow me on Twitter @mattasdata
My LinkedIn profile
Check out contributions by and mentions of Matthew Bluteau on www.software.ac.uk