Developers hate their job, but like to code outside work
newsletter.techworld-with-milan.com
newsletter.techworld-with-milan.com
A labor of love is something you can do at your own pace, on your own schedule, and there's nothing wrong with deciding not to do it when you don't feel like it. Doing it for work means that you have to do it no matter what.
So I do what I love on my own time, and do work on work time. That it looks like I'm doing the same thing (programming) in both cases is illusory.
Only one reasonable solution to this problem --- start your own company focused on something you do care about.
There's nothing worse than a job where you can do incredible work, but it doesn't even _matter_ because the project will get dropped at the end anyways. (And that's obvious to anyone who looks.) Absolutely soul-sucking.
I suspect that the 20% that are somewhat happy are the engineers in very technical areas or specialized companies, in which the engineering is hard enough to be respected. In these cases it justified for engineers to focus completely on technical problem solving, whereas everywhere else it is more or less about gluing together mediocre solutions and then spending most of the time doing admin tasks like status updates, planning meetings, weekly summaries, writing requirements, coordinating with other teams, etc.