The most concerning part is my job. I've been getting a roller coaster of reviews for years. I'll get a good rating one year and a bad one the next. How can I find a job I'm actually good at? I'm a midlevel dev with about 12 yoe. I guess I should also mention I'm autistic.
The important question to ask yourself is: Do I enjoy the _process_ of working on something or do I enjoy the _product_ of working on something?
For me, I've found time and time again that it doesn't matter what I work on, I care most about the outcome. I will suffer through extremely difficult problems because I just really want the outcome. But others (probably most people) enjoy the process of work. However, tons of programmers tend to hate tedium and like the product of their work. But if you really enjoy the process you might like a "meditative" task like data cleaning or saddle stitching leather or something.
The next question to ask yourself is: what do I want? I've only ever made money from making things and doing things I specifically want, not something I'm trying to make for other people.
Importantly as a programmer, you don't necessarily need to make some app that does something you want. When I was in college I wanted a cool domain name. Was too expensive. I contacted the registrar selling the domain and asked how to get it cheaper. They had an affiliate marketing program where you could get $20 for everyone who signed up for the free domain name promo (seriously I don't know what they were thinking). I posted on /r/efreebies a few times and made over $1,200 in a few days just posting a link. I wanted a domain name, I tried a bunch of ways to get the domain name, I stumbled upon a way to make money, I got the domain name.
Another important thing is to just try out a bunch of different things you might be interested in. Think generative art is cool? Try it. Think Census Data is cool? Visualize it. Think USB drivers are cool? Write one.
The only thing that really works is the tedious, frustrating task of trial and error with your curiosities. Once you really find something you're interested in you can expand it into a career and get a job doing what you want.
From time to time, you have to think about what your Needs are (cause they change with time). Money/Status/Job etc begins to have meaning when its in service of those Needs.
People who haven't spent time thinking about what matters to them, end up trying to meet the Needs of whatever others throw in their lap.
Nowadays, we are often distracted by things that are developing rapidly, but I think this is not a good thing. We should be open and accept ourselves and our natural instincts to live our lives.