Also code complete is ancient, sure much of it is still relevant, I don't think it is the be all and end all though for the modern programmer.
Remote is a non-starter for 99% of start-ups... and a lot of companies that are selling pants online are searching for PhD-level engineering talent to run their shopping cart.
Winner winner, chicken dinner.
Ask a company that is hiring "is X important?", where X is one of {open-source coding, algorithm design, Ivy league degree, master's degree, MIT degree, Facebook alum, Google alum, presence in Silicon Valley, under 25 years old, over 25 years old, has a github, has a blog}, and you will get a "yes" for each X that the founder has.
Our salaries aren't that uncompetitive, either. I think it's just that pants are un-sexy.
At the very least I'm trying to sex things up a bit by moving us to a semi-modern stack so we match the desires of the more ambitious talent in the marketplace...
(As much as I'd prefer to hire bright people who can learn on-the-job (a category from which I emerged), our current delivery schedule means we don't have the bandwidth. The reasons behind this are beyond the scope of this comment :( )
I understand your main point, but I just think many companies hold fast to that position far too long, when the alternatives might be better than they think.
Yet.
Is there any good strategy to finding remote workers in a specific geographic location? Yes, that's kind of antithetical to remote working, but the state offers tax advantages to employing people from the state... and looking through the entire state of Minnesota should find someone who's fine working from a home office... right? Or do those types of people really primarily live in the SV area?
People, especially educated and intelligent people, typically don't want to live in a place that values tourism, guns, and private religious school vouchers over parks, playgrounds, and public schools, and that also pay average (at best) industry wages.
We've been really low on unemployment for a number of years... the cost of living compared to dev wages (usually >= 80% of NYC/SF wages) is really great, that I would be hard pressed to consider moving to SF, Seattle or NYC. That said, it's a bit hard to find talent, but then I don't do it for a living... Also, I don't think the business people doing HR really "get" the mindset of a software developer in terms of actually recruiting.
Most projects are not that difficult and uber-tech as founders like to think. Reliable average programmer that generates maintainable code in predictable speed might end up as useful and less annoying then bored genius.
That was annoying thing company I knew did. Candidates were selected for their love of algorithms and detailed knowledge of frameworks etc. Anyone else was labeled "weak".
It just so happened that the work required only surface knowledge. What they really needed was someone willing to do "boring" programming work responsibly and without supervision.
So, hired geniuses were running away faster then you can say bye and those who stayed half assed work.
This requires a certain amount of intellectual humility; as founders would have to acknowledge that it is likely they are not changing the world (they're coloring by number using last week's cool framework), and they don't need the best engineers.
It's gotten to the point where anyone who proclaims to be an expert in something is immediately suspect to me. The smartest guys I know never have to say it, and truly never brandish their skillset like some kind of gaudy prize. That kind of attitude makes it very easy to be undermined.
a) The smartest guys you know? b) The average guys you know? c) The average guys you know, but tell everyone how great they are? d) The below average guys you know? e) Other?
People who are great, do so not by telling other people they're great (although sometimes you need to have a little PR), but by demonstrating their great:
1. You want to work with them 2. Work diligently to make the team, product, and company better 3. Are smart 4. Are productive
A perfect blend of: talent, hardwork, and ambition.
I've noticed a trend of acceptable mediocrity here on HN. Any mention of wanting to work with people that are exceptional, results in near universally negative feedback.
As a startup, your first hires are CRITICAL. They set the tone of your company, and will carry a lot of the burden alongside the founders. You can't just settle for "good enough to get the job done." You're not just hiring for today, but for the next 2-5 years.
Seed your company with great people, and keep raising the bar.
Myself personally, I'm not great, so I want to work with people who are better than I am, not worse.
You can be great as an above average developer, and you can be less than great as an excellent developer.
I'd prefer to measure the complete package.
In my anecdotal experience, companies put far too much emphasis on finding unicorns that can solve problems on a whiteboard than they do on finding above-average developers that have a strong work ethic, can learn fast, and have shipped something.
As it stands, it seems the only people these companies hire are notable SV personalities, or people that excel at the formal interview format.
As a result, they are missing out on a lot of good talent.
Don't even get me started on working remote.