I can see the appeal of that idea, but I respectfully disagree. My reasoning is three-fold:
- The most reliable way to get better programmers in general is a program of mentoring and apprenticeship.
- The most effective way to build maintainable, useful software that meets the customer's actual needs requires frequent, small deliveries. The software is always being both maintained and enhanced.
- One of the biggest problems in software quality today is that people won't read code.
If you have repetitive work, automate it. If you want to know if software works, test it from the start. If you don't know exactly what the customer wants, ask him. If you want to train a new programmer, pair him up with experienced programmers.