I feel you. I feel fooled too.
I worked my ass off at nameless orgs that were willing to hire a no-credential computer science graduate. Always going "above and beyond", built a reputation for getting things done, almost always delivered stuff on time, took ownership, covered up for changing and incomplete requirements, entertained last minute pivots, did what a team lead and architect should be doing even though was always paid as a dev.
This basically meant I spent late nights and weekends at home or office getting shit for work done. I've also on many occasions, put fires out in my own and other teams. I always got flattered in all my appraisals, with all my superiors including the CTO of our org.
Almost 10 years in, I feel fooled for not seeing the forest for the trees.
What a waste of time it all has been ! I get paid the highest that a non FAANG org is willing to pay for my skillset. I always get handed the harder, weirder things and it never ends.
I cannot clear these crazy interviews at these endgame orgs without a heavy investment of time grinding stuff of negligible value. Prepping now is an investment that will take months balancing family time and work load.
All I had to do a few years ago was just stop. Take a deep breath. Leetcode. Leetcode. Leetcode. Get into the weeds of my favorite language. Build a compiler. Get some research published in some journal or write a book or give some talks. Contribute to open source projects enough to get my name in. Schmooze a bit. Market myself more. And let the projects at work go fk itself ( They did end up that way anyway )
Would have paid off more than what my full time jobs have paid me for the last 10 years.
Edit: some comments seem to suggest they learnt a lot of their skills "on the job" and would not have landed their current dream job without it. I am strongly biased to believe there are more blue winged raccoons roaming around in this country than such people who got hired at FAANGs because of what the learned on the job at non-FAANG orgs.
All non-loss-making, salary-paying orgs use standard stacks with standard components in two or more enterprise-y languages glued together with a shit ton of in house coded garbage running in production with some standard relational DB. Go try to make your resume sparkle and stand out with that experience.
You spend enough time in these ecosystems in production and you see yourself keeping a safe distance from anything that is new, look at any new platform with skepticism and quickly realize how painful that upstream swim is to make fundamental changes in such environments. I still have scars to show from the time (among other fun times) I tried to get cassandra into our production systems only to later be told by the cassandra folks to "RTFM, before doing anything fancy" Its a full time job to keep those up and running not some skill a dev would pick up "on the job"