  Software is now a vital scientific instrument, providing the tools for data
collection and analysis across disciplines from bioinformatics and
computational physics, to the humanities. The software used in research is
often home-grown and bespoke: it is constructed for a particular project, and
rarely maintained beyond this, leading to rapid decay, and frequent
`reinvention of the wheel'. Understanding how to develop sustainable research
software, such that it is suitable for future reuse, is therefore of interest
to both researchers and funders, but how to achieve this remains an open
question. Here we report the results of an interview study examining how
research software engineers -- the people actively developing software in an
academic research environment -- subjectively define software sustainability.
Thematic analysis of the data reveals two interacting dimensions:
\emph{intrinsic sustainability}, which relates to internal qualities of
software, such as modularity, encapsulation and testability, and
\emph{extrinsic sustainability}, concerning cultural and organisational
factors, including how software is resourced, supported and shared. Research
software engineers believe an increased focus on quality and discoverability
are key factors in increasing the sustainability of academic research software.
