Published July 18, 2018 | Version v2
Dataset Open

Towards a Theory of Software Development Expertise — Supplementary Material

  • 1. University of Trier


Software development includes diverse tasks such as implementing new features, analyzing requirements, and fixing bugs. Being an expert in those tasks requires a certain set of skills, knowledge, and experience. Several studies investigated individual aspects of software development expertise, but what is missing is a comprehensive theory. We present a first conceptual theory of software development expertise that is grounded in data from a mixed-methods survey with 335 software developers and in literature on expertise and expert performance. Our theory currently focuses on programming, but already provides valuable insights for researchers, developers, and employers. The theory describes important properties of software development expertise and which factors foster or hinder its formation, including how developers' performance may decline over time. Moreover, our quantitative results show that developers' expertise self-assessments are context-dependent and that experience is not necessarily related to expertise.


We removed all user names, email addresses, websites, and company names that could identify individual participants. If you still observe any information that could identify participants, please immediately inform us (


Files (4.7 MB)

Name Size Download all
117.0 kB Preview Download
1.3 MB Preview Download
484 Bytes Preview Download
15.7 kB Preview Download
4.0 kB Preview Download
3.2 MB Preview Download
8.5 kB Preview Download