As an increasing number of research groups across the disciplines find themselves relying on data-driven insights only possible through high performance computing and machine learning applications, some nagging problems have arisen within academia.
For one thing, says Ian Cosden, Manager of the Research Software Engineering group, it’s difficult for members of a research group to have the computational sophistication needed to design and build software at the level that today’s research demands. Additionally, when graduate students or post-docs do develop code, they are often focused on getting their own research finished and published as quickly as possible. When they inevitably depart, their understanding of the software leaves with them. This cycle sets the stage for technical debt, the term used to describe how a programmer’s design short-cuts and lack of documentation can cause problems (especially a lack of modularity and maintainability) to crop up down the road.
The solution? The RSE or Research Software Engineer, a title that reflects a paradigm shift and a relatively new career path within higher education. Explains Cosden, “Professional RSEs complement traditional academic research groups by offering embedded, long-term software development, as well as such things as coding standards and techniques, domain specific knowledge, algorithm development and selection, and performance tuning and optimization.”
In the RSE group, each of the four current RSEs works within a specific research field and project. For example, Matthieu Lefebvre works with teams in both Physics and Geosciences, with his focus in geosciences being the automation of seismic tomography workflows to allow for the assimilation of massive amounts of data. David Turner is helping the Princeton Neuroscience Institute (PNI) improve the performance and quality of their computational and experimental neuroscience codes. Bei Wang is the co-principal investigator, (along with William Tang of the U.S. Department of Energy’s Princeton Plasma Physics Laboratory) on a project aimed at accelerating the development of high-performance computing code for use in fusion science research, as part of the Intel Parallel Computing Center Program.
The most recent addition to the RSE group, Vineet Bansal, was hired for a position jointly sponsored with the Center for Statistics and Machine Learning (CSML) to provide software support for researchers affiliated with their center, as well as to address the technical debt dilemma. Having a dedicated software engineer in a permanent position ensures that an in-depth understanding of important code bases will not be lost when the initial developer leaves.
“I'm excited to potentially collaborate on a number of projects,” says Bansal. “For example, Barbara Engelhardt’s group has written algorithms that search for connections between variations in genomic data and higher-level human traits such as height, with the long-range goal of identifying the specific markers controlling the mechanisms of disease. The better the code, the faster it runs, and the greater the chances are of finding the needle in the haystack, so to speak.” Regardless of the particular research group’s focus, Bansal notes, his aim will be to develop new codebases that are well documented, reliable and scale well to the massive computing resources available to us on campus. “This is something that also applies to existing software; making it robust and amenable to widespread adoption is a top priority.”
Says Ian Cosden, “Vineet’s involvement in programming endeavors will dramatically increase each project’s institutional memory and bring software industry ‘best practices’ to research groups. The end result of having more robust, maintainable, and extensible software, he adds, is that researchers will have access to computational tools that can be cornerstones of their work for years to come.”
While the UK leads the world in recognizing the RSE career path (the fledgling professional association of research software engineers held its second annual conference last year in Manchester), Cosden is confident that the trend is only going to grow. “Momentum is building. I think the field is heading towards a new career path, a redefinition of IT, or a new collaboration structure. We’ve already had six proposals from other research groups on campus requesting their own software engineer. I think this kind of interest comes from a combination of the success we’ve already had and, even more likely, the strength of this trend of computational research.”