So I'm looking for a new job.
I've noticed that the vast majority of companies are trying to hire
A) Fresh out of college (or university) grads, and/or
B) Senior-level developers who have a million (or two) years of experience.
This leaves out the vast majority of programmers who would classify themselves as "intermediate", myself included.
If I apply for an entry-level position without short-changing my CV/resume, the company will wonder why I've applied when I clearly have more experience than what's required, plus I will want more $ for my value. Which, on both accounts, is completely true.
If I apply for the senior position, there's a good chance they will classify me as underqualified more or less immediately.
Now, that being said, I already do some of the things in my current job that a senior-level developer does, such as code review, mentoring, and even a small bit of team management (I am interested in management). For some of the senior-level positions, it wouldn't be a huuuge stretch, but I think I'm missing what to do or say that would get me in the door for that kind of position.
What is the best way to get a job when the applicant falls into neither category?
Assume that "starting from the bottom" is not a desirable option.