> Well, you can also be motivated by doing a good job regardless of what that actually entails. For example, I'm a very good programmer. Programming has become boring because there is no challenge anymore. But I do enjoy producing very high quality output and being better than almost everybody else. So I don't care what I program or who uses it but I want it to be the best possible engineering solution.
No, you're not a good programmer because there's no challenge any more. You're a bad programmer because you've lost sight of the context of your work. If you're bored, it's because you're solving easy problems which have already been solved, probably for some turd-polishing startup that calls putting a Web 2.0 interface on top of a rewritten old solution "disruption". Someone will pay you because the ad business can sell any crap, but you're not producing value; you're just producing stuff that can be sold.
If you were really "better than almost everybody else" you'd be hired to work on hard problems that even someone actually better than almost everybody else would find challenging. There is no shortage of difficult problems that people need solved. And incidentally, real ability gives you options to choose what problems you want to solve, so you can pick a problem you can find at least a little passion about.
Sure, you can treat your startup as a country club where the members are more important than what you're actually doing; that's a lifestyle some people enjoy. But let's not entertain the delusion of grandeur where that makes you a good programmer: that just makes you a member of a country club.