I would also add you should learn how to negotiate.
If you're honest and say:
"Bob, you know what? I think this place would really push my abilities, are you willing to train me to be a better developer if I agree to take less money then what you're offering?" A company will then know up front that this position might be a bit over your head, but if they're not paying you like a senior developer, and have an investment to train you - its a win/win situation.
or
"Bob, I'm a CSS expert, but my Javascript is really lacking. I would be willing to come in and kill your CSS work, if you train me to be a better JS developer."
or
"Bob, I'm a Javascript developer by trade, but I have a real interest in technology X and see you handle a lot of that. I would come in and do your JS work if you allow me to really learn technology X."
or
"Bob, I'm a developer, but would prefer to be a project manager. Would you let me come on and work as a developer and in my spare time, learn the project manger role under the expectations that I would transfer to being a PM within 18 months?"
All of these allow you to leverage your current skills while using those to barter for a better role, a different role, learning new technologies or learning new skills while you continue to work and help the company on its current projects. My last four gigs I've taken this approach and its been incredibly valuable for me.
I would also add you should learn how to negotiate.
If you're honest and say:
"Bob, you know what? I think this place would really push my abilities, are you willing to train me to be a better developer if I agree to take less money then what you're offering?" A company will then know up front that this position might be a bit over your head, but if they're not paying you like a senior developer, and have an investment to train you - its a win/win situation.
or
"Bob, I'm a CSS expert, but my Javascript is really lacking. I would be willing to come in and kill your CSS work, if you train me to be a better JS developer."
or
"Bob, I'm a Javascript developer by trade, but I have a real interest in technology X and see you handle a lot of that. I would come in and do your JS work if you allow me to really learn technology X."
or
"Bob, I'm a developer, but would prefer to be a project manager. Would you let me come on and work as a developer and in my spare time, learn the project manger role under the expectations that I would transfer to being a PM within 18 months?"
All of these allow you to leverage your current skills while using those to barter for a better role, a different role, learning new technologies or learning new skills while you continue to work and help the company on its current projects. My last four gigs I've taken this approach and its been incredibly valuable for me.