I've worked on moderately interesting problems in some positions, and I've also worked in positions where everyone with experience was sucked into fixing infinite streams of fuck-ups from junior developers and contractors, who end up doing all the actual development.
IMO, it mostly boils down to control. If you have control and you are knowledgeable, you can solve "boring" problems in interesting and fulfilling ways. If you don't have control over how you do your job, programming can quickly turn into glorified data entry.