There's always another side. Some programs only need maintenance because they work very well and provide a great deal of value to the company. Others only need maintenance because the organization that develops it is chronically underfunded, can't attract skilled developers, and/or is led by incompetent management, so it needs so much maintenance that it almost all they can afford to do anymore.
The former kind of project teaches you valuable lesson. The latter, however, teaches you skills of dubious value, such as NIH-driven development, playing political games to deflect bugs on other teams, and dealing with bugs in dubious ways (stuff I've seen: detecting corrupted writes to flash devices and correcting them by re-writing corrupted sections until all writes operations are successful).
Thing is, if you do this stuff for too long, your mastery of skills that you need to work in healthy organizations tend to decline.
The former kind of project teaches you valuable lesson. The latter, however, teaches you skills of dubious value, such as NIH-driven development, playing political games to deflect bugs on other teams, and dealing with bugs in dubious ways (stuff I've seen: detecting corrupted writes to flash devices and correcting them by re-writing corrupted sections until all writes operations are successful).
Thing is, if you do this stuff for too long, your mastery of skills that you need to work in healthy organizations tend to decline.