skip to main content
10.1145/3236024.3236061acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections

Towards a theory of software development expertise

Published:26 October 2018Publication History

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.

References

  1. Phillip L. Ackerman and Margaret E. Beier. 2006.Google ScholarGoogle Scholar
  2. Methods for Studying the Structure of Expertise: Psychometric Approaches. In The Cambridge Handbook of Expertise and Expert Performance. 147–165.Google ScholarGoogle Scholar
  3. American Psychological Association. 2015.Google ScholarGoogle Scholar
  4. APA Dictionary of Psychology.Google ScholarGoogle Scholar
  5. John Anvik, Lyndon Hiew, and Gail C. Murphy. 2006. Who Should Fix This Bug?. In 28th International Conference on Software Engineering (ICSE 2006). 361–370. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Adnan Aziz, Tsung-Hsien Lee, and Amit Prakash. 2012.Google ScholarGoogle Scholar
  7. Elements of Programming Interviews. CreateSpace Independent Publishing Platform.Google ScholarGoogle Scholar
  8. Sebastian Baltes and Stephan Diehl. 2016. Worse Than Spam: Issues In Sampling Software Developers. In 10th International Symposium on Empirical Software Engineering and Measurement (ESEM 2016). 52:1–52:6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Sebastian Baltes and Stephan Diehl. 2018.Google ScholarGoogle Scholar
  10. Towards a Theory of Software Development Expertise — Supplementary Material. (2018).Google ScholarGoogle Scholar
  11. 5281/zenodo.1299798Google ScholarGoogle Scholar
  12. Tanja Gabriele Baudson and Franzis Preckel. 2016. mini-q: Intelligenzscreening in drei Minuten. Diagnostica 62, 3 (2016), 182–197.Google ScholarGoogle ScholarCross RefCross Ref
  13. Sarah Beecham, Nathan Baddoo, Tracy Hall, Hugh Robinson, and Helen Sharp. 2008.Google ScholarGoogle Scholar
  14. Motivation in Software Engineering: A systematic literature review. Information and Software Technology 50, 9 (2008), 860–878. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Gunnar R. Bergersen, Dag I. K. Sjoberg, and Tore Dyba. 2014. Construction and Validation of an Instrument for Measuring Programming Skill. IEEE Transactions on Software Engineering 40, 12 (2014), 1163–1184.Google ScholarGoogle ScholarCross RefCross Ref
  16. Ricardo Britto, Darja Smite, and Lars-Ola Damm. 2016.Google ScholarGoogle Scholar
  17. Experiences from Measuring Learning and Performance in Large-Scale Distributed Software Development. In 10th International Symposium on Empirical Software Engineering and Measurement (ESEM 2016). 1–6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Guillermo Campitelli and Fernand Gobet. 2011. Deliberate Practice. Current Directions in Psychological Science 20, 5 (2011), 280–285.Google ScholarGoogle ScholarCross RefCross Ref
  19. Pierre Carbonnelle. 2016. PYPL PopularitY of Programming Language: March 2016. (2016). http://pypl.github.io/PYPL.htmlGoogle ScholarGoogle Scholar
  20. Kathy Charmaz. 2014.Google ScholarGoogle Scholar
  21. Constructing grounded theory (2nd ed.). Sage.Google ScholarGoogle Scholar
  22. Michelene T. H. Chi. 2006. Two Approaches to the Study of Expert’s Characteristics. In The Cambridge Handbook of Expertise and Expert Performance.Google ScholarGoogle Scholar
  23. Earl Chrysler. 1978.Google ScholarGoogle Scholar
  24. Some Basic Determinants of Computer Programming Productivity. Communications of the ACM 21, 6 (1978), 472–483. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. K. Alec Chrystal and Paul D. Mizen. 2003. Goodhart’s law: Its origins, meaning and implications for monetary policy. Central banking, monetary theory and practice: Essays in honour of Charles Goodhart 1 (2003), 221–243.Google ScholarGoogle Scholar
  26. Norman Cliff. 1993. Dominance statistics: Ordinal analyses to answer ordinal questions. Psychological bulletin 114, 3 (1993), 494.Google ScholarGoogle Scholar
  27. D. Coleman, D. Ash, B. Lowther, and P. Oman. 1994. Using metrics to evaluate software system maintainability. Computer 27, 8 (1994), 44–49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Juliet Corbin and Anselm Strauss. 2008.Google ScholarGoogle Scholar
  29. Basics of qualitative research (3rd ed.). SAGE Publications.Google ScholarGoogle Scholar
  30. Shirley Cruz, Fabio Q. B. da Silva, and Luiz Fernando Capretz. 2015.Google ScholarGoogle Scholar
  31. Forty years of research on personality in software engineering: A mapping study. Computers in Human Behavior 46 (2015), 94–113. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Bill Curtis. 1984. Fifteen years of psychology in software engineering: Individual differences and cognitive science. In 7th International Conference on Software Engineering (ICSE 1984). Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Oscar Dieste, Alejandrina M. Aranda, Fernando Uyaguari, Burak Turhan, Ayse Tosun, Davide Fucci, Markku Oivo, and Natalia Juristo. 2017. Empirical evaluation of the effects of experience on code quality and programmer productivity: An exploratory study. Empirical Software Engineering 22, 5 (2017), 2457–2542. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Stuart E. Dreyfus. 2004. The five-stage model of adult skill acquisition. Bulletin of science, technology & society 24, 3 (2004), 177–181.Google ScholarGoogle Scholar
  35. Stuart E. Dreyfus and Hubert L. Dreyfus. 1980. A five-stage model of the mental activities involved in directed skill acquisition. University of California, Berkeley ORC 80-2 (1980), 1–22.Google ScholarGoogle Scholar
  36. Alastair Dunsmore and Marc Roper. 2000.Google ScholarGoogle Scholar
  37. A comparative evaluation of program comprehension measures. Department of Computer Science, University of Strathclyde EFoCS-35-2000 (2000), 1–7.Google ScholarGoogle Scholar
  38. K. Anders Ericsson. 2006. An Introduction to Cambridge Handbook of Expertise and Expert Performance: Its Development, Organization, and Content. In The Cambridge Handbook of Expertise and Expert Performance. 3–19.Google ScholarGoogle Scholar
  39. K. Anders Ericsson. 2006. The Influence of Experience and Deliberate Practice on the Development of Superior Expert Performance. In The Cambridge Handbook of Expertise and Expert Performance. 683–703.Google ScholarGoogle Scholar
  40. K. Anders Ericsson, Neil Charness, Paul J. Feltovich, and Robert R. Hoffman (Eds.). 2006.Google ScholarGoogle Scholar
  41. The Cambridge Handbook of Expertise and Expert Performance.Google ScholarGoogle Scholar
  42. K. Anders Ericsson, Ralf T. Krampe, and Clemens Tesch-Römer. 1993. The role of deliberate practice in the acquisition of expert performance. Psychological review 100, 3 (1993), 363.Google ScholarGoogle Scholar
  43. K. Anders Ericsson, Michael J. Prietula, and Edward T. Cokely. 2007. The making of an expert. Harvard business review 85, 7/8 (2007), 114.Google ScholarGoogle Scholar
  44. K. Anders Ericsson and Jacqui Smith. 1991. Prospects and limits of the empirical study of expertise: An introduction. In Toward a general theory of expertise: Prospects and limits. Vol. 344. 1–38.Google ScholarGoogle Scholar
  45. Paul J. Feltovich, Michael J. Prietula, and K. Anders Ericsson. 2006.Google ScholarGoogle Scholar
  46. Studies of Expertise from Psychological Perspectives. In The Cambridge Handbook of Expertise and Expert Performance. 41–67.Google ScholarGoogle Scholar
  47. Norman Fenton and James Bieman. 2015.Google ScholarGoogle Scholar
  48. Software Metrics: A Rigorous and Practical Approach. CRC Press.Google ScholarGoogle Scholar
  49. Thomas Fritz, Gail C. Murphy, and Emily Hill. 2007.Google ScholarGoogle Scholar
  50. Does a Programmer’s Activity Indicate Knowledge of Code?. In 6th European Software Engineering Conference and ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE 2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Ron Garland. 1991. The Mid-Point on a Rating Scale: Is it Desirable? Marketing Bulletin 2, Research Note 3 (1991), 66–70.Google ScholarGoogle Scholar
  52. Barney G. Glaser and Anselm L. Strauss. 1967.Google ScholarGoogle Scholar
  53. The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine Transaction.Google ScholarGoogle Scholar
  54. Lewis R. Goldberg. 1999. A broad-bandwidth, public domain, personality inventory measuring the lower-level facets of several five-factor models. Personality psychology in Europe 7, 1 (1999), 7–28.Google ScholarGoogle Scholar
  55. Charles A. E. Goodhart. 1984.Google ScholarGoogle Scholar
  56. Monetary Theory and Practice: The UK Experience. Macmillan Press.Google ScholarGoogle Scholar
  57. Georgios Gousios. 2013. The GHTorrent dataset and tool suite. In 10th International Working Conference on Mining Software Repositories (MSR 2013). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Daniel Graziotin, Xiaofeng Wang, and Pekka Abrahamsson. 2015. How do you feel, developer? An explanatory theory of the impact of affects on programming performance. PeerJ Computer Science 1 (2015), e18.Google ScholarGoogle ScholarCross RefCross Ref
  59. Shirley Gregor. 2006. The nature of theory in information systems. MIS quarterly 30, 3 (2006), 611–642. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Lucas Gren. 2017. The Links Between Agile Practices, Interpersonal Conflict, and Perceived Productivity. In 21st International Conference on Evaluation and Assessment in Software Engineering (EASE 2017). 292–297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. David Z. Hambrick and Elizabeth J. Meinz. 2011. Limits on the Predictive Power of Domain-Specific Experience and Knowledge in Skilled Performance. Current Directions in Psychological Science 20, 5 (2011), 275–279.Google ScholarGoogle ScholarCross RefCross Ref
  62. Jo E. Hannay, Dag I. K. Sjoberg, and Tore Dyba. 2007. A systematic review of theory use in software engineering experiments. IEEE Transactions on Software Engineering 33, 2 (2007), 87–107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Owen Hargie (Ed.). 2006.Google ScholarGoogle Scholar
  64. The Handbook of Communication Skills (3 ed.). Routledge.Google ScholarGoogle Scholar
  65. James D. Herbsleb and Audris Mockus. 2003. Formulation and preliminary test of an empirical theory of coordination in software engineering. In 4th European Software Engineering Conference and ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE 2003). 138–137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Dennis E. Hinkle, William Wiersma, and Stephen G. Jurs. 1979.Google ScholarGoogle Scholar
  67. Applied statistics for the behavioral sciences. Rand McNally College Publishing.Google ScholarGoogle Scholar
  68. Vera Hoorens. 1993. Self-enhancement and superiority biases in social comparison. European review of social psychology 4, 1 (1993), 113–139.Google ScholarGoogle Scholar
  69. Andy Hunt. 2008.Google ScholarGoogle Scholar
  70. Pragmatic Thinking and Learning: Refactor Your Wetware. Pragmatic bookshelf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Earl Hunt. 2006. Expertise, Talent, and Social Encouragement. In The Cambridge Handbook of Expertise and Expert Performance. 31–38.Google ScholarGoogle Scholar
  72. R. Burke Johnson, Anthony J. Onwuegbuzie, and Lisa A. Turner. 2007. Toward a definition of mixed methods research. Journal of mixed methods research 1, 2 (2007), 112–133.Google ScholarGoogle ScholarCross RefCross Ref
  73. Capers Jones. 2008.Google ScholarGoogle Scholar
  74. Applied Software Measurement: Global Analysis of Productivity and Quality (3 ed.). McGraw-Hill Education.Google ScholarGoogle Scholar
  75. Huzefa H. Kagdi, Maen Hammad, and Jonathan I. Maletic. 2008. Who can help me with this source code change?. In 24th IEEE International Conference on Software Maintenance (ICSM 2008). 157–166.Google ScholarGoogle Scholar
  76. Eirini Kalliamvakou, Christian Bird, Thomas Zimmermann, Andrew Begel, Robert DeLine, and Daniel M. German. 2017. What Makes a Great Manager of Software Engineers? IEEE Transactions on Software Engineering Early Access Articles, 1 (2017), 1.Google ScholarGoogle Scholar
  77. Barbara Kitchenham, Lech Madeyski, David Budgen, Jacky Keung, Pearl Brereton, Stuart M. Charters, Shirley Gibbs, and Amnart Pohthong. 2017.Google ScholarGoogle Scholar
  78. Robust Statistical Methods for Empirical Software Engineering. Empirical Software Engineering 22, 2 (2017), 579–630. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Barbara A. Kitchenham, Shari Lawrence Pfleeger, Lesley M. Pickard, Peter W. Jones, David C. Hoaglin, Khaled El Emam, and Jarrett Rosenberg. 2002. Preliminary guidelines for empirical research in software engineering. IEEE Transactions on Software Engineering 28, 8 (2002), 721–734. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Andrew J. Ko and Bob Uttl. 2003. Individual differences in program comprehension strategies in unfamiliar programming systems. In 11th International ESEC/FSE ’18, November 4–9, 2018, Lake Buena Vista, FL, USA Sebastian Baltes and Stephan Diehl Workshop on Program Comprehension (IWPC 2003). 175–184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Ralf Th. Krampe and Neil Charness. 2006. Aging and Expertise. In The Cambridge Handbook of Expertise and Expert Performance. 723–742.Google ScholarGoogle Scholar
  82. Philippe Kruchten, Robert L. Nord, and Ipek Ozkaya. 2012. Technical debt: From metaphor to theory and practice. IEEE Software 6 (2012), 18–21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. Justin Kruger and David Dunning. 1999. Unskilled and unaware of it: How difficulties in recognizing one’s own incompetence lead to inflated self-assessments. Journal of Personality and Social Psychology 77, 6 (1999), 1121.Google ScholarGoogle ScholarCross RefCross Ref
  84. Ann Langley. 1999. Strategies for theorizing from process data. Academy of management review 24, 4 (1999), 691–710.Google ScholarGoogle Scholar
  85. Thomas D. LaToza, Gina Venolia, and Robert DeLine. 2006. Maintaining mental models: A study of developer work habits. In 28th International Conference on Software Engineering (ICSE 2006). 492–501. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Paul Luo Li, Andrew J. Ko, and Jiamin Zhu. 2015. What Makes A Great Software Engineer?. In 37th International Conference on Software Engineering (ICSE 2015). Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Edwin A. Locke, Gary P. Latham, Ken J. Smith, and Robert E. Wood. 1990.Google ScholarGoogle Scholar
  88. A Theory of Goal Setting & Task Performance (1 ed.). Prentice Hall.Google ScholarGoogle Scholar
  89. Wolfgang Lutz, Warren Sanderson, and Sergei Scherbov. 2008.Google ScholarGoogle Scholar
  90. The coming acceleration of global population ageing. Nature 451, 7179 (2008), 716–719.Google ScholarGoogle Scholar
  91. David Ma, David Schuler, Thomas Zimmermann, and Jonathan Sillito. 2009.Google ScholarGoogle Scholar
  92. Expert Recommendation with Usage Expertise. In 25th IEEE International Conference on Software Maintenance (ICSM 2009). 535–538.Google ScholarGoogle Scholar
  93. M. Lynne Markus and Daniel Robey. 1988. Information technology and organizational change: Causal structure in theory and research. Management science 34, 5 (1988), 583–598. Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. Antoinette McCallin. 2003. Grappling with the literature in a grounded theory study. Contemporary Nurse 15, 1-2 (2003), 61–69.Google ScholarGoogle ScholarCross RefCross Ref
  95. David C. McClelland. 1987.Google ScholarGoogle Scholar
  96. Human motivation. Cambridge University Press.Google ScholarGoogle Scholar
  97. Robert R. McCrae and Oliver P. John. 1992. An Introduction to the Five-Factor Model and Its Applications. Journal of Personality 60, 2 (1992), 175–215.Google ScholarGoogle ScholarCross RefCross Ref
  98. David W. McDonald and Mark S. Ackerman. 2000. Expertise recommender: A flexible recommendation system and architecture. In Proceeding on the 2000 ACM Conference on Computer Supported Cooperative Work (CSCW 2000). 231–240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  99. Gayle Laakmann McDowell. 2014.Google ScholarGoogle Scholar
  100. Cracking the Coding Interview (5th ed.).Google ScholarGoogle Scholar
  101. Sharan B. Merriam, Rosemary S. Caffarella, and Lisa M. Baumgartner. 2007.Google ScholarGoogle Scholar
  102. Learning in Adulthood: A Comprehensive Guide (3 ed.). John Wiley & Sons.Google ScholarGoogle Scholar
  103. Merriam-Webster.com. 2018.Google ScholarGoogle Scholar
  104. expert. (2018). http://www.merriamwebster. com/dictionary/expertGoogle ScholarGoogle Scholar
  105. Andre N. Meyer, Laura E. Barton, Gail C. Murphy, Thomas Zimmermann, and Thomas Fritz. 2017.Google ScholarGoogle Scholar
  106. The Work Life of Developers: Activities, Switches and Perceived Productivity. IEEE Transactions on Software Engineering 43, 12 (2017). Google ScholarGoogle ScholarDigital LibraryDigital Library
  107. Andre N. Meyer, Gail C. Murphy, Thomas Zimmermann, and Thomas Fritz. 2017.Google ScholarGoogle Scholar
  108. Design Recommendations for Self-Monitoring in the Workplace: Studies in Software Development. Proceedings of the ACM on Human-Computer Interaction 1, CSCW (2017).Google ScholarGoogle Scholar
  109. Harald A. Mieg. 2006. Social and Sociological Factors in the Development of Expertise. In The Cambridge Handbook of Expertise and Expert Performance.Google ScholarGoogle Scholar
  110. Audris Mockus and James D. Herbsleb. 2002. Expertise browser: A quantitative approach to identifying expertise. In 24th International Conference on Software Engineering (ICSE 2002). 503–512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  111. John Mongan, Eric Gigure, and Noah Kindler. 2013.Google ScholarGoogle Scholar
  112. Programming interviews exposed (3rd ed.). John Wiley & Sons.Google ScholarGoogle Scholar
  113. Guy Moors. 2008. Exploring the effect of a middle response category on response style in attitude measurement. Quality & quantity 42, 6 (2008), 779–794.Google ScholarGoogle Scholar
  114. Patrick Morrison and Emerson Murphy-Hill. 2013. Is programming knowledge related to age? An exploration of Stack Overflow. In 10th International Working Conference on Mining Software Repositories (MSR 2013). 69–72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  115. Janice M. Morse. 2007. Sampling in grounded theory. In The SAGE Handbook of Grounded Theory. 229–244.Google ScholarGoogle Scholar
  116. Stephan J. Motowidlo, Walter C. Borman, and Mark J. Schmit. 1997. A Theory of Individual Differences in Task and Contextual Performance. Human Performance 10, 2 (1997), 71–83.Google ScholarGoogle ScholarCross RefCross Ref
  117. Adolfo Pena. 2010. The Dreyfus model of clinical problem-solving skills acquisition: A critical perspective. Medical Education Online 15 (2010), 1–11.Google ScholarGoogle ScholarCross RefCross Ref
  118. Paul Ralph. 2018. Toward Methodological Guidelines for Process Theories and Taxonomies in Software Engineering. IEEE TSE Early Access (2018).Google ScholarGoogle Scholar
  119. Romain Robbes and David Rothlisberger. 2013. Using Developer Interaction Data to Compare Expertise Metrics. In 10th International Working Conference on Mining Software Repositories (MSR 2013). 297–300. Google ScholarGoogle ScholarDigital LibraryDigital Library
  120. S. Ian Robertson. 2016.Google ScholarGoogle Scholar
  121. Problem Solving: Perspectives from Cognition and Neuroscience (2 ed.). Routledge.Google ScholarGoogle Scholar
  122. Pierre N. Robillard. 1999.Google ScholarGoogle Scholar
  123. The Role of Knowledge in Software Development. Communications of the ACM 42, 1 (1999), 87–92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  124. D. Rodríguez, M. A. Sicilia, E. García, and R. Harrison. 2012. Empirical findings on team size and productivity in software development. Journal of Systems and Software 85, 3 (2012), 562–570. Google ScholarGoogle ScholarDigital LibraryDigital Library
  125. Richard M. Ryan and Edward L. Deci. 2000.Google ScholarGoogle Scholar
  126. Self-determination theory and the facilitation of intrinsic motivation, social development, and well-being. American Psychologist 55, 1 (2000), 68–78.Google ScholarGoogle Scholar
  127. Johnny Saldana. 2015.Google ScholarGoogle Scholar
  128. The coding manual for qualitative researchers. Sage.Google ScholarGoogle Scholar
  129. Felix D. Schonbrodt and Friederike X. R. Gerstenberg. 2012. An IRT analysis of motive questionnaires: The unified motive scales. Journal of Research in Personality 46, 6 (2012), 725–742.Google ScholarGoogle ScholarCross RefCross Ref
  130. Norbert Schwarz and Daphna Oyserman. 2001. Asking questions about behavior: Cognition, communication, and questionnaire construction. American Journal of Evaluation 22, 2 (2001), 127–160.Google ScholarGoogle ScholarCross RefCross Ref
  131. Ben Shneiderman and Richard Mayer. 1979. Syntactic/Semantic Interactions in Programmer Behavior: A Model and Experimental Results. International Journal of Computer and Information Sciences 8, 3 (1979), 219–238.Google ScholarGoogle ScholarCross RefCross Ref
  132. Janet Siegmund, Christian Kästner, Sven Apel, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, and André Brechmann. 2014.Google ScholarGoogle Scholar
  133. Understanding understanding source code with functional magnetic resonance imaging. In 36th International Conference on Software Engineering (ICSE 2014). 378–389. Google ScholarGoogle ScholarDigital LibraryDigital Library
  134. Janice Singer, Timothy C. Lethbridge, Norman G. Vinson, and Nicolas Anquetil. 1997. An examination of software engineering work practices. In 1997 Conference of the Centre for Advanced Studies on Collaborative Research (CASCON 1997). Google ScholarGoogle ScholarDigital LibraryDigital Library
  135. Dag I. K. Sjoberg, Tore Dyba, Bente C. D. Anda, and Jo E. Hannay. 2008. Building theories in software engineering. In Guide to Advanced Empirical Software Engineering. 312–336.Google ScholarGoogle Scholar
  136. Sabine Sonnentag. 1995.Google ScholarGoogle Scholar
  137. Excellent software professionals: Experience, work activities, and perception by peers. Behaviour & Information Technology 14, 5 (1995), 289–299.Google ScholarGoogle Scholar
  138. Sabine Sonnentag. 1998. Expertise in professional software design: A process study. Journal of Applied Psychology 83, 5 (1998), 703–715.Google ScholarGoogle ScholarCross RefCross Ref
  139. Sabine Sonnentag, Cornelia Niessen, and Judith Volmer. 2006. Expertise in Software Design. In The Cambridge Handbook of Expertise and Expert Performance.Google ScholarGoogle Scholar
  140. Lauren A. Sosniak. 2006.Google ScholarGoogle Scholar
  141. Retrospective Interviews in the Study of Expertise and Expert Performance. In The Cambridge Handbook of Expertise and Expert Performance. 287–301.Google ScholarGoogle Scholar
  142. Stack Exchange Inc. 2015. Stack Exchange Data Dump: August 18, 2015. (2015).Google ScholarGoogle Scholar
  143. https://archive.org/details/stackexchange/Google ScholarGoogle Scholar
  144. Stack Exchange Inc. 2016. 2015 Developer Survey. (2016). http://stackoverflow. com/research/developersurvey- 2015Google ScholarGoogle Scholar
  145. Abbas Tashakkori and Charles Teddlie. 1998.Google ScholarGoogle Scholar
  146. Mixed methodology: Combining qualitative and quantitative approaches. Sage.Google ScholarGoogle Scholar
  147. Robert Thornberg. 2012. Informed grounded theory. Scandinavian Journal of Educational Research 56, 3 (2012), 243–259.Google ScholarGoogle ScholarCross RefCross Ref
  148. TIOBE software BV. 2016. TIOBE Index: March 2016. (2016). http://www.tiobe. com/tiobe_indexGoogle ScholarGoogle Scholar
  149. Dennis Tourish and Owen Hargie. 2003. Motivating critical upward communication: A key challenge for management decision making. In Key Issues in Organizational Communication. Routledge, 188–204.Google ScholarGoogle Scholar
  150. Christoph Treude, Fernando Figueira Filho, and Uirá Kulesza. 2015. Summarizing and measuring development activity. In 10th European Software Engineering Conference and ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE 2015). 625–636. Google ScholarGoogle ScholarDigital LibraryDigital Library
  151. Andrew H. van de Ven. 1989.Google ScholarGoogle Scholar
  152. Nothing is quite so practical as a good theory. Academy of management review 14, 4 (1989), 486–489.Google ScholarGoogle Scholar
  153. Andrew H. van de Ven and Marshall Scott Poole. 1995. Explaining development and change in organizations. Academy of management review 20, 3 (1995).Google ScholarGoogle Scholar
  154. Bogdan Vasilescu, Vladimir Filkov, and Alexander Serebrenik. 2013. StackOverflow and GitHub: Associations between Software Development and Crowdsourced Knowledge. In 2013 International Conference on Social Computing (SocialCom 2013). 188–195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  155. Adriana Santarosa Vivacqua and Henry Lieberman. 2000. Agents to assist in finding help. In 2000 Conference on Human factors in computing systems (CHI 2000). 65–72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  156. Karl E. Weick. 1989. Theory Construction as Disciplined Imagination. Academy of management review 14, 4 (1989), 516–531.Google ScholarGoogle Scholar
  157. Robert W. Weisberg. 2006. Modes of Expertise in Creative Thinking: Evidence from Case Studies. In The Cambridge Handbook of Expertise and Expert Performance. 761–787.Google ScholarGoogle Scholar
  158. Lawrence G. Weiss, Donald H. Saklofske, Diane Coalson, and Susan Engi Raiford. 2010.Google ScholarGoogle Scholar
  159. WAIS-IV clinical use and interpretation: Scientist-practitioner perspectives. Academic Press.Google ScholarGoogle Scholar
  160. Frank Wilcoxon. 1945. Individual comparisons by ranking methods. Biometrics 1, 6 (1945), 80–83.Google ScholarGoogle ScholarCross RefCross Ref
  161. Minghui Zhou and Audris Mockus. 2010. Developer Fluency: Achieving True Mastery in Software Projects. In 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2010). 137–146. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards a theory of software development expertise

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ESEC/FSE 2018: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
      October 2018
      987 pages
      ISBN:9781450355735
      DOI:10.1145/3236024

      Copyright © 2018 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 26 October 2018

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate112of543submissions,21%

      Upcoming Conference

      FSE '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader