The non-physical nature of software is unique among products developed in the field of engineering; this fact places extreme importance on the qualities that the members of the software engineering team provide. The role of the manager within such a team is one that has been discussed for nearly 50 years.
This paper addresses the domain-specific attributes required of a manager of software engineers. The authors used a mixed methods approach in their research. With the input of various engineers and managers at Microsoft, they created, deployed, and evaluated a survey of software engineers and managers. In a separate survey, the authors also “reviewed how the perceptions [of managers] in software engineering relate to [managers] in other [domains] within Microsoft.”
Through analysis of the results of these surveys, the authors provide a conceptual framework of 15 attributes that “characterize great engineering managers,” along with “contextual examples of how these attributes are put into action, and discuss the role of technical knowledge [in great management].” They provide quantitative evidence of the perceived importance of these attributes, what demographic differences exist (with some very interesting results), and how these findings compare to managers in other work domains. Finally, the authors compare their results to those from a similar study done at Google.
The paper contains a very complete set of over 100 references.
In summary, this paper can be very useful to software engineers in industry as well as instructors of software engineering courses.