English

Towards a Theory of Software Development Expertise

Software Engineering 2018-11-06 v4

Abstract

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.

Keywords

Cite

@article{arxiv.1807.06087,
  title  = {Towards a Theory of Software Development Expertise},
  author = {Sebastian Baltes and Stephan Diehl},
  journal= {arXiv preprint arXiv:1807.06087},
  year   = {2018}
}

Comments

14 pages, 5 figures, 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018), ACM, 2018

R2 v1 2026-06-23T03:03:20.722Z