You're on point, dav.
For me I think the best strategy to take in being more employable (and hence having an easier time advancing to a more ideal position) is to start building up desirable experience in the next job I take.
It's been a while since I have been gainfully employed (my ex-boss gives me freelance work at least) so right now in downtime I apply for jobs and set up interviews. I've been fortunate enough to get detailed feedback from a few places.
In particular with TripleByte. They've been very helpful in finding holes in my interviewing style, and knowledge base. Even though they couldn't find a targeted job match for me they run down in detail what I did wrong and what I could do to improve. And I do feel like it's hitting home.
I feel like I've "Peter Principal" myself to a junior role. Most of the companies I've been with are on the smallish side, with small tech departments. A marketing agency that outsources to India, shows little care on the craft, no basis on testing, integration, or automation.
Another one, a magazine company where I was the one man band when it comes to programming. Nobody else knew how to code. I had to deal with putting out fires working with a legacy code base and had to cowboy-code my way out of problems.
These experiences have made somewhat of a self-starter, but I need more structure. I need to know how to apply TDD principles, figure out the best way to solve an algorithm, or depending on the company, pair program with someone.
It's like competitive games. I can't get really good unless I can practice alongside someone that can consistently kick my ass. Eventually I may be able to kick theirs more consistently. Craft my own problem solving approach that I can call my own, use it as a selling point.
Granted, I'm only just about one decade into my career, so I'm not that late in the game.
The "one year of experience" phenomena is too real. I'd like to read some articles not just that show examples of it, but also teach effective methods to correct it. I don't find a lot on dealing with the latter.