Conclusions

\label{sec:conc}

Based on the responses summarized in Section \ref{sec:res}, we come to the following conclusions:

  • Unsurprisingly, all 1142 survey participants say that they do use software in their research (Figure 2). The unanimous answer to this question underscores the importance of understanding how astronomers use software (i.e., the purpose of this survey).

  • \(89\%\) of astronomers across all demographics write their own software (Figure \ref{fig:write1}). However, only 58% of those who write software are trained in software. Moreover, only 8% self-report as having better than “a little” training. From this we conclude that 42% of astronomers have no training for a key element of their work, and 92 % have at most “a little” training.

  • Python is the dominant language among our respondents. Surprisingly, this is true across all career stages (Figure \ref{fig:stack1}). While a commonly-expressed mindset, reflected in some of the comments, is that graduate students are more likely to know the newer languages, it appears that this is only mildly true, at least in our survey.

  • Astronomers have a fairly narrow software “stack”, with only 10 tools used by more than 10% or respondents. Theorists tend to have a more narrow stack relative to other fields (Figure \ref{fig:stack2}) as do graduate students relative to more senior researchers. Independent of career level and field, Python and shell scripting are are most popular tools for astronomers. These results show that training efforts can have a significant impact even if they only focus on a limited number of software tools. We suggest that the rankings we produce can help in choosing training topics that would be most useful for the broadest group of participants.

We caution that these results are tentative because our sampling methodology was not robust. If nothing else, we hope this survey will prompt a more formal study of software use in astronomy to better understand how we should use the limited resources of our community to improve software training and software use.