The reason I find it more enjoyable than others might, is because I have considerable autonomy on how I will build my software, on what timelines, and who I'll sell it to.
The real problem with software development is not the complexity of our tech stack. It's the lack of agency that most programmers are forced to live with.
So I transitioned to a client-facing role which was more interesting in a way, but with too much stress and too much management to do.
Now I try to find my niche in between, staying client facing but still handling the technical tasks. I find it's a really interesting position, it's very efficient since it reduce the amount of necessary communication, and it's very satisfying.
It does not work for big projects though.