Research Software Developer

Research Software Developere

In Volume 51, Number 2, March 2018 issue of SIAM News, Chris Richardson and Mike Croucher make the case for a career track principally devoted to improve software quality within the research community in the United Kingdom. A Research Software Developer (RSD) is that career track. A RSD facilitates academic research through maintenance, testing, and documentation of software. A RSD is not dedicated to any specific research project. The authors discuss a funding model successfully adopted in the United Kingdom.

The Software Sustainability Institute (SSI) survey found that 70 percent of academic researchers relied on software for their results and over 50 percent developed their own software.

It is about the project and experience for John, and he is proud to advance the mathematics behind finishing aspherical optical surfaces such as large telescope lenses, develop software for numerically computing the Hopf point for differential algebraic equations, patent a novel technique to advance modelling the triple helix folding of the protein macromolecule Collagen, implementing rigorous defect control for ordinary differential equations and develop a stepsize selection in the rigorous defect control of Taylor series methods. John assisted in collecting, implementing, and developing numerical examples for the numerical differential geometry package MANPAK and the numerical differential algebraic equations package DAEPAK. John wrote an interface to the Jenkins-Traub algorithm – a polynomial root finder – which is available on GitHub.

This collection of projects demonstrates John’s breadth of intellectual interest, curiosity, and experience. John is a RSD.

John's insight

A legacy code written in say FORTRAN77 may remain useful to industry or government. Not only does the user usually have considerable investment in this asset, the asset is mission critical. Yet these codes are expensive to maintain. Modern scientific software development offers philosophies about software craftsmanship that can help. Recent graduates and students of computational science and engineering are ideally suited to help end users remain on mission while completing tasks in budget and on time.