Competencies of exceptional and nonexceptional software engineers

Abstract The attributes of individual software engineers are perhaps the most important factors determining the success of software development. Our goal is to identify the professional competencies that are most essential. In particular, we seek to identify the attributes that differentiate exceptional and nonexceptional software engineers. Phase 1 of our research is a qualitative study designed to identify competencies to be used in the quantitative analysis performed in phase 2. In phase 1, we conduct an in-depth review of 10 exceptional and 10 nonexceptional software engineers working for a major computing firm. We use biographical data and Myers-Briggs Type Indicator test results to characterize our sample. We conduct Critical Incident Interviews focusing on the subjects' experience in software and identify 38 essential competencies of software engineers. Phase 2 of this study is a survey of 129 software engineers conducted to determine the competencies that differentiate exceptional and nonexceptional engineers. Years of experience in software is the only biographical predictor of performance. Analysis of the participants Q-Sort of the 38 competencies identified in phase 1 reveals that 9 of these competencies are differentially related to engineer performance by t test. A 10-variable canonical discrimination function consisting of 3 biographical variables and 7 competencies correctly classifies 81% of the cases. The statistical analyses indicate that exceptional engineers (at the company studied) can be distinguished by behaviors associated with an external focus: behaviors directed at people or objects outside the individual. Exceptional engineers are more likely than nonexceptional engineers to maintain a “big picture,” have a bias for action, be driven by a sense of mission, exhibit and articulate strong convictions, play a proactive role with management, and help other engineers.

[1]  Earl Chrysler,et al.  Some basic determinants of computer programming productivity , 1978, CACM.

[2]  K. A. Ericsson,et al.  Protocol Analysis: Verbal Reports as Data , 1984 .

[3]  Grant Mccracken The long interview , 1988 .

[4]  Richard T. Turley Essential competencies of exceptional professional software engineers , 1992 .

[5]  G. Michael Schneider,et al.  Methods for improving controlled experimentation in software engineering , 1981, ICSE '81.

[6]  W BoehmBarry Seven basic principles of software engineering , 1983 .

[7]  Bill Curtis,et al.  Five Paradigms in the Psychology of Programming , 1988 .

[8]  Wladyslaw M. Turski,et al.  No Silver Bullet - Essence and Accidents of Software Engineering - Response , 1986, IFIP Congress.

[9]  D. Mcclelland Testing for competence rather than for "intelligence". , 1973, The American psychologist.

[10]  Richard T. White,et al.  A model of cognitive processes , 1977 .

[11]  Bill Curtis,et al.  Third time charm: Stronger prediction of programmer performance by software complexity metrics , 1979, ICSE 1979.

[12]  I. B. Myers Manual: A Guide to the Development and Use of the Myers-Briggs Type Indicator , 1985 .

[13]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[14]  B. Curtis,et al.  Measurement and experimentation in software engineering , 1980, Proceedings of the IEEE.

[15]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[16]  Dona M. Kagan,et al.  Personality and Learning FORTRAN , 1985, Int. J. Man Mach. Stud..

[17]  Barry W. Boehm,et al.  Seven basic principles of software engineering , 1983, J. Syst. Softw..

[18]  B. Curtis,et al.  Substantiating programmer variability , 1981, Proceedings of the IEEE.

[19]  Barry W. Boehm,et al.  Understanding and Controlling Software Costs , 1988, IEEE Trans. Software Eng..

[20]  M. Aldenderfer,et al.  Cluster Analysis. Sage University Paper Series On Quantitative Applications in the Social Sciences 07-044 , 1984 .

[21]  Thomas P. Moran,et al.  Guest Editor's Introduction: An Applied Psychology of the User , 1981, CSUR.

[22]  R. Weber Basic Content Analysis , 1986 .

[23]  J. C. Flanagan Psychological Bulletin THE CRITICAL INCIDENT TECHNIQUE , 2022 .

[24]  M. Wilson The Horizon Project , 1994 .

[25]  Iris Vessey,et al.  Expertise in Debugging Computer Programs: A Process Analysis , 1984, Int. J. Man Mach. Stud..

[26]  R Kelley,et al.  How Bell Labs creates star performers. , 1993, Harvard business review.

[27]  J. E. Sammet,et al.  Software psychology: human factors in computer and information systems , 1983, SGCH.

[28]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[29]  Gary W. Dickson,et al.  Problem solving for effective systems analysis: an experimental exploration , 1983, CACM.

[30]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[31]  W. Stephenson The study of behavior : Q-technique and its methodology , 1955 .

[32]  Mark G. Simkin,et al.  What best predicts computer proficiency? , 1989, CACM.

[33]  L. Cordingley,et al.  Q methodology. , 1997, Nurse Researcher.

[34]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .

[35]  Martha E. Pollack,et al.  Becoming a computer scientist , 1990, CACM.