From my experience, most programmers want the cake walk.
They want to stroll in, get the plumb assignments, which is typically "new development", get a chance to learn new code on other people's dime, then ride off in the sunset armed with good experience.
I say do the opposite.
Take on the projects noone else wants.
That usually entails learning the business.
And learning all the systems that support it.
And understanding the users.
And becoming an asset to the organization.
My father gave me this advice early on in my IT career.
He said that's how he survived the tail end of his 34 year career with IBM.
When they were letting go all the hot shots, they kept him on because he knew how the critical applications ran.
I've basically supported a lot of the grunt applications which entailed mostly bug fixes and enhancements.
I wasn't concerned about new development per say.
I actually prefer to support other people code than to write new code.
Short enhancements to improve functionality / user experience.
You can hire the hot shots to write the quick application which I'll end up supporting.
I've done it for 16 years now.
I take on the projects that noone else wants.