Spotlight on James Hetherington
1 December 2015
This week the spotlight is on James Hetherington, Head of Research Software Development, Research IT Services, Information Services Division, and Honorary Lecturer, UCL Computer Science.
What is your role and what does it involve?
I'm head of the Research Software Development Group at UCL. Founded in September 2012, we work with scientists and scholars to produce high quality research software, from the simplest scripts to complex simulations running on state-of-the-art supercomputers.
We have been able to help researchers from every part of UCL with research programming projects. Whether helping to coax an improved level of performance out of code running on supercomputers, updating legacy code to extend its life, or developing new software from scratch to bring computing into research fields that are just beginning to realise its transformative power, we aim to make a crucial difference to research at UCL across all disciplines.
We're maxed out for exciting research programming work right now, ranging from supercomputer simulations of cerebrovascular blood flow to databases of ancient Mesopotamian tablets; but we're growing, and will have plenty of capacity for work from April 2016. Consider costing for research programming support into your next grant - get in touch for details!
Our group is part of the Research IT Services Department (RITS) in UCL Information Services Division. It's great to be part of the story of a new kind of research computing organisation. We're committed to making UCL the best place in the UK to do compute- and data-intensive research, through close collaboration with academic colleagues. Only by closely linking our work in software, data, and computing, and by ensuring that research infrastructure is integrated with the scientific and scholarly community, can we really make the promises of 21st century research a reality.
How long have you been at UCL and what was your previous role?
I first came to UCL in 2002 as a postdoctoral fellow on a project to build a computer model of glucose homeostasis (diabetes), after having completed a PhD in theoretical physics at Cambridge. I was part of a large movement of mathematical and computational people moving into the life sciences back then. It was a pioneering project, at the beginnings of Systems Biology. I had three giants of the UCL research scene for supervisors: Professor Anne Warner for biology, Professor Rob Seymour for mathematics, and Professor Anthony Finkelstein for computing. Interdisciplinary boundary-hopping has been the focus of my work ever since.
However, I succumbed to the failing of many computationally-minded postdocs, and wrote far too much code, and not enough papers, and a further academic position was not forthcoming! So after five years, in 2007 I left UCL for the MathWorks, makers of MATLAB, as a senior developer in the Model Management Group, looking at ways of organising and comparing complex computational models.
I then went to AMEE, a start-up building a database of computational models of human environmental impact. This was a very exciting time, trying to apply computational methods of knowledge management to the potential market in carbon modelling and trading ahead of climate change legislation. I very strongly believe in the importance of social enterprises; entrepreneurial non-government organisations with a mission beyond profit - just like the best universities! Sadly for us and for the world, carbon tax legislation didn't happen, and we were not able to sustain our programme. Many of the team went on to set up the UK Open Data Institute, including the founder, Gavin Starks.
I decided, however, that it was time to come back to academia, and to apply the skills I had learned in industry to research software. I believe that the tools and approaches of disciplined, agile software development can be transformative to the productivity of scientific programming, and this has been borne out by experience since my return. My first job after I got back was as a scientific programmer in the UCL Center for Computational Science, working on development of supercomputing simulations of cerebrovascular blood flow, with applications to automated analysis of the risk of brain haemorrhage. This work was supervised by Professor Peter Coveney, another important mentor for me. Following that work, I was asked to lead the new UCL Research Software Development initiative.
What working achievement or initiative are you most proud of?
Creating the UCL Research Software Development Group in 2012, and building it up over three years with grant income to a team of six research software engineers and myself, has been a privilege and a huge challenge.
Computationally based research has the potential to set the highest standards for openness, reproducibility, and reliability in research methods. However, a lack of appreciation for the significance of software as a research output often leads to software created in research institutions being treated as a secondary concern. Research software is often developed quickly to solve one-off problems, leading to fragile code that is generally not sustainable or usable beyond the lifetime of a given project, and is hard for other researchers to read and understand. Whilst commercial software engineers tend to follow a more disciplined approach to software development, collaborations with academia can fail due to lack of understanding of the research context.
UCL's solution has been to create a dedicated group of Research Software Engineers who combine academic research experience with an appreciation of good software engineering principles. We provide a service which helps researchers to build more readable, reliable and efficient code. Our work is not just about producing software on behalf of researchers; we work collaboratively, providing the tools, advice and training researchers need in order to follow best practice and continue to develop sustainable software in future.
We also work with partners such as the Software Sustainability Institute to advocate on behalf of research programmers for software as a first-class research output. Research Software Engineers will be an important part of the twenty-first century research team, and building a stable home for these skills in academia will help secure for research the benefits of a high quality, sustainable software infrastructure.
Tell us about a project you are working on now which is top of your to-do list?
Getting programming researchers to talk to each other is one of the most fulfilling parts of my work. A conversation where a person modelling cell migration in cancer and ship movement in the world economy both realise they have the same problems implementing their individual based modelling algorithm can do wonders for UCL research. (This really happened.) Interdisciplinarity is so cool, UCL is great at it, and computational data-driven research, as an approach which is transforming so many fields, is a great bridge builder.
To this end, we are working to create of a UCL "Research Programming Hub". This will go beyond our group in Research IT Services, and be a researcher-led peer community of programming scientists and scholars. Join us!
What is your favourite album, film and novel?
Music: Michael Nyman, Musique a Grand Vitesse.
Film: Actually, I'm going to choose a TV series - Twin Peaks. (If I really have to choose a film, then I'll go with On Her Majesty's Secret Service.)
Novel: Red Mars by Kim Stanley Robinson.
What is your favourite joke (pre-watershed)?
A statistician, an engineer and a physicist go to the races.
The statistician studies the form and the handicaps, and places an each-way bet, which places.
The engineer goes to the paddock, looks at the runners, notes which horses look in fine fettle, and backs a horse to win, which it does.
The physicist stays in the bar, and says:
"I'll tell you exactly which horse will win. Indeed, I'll tell you exactly how long each horse will take to run the course. The only problem is…
..they have to be perfectly spherical horses rolling in vacuum on a frictionless track."
Who would be your dream dinner guests?
The correct answer, of course, is my friends and family.
But keeping to the spirit in which the question was intended, and declaring that I'm allowed the deceased:
J. Robert Oppenheimer
And Keith Floyd, to cook for us.
What advice would you give your younger self?
I'm happy with the choices he made, and I don't think I know any better now than he did - any benefits of increased experience are counterbalanced by decreased energetic enthusiasm - so any advice I might give would be misplaced.
What would it surprise people to know about you?
My doctoral thesis, in supersymmetric particle physics, has now been proved wrong by experiment. As a scientist, that counts as a win.