Hope things improve mate.
When you're dealing with load issues, ops, reporting, i18n, logging, and concurrency, you realize why the infrastructure is there and why it's a lot of work to push out a new feature.
The fact that you're not excited by it is why they're paying you, and NO, you cannot do it solo, not without a team behind you.
Before you say it's all in the cloud, most EC2 admins have to deal with unexpected outages, and it's not exciting in a good way. Fundamentally, 99% of everything is a glorified CRUD app.
If you're good, and can prove it, you ought to have the potential to work on things that excite you.
Your experiences thus far can be seen as learning experience teaching you about what you want/need in a job. You want to engage the customer. You don't like test. You don't want to be at the whim of marketing and bosses who've never programmed.
You've already discovered it's not programming you're tired of, and that's valuable to know.
Just to throw out an idea, there's B2B software companies that employ engineers as consultants to work with client companies. You probably wouldn't like doing this for mega-enterprise, but if the client companies are small they will have a human face.
You mentioned you wrote a game. Game programming might be something you like and not every place is a sweatshop, although you have to be discerning.
Embedded/low-level programming is cool too. I used to write router firmware, and I also worked on a sql engine for a time. Neither job had anything to do with "like" buttons or CRUD.
So maybe the issue boils down to equating "programming" with "web app".
Hey. Lay off the COBOL, especially if you haven't actually done it (I don't know if you have).
I've done web dev for the last four years, since graduating. I now learn mainframe development, with COBOL and JCL (and also REXX recently). It's fun. There's a lot more actual, honest-to-god, programming to do in a mainframe job than there is in web development. At least you don't spend your every waking life trying to shake the angle brackets out of your eyes (XML, right?).
Most of my web dev work was in back-endy stuff btw, primarily C# and a little bit of RoR and Java. Which means 60% configuration, 40% actual coding and even then, the actual coding is implementing some framework interface. That sucks the life right out of "programming" (because it really isn't).
That project could have been a blast, but it was put off until the last minute and then rushed and then the signs were hung at the transit station before we had a chance to interact with them and toggle some switches inside so we had to do that on a ladder in the cold oh and by the way my test sign was not exactly like the sign that was actually installed. So as usual, another project ruined by rushed managers who didn't involve me sooner and just started buying stuff and doing things.
If Zuckerberg can be a billionaire CEO running a huge company at 30, you can make some judgement calls about your job in your mid 20s.