Help Desk: http://www.ucl.ac.uk/ras/portico/helpdesk
- Head of Research Software Development
- RITS Software Development
- ISD Research IT Services
- Information Services Division
- Honorary Lecturer
- Dept of Computer Science
- Faculty of Engineering Science
As a scientific software developer at UCL’s Centre for Computational Science, I worked to bring software engineering best practice into biomedical computational research projects, focusing on high-performance interactive, steerable models and simulations with clinical relevance.
As senior scientific innovator at AMEE UK Limited, I developedsystems to make it easier for organisations to understand their environmental impacts, producing web-based models of carbon footprinting. I conceived, prototyped, and led development and release of AMEE Explorer, winner of a Best of What’s New award in Popular Science Magazine in 2010.
As a senior developer in the Model Management group at the MathWorks I worked on model metadata, on searching for, linking and combining models, on managing the differences between similar models and on workflows for modelling in industrial organisations.
At the DTI Beacon project at the UCL Centre for Mathematics and Physics in the Life Sciences and Experimental Biology (CoMPLEX) I helped to develop a framework for combining models using different biological assumptions, mathematical formalisms, and computational platforms. We used this to build a multi-scale model of glucose homeostasis.
My doctoral work at Cambridge involved the construction of models of the Large Hadron Collider, determining for various proposed fundamental theories whether they can be tested experimentally. I developed a computational platform automating the solution of a broad class of such problems.
A growing proportion of researchers carry out their research through the medium of computer code, whether in traditional programming languages, or in domain specific languages used by modelling platforms. Such research often suffers through the lack of software development best practice within research teams. While postdocs and PhD students often do not have the time, and are not incentivised, to produce high-quality software usable by other researchers and sustainable beyond the lifetime of a project, generic contract software developers are not equipped to understand the academic context of the research.
In order to address this problem, UCL has established a Research Software Development Group, which I lead, staffed by experts combining software development expertise with experience as academic researchers. The team works with research groups across college to further UCL's efforts in computationally-based research. We form long-term in-depth collaborations with research groups in all departments to produce and maintain sustainable research software.
Based on the work of the Research Software Development Group, I research the best ways to create and maintain scientific software. I create libraries and tools to enhance computational research. Well written, readable software, written for humans to read as well as computers to execute, forms an important part of research communications and can deliver significant research impact.
Interests include: Scientific software development. Software as scientific communication. Computable publication. Test driven design. Correctness and quality in scientific computing. Reproducibility, provenance and audit for research software. Domain specific languages. Programmability. Supercomputing. Refactoring. Science as a service. Deployment, stability and systems programming. Configuration management. Continuous integration. Multiscale modelling. Code sharing and reuse.
The team provides teaching and training on software development for research at a variety of levels to students and researchers across college, from the basics of version control, through software testing methodologies, the use of a variety of languages and libraries for scientific computing, to advanced high-performance computing and the use of modern tools for managing, analysing and organising large and complex data.
|2002||PhD||Doctor of Philosophy – Theoretical Physics||University of Cambridge|
|2000||MSci||Master of Natural Science – Physics||University of Cambridge|
|1998||BA||Bachelor of Arts – Physics||University of Cambridge|