Act on It!
Find a “be the worst” situation for yourself. You may not have the luxury of immediately switching teams or companies just because you want to work with better people. Instead, find a volunteer project on which you can work with other developers who will make you better via osmosis. Check for developer group meetings in your city, and attend those meetings. Developers are often looking for spare-time projects on which to practice new techniques and hone their skills.
If you don’t have an active developer community nearby, use the Internet. Pick an open source project that you admire and whose developers appear to be at that “next level” you’re looking to reach. Go through the project’s to-do list or mailing list archives, pick a feature or a major bug fix, and code away! Emulate the style of the project’s surrounding code. Turn it into a game. Make your design and code so indistinguishable from the rest of the project that even the original developers eventually won’t remember who wrote it. Then, when you’re satisfied with your work, submit it as a patch. If it’s good, it will be accepted into the project. Start over, and do it again. If you’ve made decisions that the project’s developers disagree with, either incorporate their feedback and resubmit or take note of the changes they make. On your next patch, try to get it in with less rework. Eventually, you’ll find yourself to be a trusted member of the project team. You’ll be amazed at what you can learn from a remote set of senior developers, even if you never get a chance to hear their voices.