Amen. I've been in a few US markets (non CA/NY) over the past 20+ years. Finding a decent number of available/skilled software engineers is always a challenge. If they're skilled (beyond competent), they're employed or doing their own thing.
I've recently taken a 6 month contract, and have been amazed at the quality of the team, but... they're really having trouble finding people - people that wouldn't be a net negative on the team (there's both cultural fit as well as skill fit). And yes, they're hiring junior folks from area bootcamps and training them up. Doing real training - reviews, handholding, explaining, testing - is a real investment, and takes a lot of time.
This has been one of the few teams I've worked in where I've been pleasantly surprised at the level of quality of everyone in the company (10 in the group I'm in, around 65 in the company altogether I think).
I'm watching how they interview/hire/expand, and... it's tough. They could easily bring on more people quickly who would be a net negative, and cause more problems (I've seen that many times - I was the net negative problem at least once!)
I received an offer from an organization I loved: the industry, mission, people I met, everything was perfect. My interviewers halted the interview after 30 minutes, saying that they were going to start the hiring process. The salary became the stickler. The job was mine if I wanted to take a $10-15K decrease in salary. Unfortunately, I had to let it pass by. (In retrospect, I should have taken it. I would have caught up in pay within a few years. Oh well.)
Another organization seemed pretty inline with my goals and personality. The tech was interesting and I mostly aligned with it. The stickler became the vacation time. I have 4 weeks of vacation. They needed me to start again at 2 weeks. (2 weeks, seriously?) Doing so would have screwed up family life as my wife has 5 weeks. Honestly, I can trade salary sooner than I can trade vacation time.
Employers seem to have strayed into Crazy Land with the requirements for "skills". A skill, to me, isn't the knowledge of the Python ecosystem or Java ecosystem for building applications. Python vs. Java is just a knowledge of tool sets: Stanley vs. DeWitt. It's easy to learn one if you know the other. Skill is choosing the right trade-offs in design for the particular organization and industrial sector you're working in. It's knowing when transaction throughput is more important than rock-solid error handling. When extensibility is worth the extra abstractions. When readability trumps everything for a particular organization due to the skill level of the other development teams. Yet, employers have gotten to the point of not just requiring particular tools, but particular versions of them.
So, I'm not convinced the problem is a lack of available software engineers, at least not completely. Much of the problem in hiring is outrageous demands from employers.
From the job description, one can surmise they wanted a developer for the price of a sysadmin. No thanks.
Pay more. Google and Facebook use ridiculous interviews because so many people want to work there. They still hire thousands of people every year. Why? Mostly because they pay mid-level engineers over $200k. Can't afford that? Then we're not talking about "not finding people" anymore, just about not affording them.
From talking to friends and family that live out there, plus a few folks who used to live in the Bay Area, someone earning $120k here would have to earn at least $200k out there to get the same standard of living.
So are people flocking to the DC area to work as software engineers, then? If so, good job. If not, you know what you have to do.
> to get the same standard of living.
That highly, highly depends on what you spend your money on.
People talk about salaries, they know who the top hitters are. Here in London there are many hedge funds you never heard of that have 20 engineers fighting for one spot, because they pay 100k GBP, whereas most startups complaining about lack of people pay 40k.