I'm sleepy, so I shouldn't post, but here goes. Confidence is really important for a programmer. Writing good code is very, very difficult. On the other hand, writing terrible code that barely works is not so difficult. There is a pretty big gulf between the two and if you don't have confidence that you can achieve something better, it is unlikely that you will even look. Having said that, our industry is full of a l…
You guys (people claiming to be the top global 1%) constantly shift practices, frameworks, and career directions and the only reason you've been so successful at it is because you have a loud voice, and haven't actually put any work into having a cohesive voice about how to train and develop programmer careers. That's why you don't have a golden path for early programming careers -- there is no state of the art to practice at because the field is just chaos with its own direction. It's like rolling the dice to find out which level of Math you'll be taking this year. It could be pre-algebra, or it could be calc III. You don't know because the dice roll represents some fashionable trend in the industry.
If you could actually do this work and answer this question, you'd have a class of useful programmers whom you know will be able to work at a particular level in exchange for a fair wage.
If someone wanted to join this class, then it should be very easy for them to figure out what skills they need and what tests they should take to figure out on their own whether they belong. You can then assess them using similar tests.
In a world of "fake it until you make it", yes, you over-inflate your confidence and appearance of skill. You go until someone completely rejects you because why not? There's no legal repercussions since it's up to the business to do its due diligence. If a business is not happy with its hires, it indicates that they still don't have a good hiring process which gives them the signals you need.