I'll be somewhat blunt - but this isn't meant as disrespect for you.
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?
I agree on the two camps ideology, and this is HN after all, so I'll ask - how to you get into the sellers market? I graduated with my CS degree with an ok 3.4 GPA recently, and I cast a wide net on jobs from Django to openCL, but everywhere I apply I either get cold shoulders, a 30 minute phone interview that never gets a response even with follow up, or rejection on a lack of project experience. I've been working FOSS for a few months now, and I hope that helps, but when you live in the middle of PA and not a big tech hot spot, have no networking contacts, and no desire to try to play founder-with-some-arbitrary-webapp-maybe-1mil-people-will-use-but-will-be-forgotten-in-a-year how do you get ahead?
Get very smart about who you apply to. Seriously, stop responding to ads right now and spend the next week studying job postings. Look carefully at every statement. Ask yourself, "why would someone put this in a job posting?" Don't just assume you know, think about it and ask yourself if there's something you missed. Memorize the posting, before you reply.
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.
Hang out in NY or Boston. Attend every meetup you can find and let people know you're looking for a job. You don't have to be super pushy. Just do it in the middle of explaining your background.
-“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?”
Sorry about the late reply - I've been mostly cut off from the internet (mostly due to hotel charging exorbitant rate).
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.
There's a bit of a chicken-and-egg problem for intelligent developers trapped in a less favorable city: you can't make it to in-person interviews in a more active city, so you have to cross a higher threshold to be interesting to employers there; you don't have the funds to move to a better city, so you need to find a local job; local jobs are both low-end and scarce, so you can't save the funds you need to move.
If you're in a small town, you need to network more. My preferred method of doing so is to hang out at Starbucks and shoot the breeze with whoever walks through the door. Eventually a job will fall into your lap.
I'll note that the salaries at some of the top companies have not been inflating that much. For them, it's a Buyer's Market. Like I said, perhaps I've been lucky with the companies I've worked at, and didn't even realize how fortunate I was.
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?