Well, you have to maintain things after they're made. New things are usually made out of multiple old things. Figuring out how stuff works, then fixing and reusing, supporting, or replacing it is the bulk of every programming job I've done or heard of.
I can't even conceive of what programming job wouldn't be describable as "grunt work" from the point of view of some hypothetical super-genius. Writing "new" code that just does the same thing as something you're tossing out, but with a different set of mistakes? Cutting-edge science work is mostly glue code between hardware and spreadsheets or databases. Cell phone firmware is mostly repurposing and updating the old firmware. Anything involving a GUI is going to be a massive time-sink getting the GUI to work the way the non-technical people using it want it to work.
How much time do you spend in any given year figuring out how to operate debuggers, find the right log files, narrow down some crash, etc?