top of page

Recent Projects*
*some of them!

Understanding how developers problem-solve within ecosystems of practice, tooling, and social contexts is a critical step in determining which factors dampen, aid or accelerate software innovation. However, industry conceptions of developer problem-solving often focus on overly simplistic measures of output, over-extrapolate from small case studies, rely on conventional definitions of “programming” and short-term definitions of performance, fail to integrate the new economic features of the open collaborative innovation that marks software progress, and fail to integrate rich bodies of evidence about problem-solving from the social sciences. We propose an alternative to individualistic explanations for software developer problem-solving: a Cumulative Culture theory for developer problem-solving. This paper aims to provide an interdisciplinary introduction to underappreciated elements of developers’ communal, social cognition which are required for software development creativity and problem-solving, either empowering or constraining the solutions that developers access and implement. We propose that despite a conventional emphasis on individualistic explanations, developers’ problem-solving (and hence, many of the central innovation cycles in software) is better described as a cumulative culture where collective social learning (rather than solitary and isolated genius) plays a key role in the transmission of solutions, the scaffolding of individual productivity, and the overall velocity of innovation.

path_model.webp

An empirical intervention study (led by Dr. Carol Lee) that described a novel model for code review anxiety and tested an intervention to help developers face and manage anxiety around both giving and receiving code reviews.

What helps developers on software teams thrive? In this empirical observational study, we adapt four key measures of psychological affordances that have been shown to drive "virtuous cycles" for problem-solving and show that they associate with self-reported productivity for +1200 developers across 12+ industries and many demographics. In a mixed-methods design, we further explore the role of the Visibility and Value of software work and developers' perceptions of measurement in their workplaces.

Screen Shot 2024-07-08 at 3.40.04 PM.png
AI Skill Threat cycle.png

In this quantitative observational study, we explore the experiences of 3000+ software engineers and developers across 12+ industries engaged in the transition to generative AI-assisted software work. We describe a model for AI Skill Threat -- a pervasive experience of worry and anxiety when developers imagine a future of software with AI assistance used in coding. We document emerging equity and opportunity gaps for software teams, and show that teams high in learning culture and belonging show more resilience in the face of AI Skill Threat. 

In this scientific review paper I seek to provide a map, an entry point, and a call to action for improving the lives of the people who create software. I propose that the success of developer experience initiatives frequently hinges on the psychological affordances of the environment in which those initiatives are deployed. This paper tackles the psychological theory of social-psychological research on interventions, how the Mindset * Context model can be used to help software teams, and explores three developer-relevant examples to illustrate where intervention science can help technology teams thrive. 

banner.jpg
Screen Shot 2024-07-08 at 10.22.16 PM.png

This report presents data from a qualitative research project with 25 software developers, who completed a “debugging” task and an in-depth interview reflecting on their learning, problem-solving, and feedback experiences while onboarding to a new collaborative codebase. Drawing from the themes in these qualitative interviews as well as the larger context of psychological theory on learning and problem-solving environments, I define the term "Learning Debt" as a grounded metaphor to describe the systematic effects of an environment that discourages learning which can dampen code writers' creativity and knowledge-sharing. From across the psychological literature and these interviews, I also surface practical recommendations for fostering a better learning culture.

cycle_coding_in_the_dark.png
Theme_figure.png
bottom of page