I'm roughly your age, and started programming around 10, doing my first paid work around 18 on a part-time-while-studying basis. I truly miss the days where one person could know a lot about a lot. Nowadays, it's a struggle to either know a reasonable amount (not even a lot) about some niche area, or even just be barely competent in a wider spectrum of things.
Where are you based? I was starting to think the problem might be limited to areas or regions (since almost everyone I know elsewhere seems so content/fulfilled).
Long version: Same situation as you 6 years ago. Quit "safe", salaried job to work on freelance projects. But eventually realized that most freelance projects too are the CRUD type. Quit that too.
Then I found that fields like computer vision, speech recognition, space exploration and embedded systems still have many many unsolved problems, and require proficiency in theoretical subjects like linear algebra and algorithms, hands on challenges involving electronics and mechanical engineering, and practical software development problems like performance optimization. Every time I learn something in these fields, my mind bursts with new ideas and makes me explore and do more. It's an expanding spiral of unsolved problems. I don't think one lifetime is enough to solve my own ideas, let alone rest of the world's. It's a complete turnaround from how I felt 6 years ago.
Now I enjoy exploring and building my own projects and ideas, and have redeveloped my love for all kinds of programming - low level systems programming , desktop app programming, mobile app programming, even web programming.
I also learnt electronics on my own and thoroughly enjoy my hobby electronics projects.
Also how do you manage to find jobs like this? I found that hiring managers tend to, like, lie about the jobs. What I mean is there's no shortage of interestingly-sounding job descriptions out there that have nothing in common with what the hired person actually supposed to do. And you can't know the day-to-day reality of any job before you'll actually get it and then it's too late. How do you work around this situation?