Do We Need Software Heroes?
Written by Alex Armstrong   
Monday, 30 October 2017

The super developer is a well-known stereotype, and perhaps one we rely on and even worship - a little too much. New research suggests that the hero may be more essential than we could have hoped for.


It is generally held that developer heros are not a good thing because they are a bottleneck that slows down project development. 

A team of researchers - Amritanshu Agrawal, Akond Rahman, Rahul Krishna, Alexander Sobran and Tim Menzies from North Carolina State University and IBM Research - has been looking into the impact of the hero programmer on projects by studying 661 open source projects from Github and 171 projects from Enterprise Github.

First what is a hero developer? Their  definition is that a project has hero developers when 80% of the contributions are by 20% of the developers. 

The first surprising result was that hero projects are more common than you might think and as projects grow in size they tend to become hero projects. You might expect the opposite, as bigger projects might use more programmers working on fairly isolated areas of the code leading to a more equal contribution distribution. Yet the odd thing is the presence of heroes doesn't seem to make any difference to the speed that issues and bugs are closed. In fact, the situation is a little more complicated in that for the enterprise projects heroes do increase the rate of enhancements completed, but this is not the case in public projects.

The conclusion of the paper states:

"In summary, our empirical results call for a revision of a longheld truism in software engineering. Software heroes are far more common and valuable than suggested by the literature, particularly for medium to large Enterprise developments. Organizations should reflect on better ways to find and retain more of these heroes."

I'm not sure that this is the only possible conclusion you can draw from the data. Given that heroes exist and yet make no difference except in Enterprise projects, it isn't clear that they are essential to a project. There is also the small matter that public Github repositories are usually the province of enthusiastic teams of programmers working on software they have an interest in. As such it isn't surprising that there are hero developers. The enterprise repositories correspond to company-sponsored projects that happen to use public Github repositories. As such some of the programmers are likely to be paid - does this lead to hero developers who are responsive to requests for enhancements? 

It is an interesting study, but I think the jury is still out.


More Information

We Don’t Need Another Hero?

Related Articles

Does Strong Typing Help?

Happy Programmers Produce Better Apps

The Real Reason To Learn To Program - The Power

Programming - A Life Long Challenge

Teach Concepts Not Just Code

What makes a programmer

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.




Let Oracle's Coding Assistant Do The Grunt Work

Oracle is getting into the coding assistants game. The aptly named "Oracle Code Assist" is going to be optimized for Java, SQL, and Oracle Cloud-based applications.

Apache Releases NetBeans 22

Apache NetBeans 22 has been released. This release has a new Gradle Wizard, upgrades to Java 22 javac, and a number of UI changes.

More News


kotlin book



or email your comment to:



Last Updated ( Monday, 30 October 2017 )