The Noble Art of Maintenance Programming: "We should probably have our best developers doing software maintenance, not whoever draws the shortest straw."

+1

There's a set of skills, like the ability to delve into an unfamiliar codebase and architecture and try to work out what's going on, which doing maintenance work builds. And whilst it can be frustrating and sometimes doesn't offer the same opportunities for creative expression that starting-from-scratch can, it's really good experience IMHO.

One of the projects we have on at the moment has a hefty maintenance angle to it, and it's been interesting watching the guys doing the work go through the daunting process of familiarising themselves with the project, the frustration of working out sometimes baroque elements of it, and the eventual satisfaction when things come together.