Solving problems is interesting. Repetition is terrible. As programmers many of the things we build are to automate processing that other people would find repetitive and make errors doing. As a result, our work becomes repetitive and we make errors doing it. As some level we've succeeded – we've added a layer of abstraction and made a lot of people's lives easier – but we've also moved our expectations ahead of us a…
Most "programming" is just "digital plumbing". No matter how flashy or utilitarian the taps or basin are, underneath the job is pretty much always the same - you hook up hot water to one tap, cold water to the other, and the sink drain to the drainpipe. You can do a great job or a shoddy job - so long as nothing leaks _too_ much, it doesn't make any difference to most people.
Almost all of the programming jobs in the world are like that - call it CRUD or MVC or Mobile Apps or Web Apps or websites or SaaS, or PaaS - you're mostly gonna spend your life hooking some user interface up to some data store doing some sort of filtering or data transformation in between - and hopefully having some real-world side effects that generate value for someone, be that entertainment, education, ecommerce, improving the efficiency of some previously manual or tedious process, or often - just releasing a new version of the same old thing because marketing decided it's time for a version number change and a few "new feature" checkboxes for their competitor comparison. Most "day to day programers" _don't_ get to write new 3D renderers or physics engine for exciting games or write the next great crypto system or solve hard computer science problems or software to control new spacecraft or fighter jets - or whatever "interesting programming problem" you can name. But if you're lucky, you might get to solve real world problems your business/clients/customers have – by hooking some fancy new off-the-shelf taps up to some standard boring old digital plumbing in fairly standard ways – occasionally you might even get some new-to-you plumbing job, perhaps plumbing in an espresso machine or a fridge-with-ice-cube-maker-in-the-door, and that'll be fun - the first time. Maybe even the second and third time - then it'll be "just another standard plumbing job", with a different fridge or coffee maker.
I saw a presentation a week or so back, that seems to me a lot like the article-writers original "I'll write some code to find Mersenne Primes!" - it was a bunch of local guys presenting (at DorkBot here in Sydney) about the new ASIC USB BitCoin miners they were building - you _can_ find and attempt to solve interesting computer science / math problems, but there's _vanishingly_ few people who'll employ you to do it.