Which is fine, if you can find a way to make it happen.
But for the majority of us, work means work. It's not always aligned with your own interests, it can feel like drudgery, and we accept the uncomfortable reality that our labor is probably making somebody else richer than it's making us.
I'm a fan of cooperatives, where at least you know that you have part ownership over your endeavors. But even then, you often need to work to satisfy clients and customers, rather than to satisfy your own interests.
Ultimately, I've learned to separate my hobby interest in programming and my work. I accept that work will always feel like work, but a few things (like good coworkers) can make a big difference. I try to make the experience tolerable for myself and my coworkers, and then I do what I really love on the side.