What Makes a Great Software Engineer?

Book Journey - Part 3

2022, Jan 27    


What Makes a Great Software Engineer?, D.O.I 10.1109/ICSE.2015.33, written by Paul Luo Li, Amy J. Ko and Jiamin Zhu.

What Makes a Great Software Engineer, the paper

Similar to my last post on Software Engineering expertise, the authors used the Grounded Theory methodology to analyze answers by 59 Microsoft mid-to-senior engineers (starting at the “Software Development Engineer Level 2” level), from 13 Microsoft divisions (Windows, Skype, Dynamics, Corp Dev, Phone, Windows Services, Office, Ad Platform, and more). Some of the participants were architect-level engineers with over 25 years of exeperience.


The authors conducted semi-structured 1 hour interviews with the participants, starting with a simple “I want to learn more about you” type of question simply to construct rapport, and the proceeding with “Think back to someone you’ve worked with that you thought was a great software engineer. What were some attributes that made the person ‘great’ in your mind?”, and follow-ups from there.

A second part of the interview was meant to clarify answers open to interpretaion and to GENERATE generalizable attributes from the previous part.

After roughly each 10th interview, the sets of attributes were improved and updated.

General Research Design


My Take


Most Interesting References

As usual, these are the references that caught my eye the most:

  • [3] L. Gugerty and G. M. Olson, “Debugging by skilled and novice programmers,” ACM Conference on Human Factors in Computing Systems, 1986, pp. 171–174.

  • [7] T. C. Lethbridge, J. LeBlanc, R.J., A. E. Kelley-Sobel, T. B. Hilburn, and J. L. Diaz-Herrera, “SE2004: recommendations for undergraduate software engineering curricula,” IEEE Software, vol. 23, no. 6, pp. 19–25, 2006.

  • [11] R. E. Kelley, “How to be a star engineer,” IEEE Spectrum, vol. 36, no. 10, pp. 51–58, 1999.

  • [14] E. W. Dijkstra, “The humble programmer,” Communications of the ACM, vol. 15, no. 10, pp. 859–866, 1972.

  • [19] M. P. Robillard, W. Coelho, G. C. Murphy, and I. C. Society, “How effective developers investigate source code : an exploratory study,” IEEE Transactions on Software Engineering, vol. 30, no. 12, pp. 889–903, 2004.

  • [28] J. Aranda and G. Venolia, “The secret life of bugs: going past the errors and omissions in software repositories,” Int’l Conference on Software Engineering, 2009, pp. 298–308.