I am not as smart as most HN people here.

n.b. A thing I would not suggest overly dwelling on.

If it makes you feel any better, my first job (2004) in a similarly situated city was $12.50 an hour. I was so despondent about the chance of getting a real engineering job that I emigrated, where I landed the princely sum of $30k per year. That is no longer a major economic anchor for me 12 years later. I don't think you should necessarily accept either of these numbers but not the end of the world either way.

It is an unfortunate reality that "zero experience" and "non-zero experience" (for values of experience which generally include "paid" and "production" and "in an obviously software-producing role") are treated differently than each other, so getting that first job is often excessively difficult.

You should probably own your job search, and approach it as if it were a job. You go to your job search in the morning and you leave it in the evening. Your job search is a results-oriented work environment. Despite the fact that your job search doesn't have anyone who will fire you if you e.g. play League of Legends (picking something that I'd worry about for myself, not you) instead of lining up coffee dates, it has similar economic consequences for tradeoffs.

Nobody explicitly tells people this in college, so: sending in your resume to companies and then waiting for callbacks is not the primary way that people get jobs. You should cold approach every person with hiring authority you can identify at a local software company, demonstrate probability of value over email, escalate to a Skype call or coffee date, make a good impression, and then ask whether they know of anyone hiring.

In the short term, you should be shooting for ~10 good, targeted emails a day, ~2 Skype calls a day, 3~5 coffee dates a week, and ~2 requests for escalation to a formal interview a week. At the end of one month of this, you've sent 200 emails, had 40~50 Skype calls, had 10+ coffees, and done 5~10 interviews. If you are not sustaining these numbers, the fact that you are not sustaining these numbers is the problem. Your CS skill is not the problem. Your degree is not the problem. Your location is not the problem. You just happen to be currently employed in a job which is utterly unlike the job you trained for. It is called "sales." The first and most important thing sales reps have to do is make the conversations actually happen. Virtually no rep is successful without doing so.

I was supposed to get an answer today, but it appears I've been ghosted. I've also been ghosted by another company after doing a phone tech interview with the VP.

Another thing you learn from sales: this is totally normal even from people who will eventually buy the thing. You should, and I appreciate that this will be difficult, continue pinging these folks until you start working at their company or they tell you, explicitly, that they will not hire you. Sometimes hiring folks just go dark on candidates as a way of constructively terminating the conversation. That sucks but it happens. Sometimes hiring folks go dark for reasons which have nothing to do with the candidate. You won't believe how many don't check their #%()#%ing vacation calendars prior to making representations like "I'll have an answer to you next Tuesday." You won't believe how easy it is, when running a business, to get absorbed in the crisis du jour and straight-up forget that you were in conversations with an engineer you were excited about.

"Hiya Bob,

Thanks for interviewing me the other day. Just dropping you a line to check on our progress here."

"Hiya Bob,

Thanks for working on getting me hired at $FIRM. Is there anything I can do for you to expedite the process?"

It feels deeply unnatural to send variations on that email twelve times. Sales guys would continue doing it 20+ times. They do this because -- and this will blow your mind -- the sale often happens after the 18th email with no externally visible indication that this was likely to be the case.