Research


About My Research

In my research at Sandia National Laboratories, I study how people, practices, and tools come together to create trustworthy, high-quality software for science and engineering applications. Today, computing is central to the practice of science, and research software acts as a powerful engine of discovery and innovation that advances the human condition. Despite the importance of this class of software, however, the needs of research software developers are understudied relative to those in mainstream industry. The central goal of my work is to develop software engineering approaches that are tailored to the realities of scientific research.

In order to create solutions that fit with how people work and think, we must begin with understanding them. For that reason, I investigate how developers coordinate their expertise, divide responsibility, mentor one another, make quality trade-offs, and maintain shared understanding in software systems that are often too large, complex, and multidisciplinary for any one person to fully comprehend. I use empirical methods — including interviews, surveys,in-depth case studies, and repository mining — to understand their needs and develop practical interventions.

What those interventions look like can vary, from process improvement toolkits, published guidelines, and training workshops to program analysis tools and community platforms. Across these different forms, the aim is the same: to expand what scientific teams can accomplish while keeping the understanding, judgment, and accountability on which trustworthy research front and center.