We all know that software defects are pretty much inevitable. (Right?)
A bad developer may produce a fraction as many defects of a great developer. I’m guessing Linux Torvalds has written more bugs that I could write in my entire career… And yet, to say that this means I am a better software developer would be absurd.
Inherent in this fact is an easy truth to understand but a difficult truth to respond to: The developer with lower output of overall contribution likely has a lower volume of defects tied to his or her name (or commits), while the superstar developer may be put in that less-than-fun situation of accepting responsibility for a defect a little more frequently than anyone would like.
The obvious reason for this is the simple fact that with great output of success comes a greater output of defects (even though, percentage-wise, the great developer may create significantly fewer). A less obvious reason for this is that the great developer–the super-talented one whose volume of output is consistently astonishing–is much more isolated from peer-review of other teammates. Those who don’t understand or work at a pace behind that of the great developer are less apt to offer insightful peer review. Also, the most talented developer on the team may be the most demanded upon (and when we believe in Software Ninjas, we’re setting ourselves up for problems).
There may be good reason to go easy on the guy or gal who must humbly own up to that defect that made its way into production. If fingers must be pointed, its the entire time that should be reviewing the work of their peers.