You've touched on one of the most involved and complicated questions in our industry. There are many qualified coders stucks on proverbial other side of the fence for no good reason.
The short answers, for me, is blind ass luck. I did well in high school, stumbled my ass (unintentionally) into what turned out to be a prestige school, stumbled into some interesting internships with well-known companies, and as a result attracted the attention of one of the "A-level" tech employers, whose name on my resume put me on the correct side of the fence (the employer is Amazon, btw).
It's not just the resume effect - being in said companies also puts you in a network of people already in the camp, which opens up networking and job opportunities also.
Being in the right camp is a self-reinforcing phenomenon. You get jobs at a particular level, with a particular type of employer, which in turn attracts more of that sort of employer. Unfortunately, the inverse is also true - if you're outside the camp, you attract the other employers, and your resume begins to look less and less like a resume from within the camp.
None of this particularly helps you, even if it does explain why you can't seem to get into the camp.
Here are some tips - but keep in mind that I've been in the camp from "the beginning" (i.e., right out of school) so I really cannot vouch, first-hand, how well these will work for you.
- Network more. A lot more. Look at technologies being used within the camp (Rails, Node, etc) vs. tech being used outside the camp (VB.NET, JavaBeans, etc), and learn according to where you want to be.
- Go to developer meetups hosted by companies/individuals in the camp. This community maybe small in Philly, but I'm certain it exists. This will reinforce both the learning and networking parts of above.
- Go to events in New York City, which is the closest tech hub available to you. There are events held all the time - hackathons, conferences, etc. Go, learn, make friends, network.
- After you've done this a few times you've probably collected at least a few cards from interesting companies. Hit them up, see if they're hiring, or if they know anyone hiring. Considering the severe, ridiculous high-end tech shortage in NYC, you will get substantial hits.
- Consider also traveling to NYC and crashing an AirBnb for a few days/week. Companies are a lot more receptive if you can talk to them face to face. If you can line up a few interviews beforehand, even better.
Then when you finally answer the ad, you'll be so far inside the person's head that it will look like God himself sent them the PERFECT candidate.
You need to be patient and to sharply cut down on the number of ads you're answering. So pick the good ones, the ads that look like they were written by engineers. The ones where you can see the thought processes of the people hiring.
In my job search, I sent out exactly one reply to exactly one ad, to the company that hired me.
-“What kind of work do you do?”
-“I do this, this and this. I just graduated and I'm hoping to find some work or freelance gigs. You?”
No, but it will give you just enough capital to move somewhere better. And you'll be working on your social skills, which is a big win for anyone.
The software industry is highly bimodal. There are two very, very clear camps - you fall into the other camp than most HNers.
The market for mid-top end talent is a huge sellers market. There aren't enough people to go around, salaries inflate double-digit percentages every year, and crazily does not seem to be stopping.
The market for low-end warm-body coders is a huge buyers market. There are more clueless VB coders than there are seats; many, many more.
Do you, by any chance, work for a consultancy where innovation, code quality, or engineering excellence aren't exactly high up on the list of priorities? This may explain your glut of candidates - whereas on the other side of the industry fence companies are offering six-figures to fresh graduates and creating bidding wars around entry-level applicants?