“They studied professional programmers with an average of 7 years’ (sic) experience and found … no relationship between a programmer’s amount of experience and code quality or productivity”
I don’t think linking experience solely to time is the right way to approach this. In order for a programmer to gain experience, they have to code DIFFERENT things. Having a multitude of projects under your belt helps you learn the pitfalls of our craft because the variety stretches your preconceived design models past the point of breaking. If you have a person working on the SAME task for 7 years, then that’s all they’re going to be able to see when they focus on a new task. IMO this pretty much puts them on the same plate as someone that hasn’t been programming for very long.
To me, the best way for you to learn about code quality and productivity is to be involved at all parts of the lifecycle. If you just repair bugs in certain modules that have been assigned to you, you start to lose sight of the product’s big picture. Then, you stop understanding how “Input A” + “Mouseclick C” == “BSOD D.” However, if you can reach that moment of “Wow, I would have never thought of this”, you truly learn something (again IMO).
I would redo these studies and stratify the programmers (subjects) based on their understanding of a wide variety of code snippets. I’m willing to bet the understanding is going to relate pretty strongly to the quality of the things they generate.