That's not really a fair comparison: the "rookies" (somehow, I doubt that always applies) are working in an environment where they often don't know the requirements and the only way to find them out is through trial and error, and the fact that the organization can even afford "programming experts" means they must have been somewhat successful. Put a programming expert in a situation where the boss doesn't know what he wants and the only way to find out is to build it 20 times and he'll produce a pile of crud too.