Longtime tech recruiter shatters the engineering shortage myth
venturebeat.com
venturebeat.com
Even if you scoff and rattle on about all the awesome hard problems you face, firstly, only a couple of people in any team actually need to solve those things, and secondly, you're probably lying and write everything on top of some already asymptotically slower abstraction already.
At one company, we churned through several dozen candidates for a position that was incredibly dull because they couldn't recursively divide and conquer a hypothetical infinite data set or use dynamic programming to optimally subdivide a two dimensional space. None of these things were relevant to the endless property plumbing we did all day. It just made us feel smart and distracted us from the dismal day-to-day that was wasting our advanced degrees.
The window dressing justification was that a smart person gets more done, 10x programmers and all that, but smart people also quit when they're bored, and smart people make boring jobs more complex than they need to be to stop from getting bored.
Anyways, after that debacle and now that I've moved to a smaller company, I started giving out a programming test that mimics what we do. If the candidate hands in something that is clean, complete, and doesn't have a dumb design, I'm totally for them.
So far it has still been difficult to find people, but the ones who pass seem a lot more capable than those we found using the pointless trivia method.
I'm a little torn. It's interesting that he describes finding engineers as like "detective work". My first instinct (as a developer) is that if someone is difficult to find, it's quite possible that they're not interested in being found. If they were looking for a job, they'd be visible. Does he consider it his role to 'educate' engineers about the possibilities available to them?
I've just been through the process of finding a new job. I expressly avoided using any recruiters, and am very happy with the result. Maybe engineers are hard to find because they're used to hiding from recruiters. I negatively judge startups that use recruitment agencies, but maybe I'm part of the problem.
Not so sure about that. A lot of talented engineers are already in a job. They might be receptive to looking at another job for a period of months or years, but never actually looking. So a lot of the skill in recruitment is reaching those engineers with opportunities that will entice them to consider a move. Yes, sometimes this happens via aggressive recruiters, but it can also happen via "softer" approaches like publicity, sposnsorship, advertising etc.
Basically when you start a job there is a relatively long learning curve. The technology, business, and interpersonal relationships are all unique and they all take a rather long time to develop. Usually the beginning part of that learning curve hurts the most (ex. learning how not to break the build and speak with some competency about the code base) and the rest is called personal "growth" and is usually satisfying and can run for many years without plateauing. The problem is that once you get to this middle staged growth, you dont want to have to go back to beginning part that comes with getting a new job (although I do recognize some people are different).
Now on the flip side if we were assembly line workers building light bulbs, the moment you heard the light bulb shop across the street pays 20% more and desperately needs people you'd probably be running across the street in a flash. And the next day at the new place would probably be about the same with 20% more pay.
The fear within tech is that, without standardization of work places, you can end up realizing you stepped into a big pile of crap. Crazy managers, incompetence, long hours, shady investors, etc etc.
Its not my desire to suggest we should turn the industry into light bulb manufacturing but I think the non-standardization has probably lead to the strangeness in hiring.
"But again and again, he points out that qualified engineers do exist, and they’re being shut out of companies for what amounts to a cultural stigma about what sociologists would call “the other.”"
This is the point.
Edit: I think is important say that the "there's a terrible programmer shortage" belief is a myth, in the sense that it is a dramatic story that impels people towards certain behaviors and to say that this myth is wrong, in the sense that it excludes many people, in order to add some kind of sanity to the hiring process.
Along that vein, almost no place is interested in paying for talent. I consistently get incredulous responses from recruiters when I tell them my rate. Many companies cap their reqs at $90/hr or $100/hr. This seems like a decent rate, but a major part of the problem is that the recruiting firm wants to take 30% of that hourly rate. If the maximum cap is 100, that means the contractor is getting (at most) $70/hr. Companies either need to up their rate, or cut out the middle man completely. The vast majority of recruiters I encounter today have a premium LinkedIn account and just spam everyone that matches keywords. Are you telling me a company couldn't have an intern do that kind of thing for a lot less than the recruiters are getting?
for me there was just too much friction in the process which is what we think our model can remove/reduce.
Sometimes recruiters and employers use the word "shortage" as a code to indicate that they can't find highly qualified employees who will do excellent work for low wages. But that's just a mismatch in expectations, not a true shortage. I've done a lot of hiring over the past few years and have always been able to find the engineers I need.
Despite that flaw it's a good article with some helpful insights. Although it kind of comes across as a bit of a PR puff piece and advertisement for that particular recruiter's services.
Nonsense. Supply and demand are not perfectly elastic. Consider a simplified hypothetical world where Alice harvests carrots that magically fall from heaven, Alice and Bob need 10 carrots per day to survive, and a total of 15 carrots fall from heaven every day. There is no other source of food. Alice eats ten carrots, and sells five to Bob. Bob's carrot-demand is at least ten carrots, but he can't buy them at any price, no matter how desperately he may need them to keep starvation at bay.
Yes, there is such a thing as a shortage.
I have been a hiring manager in that market since 1999 and know from direct experience that there has never been a shortage during the period. I can hire as many as I want, provided my bosses are willing to pay the market rate. The federal government stopped imposing maximum wage controls decades ago. The state government blocks most non-compete employment contracts. There is a huge supply of potential engineering employees currently living in other parts of the country or working in non-engineering fields who would take SF area engineering jobs at the right price. I have met plenty of locals who used to work as engineers and are now homemakers, lawyers, schoolteachers, writers, EMTs, scuba instructors, etc.
This is a real economy that exists right now and it looks pretty close to free.
BTW, I still agree with you that it's "pretty free." And I definitely agree with you that it's generally possible to find qualified programmers. I've never tried to hire and not found at least one qualified candidate that wanted to do the job, mainly by being honest about how our offer stacks up against the others. If we can't pay enough to hire an expert, we hire a potential expert that would take the wage and train them. The lower the wage, the longer we are going to have to train them.
But there's still a difference between "a pretty darn free market" and "the living avatar of the ideal free market," which is what it sounded like you were trying to assert. :)
Shortages certainly exist in a free market, and they occur in cases where the supply is relatively inelastic. This is obviously the case in the short run for engineers, as it takes some amount of time for engineers to be trained (four years if they go the normal university route). If the demand outstrips the supply presently in the market (which appears to be the case), employers cannot magically increase the present supply.
Furthermore, humans are not perfectly rational economic actors. Not everybody will choose to become an engineer solely because that is the most economically rational thing for them to.
If employers offer higher wages (which has clearly been happening; starting salaries are above $100k these days in the valley) they can at best hope to attract employees from other employers that are offering less (although there may be non-monetary factors at work as well) but that does not change the fundamental imbalance between supply and demand.
I could go on in this vain, but seriously, pick up an economics textbook before spouting off this nonsense.
And yes, I have read the economics textbooks.
This is really a housing supply question as Matt Yglesias makes clear here: http://www.slate.com/articles/business/moneybox/2012/05/face... and as others have written (see, for example, Ryan Avent's The Gated City). Housing costs in Silicon Valley are insane, which prices out lower skill workers and forces companies to pay more for highly skilled workers. Allowing to higher building heights and reduce setback requirements alone would do a lot to improve the jobs situation.
Please try to be more considerate, especially given that there's always a non-trivial probability that you're mistaken as well.
Well... at least at the low end, the companies could hire people on aptitude and contract them to stay for some years in exchange for training them.
I think about it this way - how does the pay, prestige, job stability, growth, and forth for an engineer compare to the other options available for highly talented people? As it stands, I think that it does make sense that there would be higher demand than supply for engineers at the current salary levels.
As an example, I read about a guy with a PhD in Engineering from a strong program and several years work experience who was writing specialized software. His salary was 125K a year. The article was about granting more visas to non-us citizens, and the writer clearly thought the 125K salary ended all discussion of whether the pay was extraordinary, high enough that clearly a shortage was in effect.
Personally, I don't agree. This guy had gone through a grad degree that typically takes 6 years or more (twice as long as a law degree, 3 years as long as an MBA, as long as a med degree and half of a residency). He had gone through a much harder undergrad degree than most, and he had already proved his ability to write difficult code. 125k isn't close to "shortage level" salaries for someone like this. I know employers would get sticker shock, but I think you'd have to go up to 250K or more to be competitive with comparable professions (at the elite level). Keep in mind, 6 years of a PhD + a few years of work experience would be equivalent to a 6th year associate at a law firm - but without the extra years of earning.
I'm willing to consider the possibility of a shortage, but right now the evidence seems very weak. In fact, the salary level for engineers compared to other top professions goes a long way to explaining the low interest in these degrees, especially at the grad level.
I hate startups/companies that decry an engineering shortage when they aren't willing to pay for it - we make your products, your money and your fortune either pay us more, work on more interesting problems or have a better working environment. Engineers will gladly come to you if you do so - see Google or Valve.
Otherwise - shut up.
There's definitely a misconception out there that a company can make it on "great engineers" alone. I've been thinking about this lately, trying to come up with a good way to describe to people what I do. So far, the best thing I've been able to come up with is that it's akin to being a load balancer: the person who takes on the tasks that can and will be optimized, but that are (for whatever reasons/ priorities) not yet able to optimized.
So maybe part of "the engineering shortage" is related to the shortage of people with enough technical competence to take on the tasks that the engineers could do, but don't want / like to do. So far in my experience, I've seen far more of a dearth of support people who know what they're doing, than a shortage of good engineers.
“Oh, there’s definitely a shortage of people as the tech industry expands,” Marcus says. “The economy is expanding here, and they need a lot of engineers. You just need more and more people to code all this stuff.”
Not being found by recruiters is a feature, not a bug.
Most interviews have a combination of the following.
a) The interviewer wants to talk about himself/herself.
b) Talk about how great the company is and how much of the kool-aid they drink.
c) Ask one tech question and base their decision on that.
d) Ask a few very obscure questions.
e) Talk about big-O / Binary search / your education.
f) Code samples... What could a code sample possible mean to someone who has no idea what the pitfalls of the code/problem/database is. Useless. Hiring is based on commenting ability?
g) Play the game of are going to scrape and bow for them. Alpha males.
h) Don't have a clue what they are talking about, got the job because they know someone. They ask questions from some article they read.
i) Haven't read your resume.
Less than 25% of interviews actually bother asking you questions about if you can do the job. Write some code.. ha, one in ten.
"He’s interviewed Ivy Leaguers and dropouts; and as a result, he has helped shape countless “A teams” and every other kind of team, then watched those teams suceed or fail."
Really? I've never seen a recruiter follow up with any candidate whatsoever, and I've interviewed hundreds of candidates from the employer side. So I have serious doubts about his ability to shape or understand how a candidate can affect an organization. The feedback loop just doesn't exist - companies don't provide outside entities (recruiters) feedback about their hired employees. The legal risk alone is too high.
Case in point: "[Y]ou don’t need the whole staff to be engineering geniuses. You need a couple really bright people who know what they’re doing, and then, just don’t turn down people who can do the job."
really, I only need a couple of people who know what they're doing? What exactly are the rest of the engineers doing? They don't know what they're doing, but can follow instructions from those who do? I'd rather just not hire those people to begin with. According to Jon Marcus then, I'm part of the problem. Except, he has a real financial incentive to place marginal people, since he gets 20-25% of the first year salary. What do you think that does to his opinion of hirability?
I know exactly why I get rejected: for having Masters in Economics (read: Applied Maths), not CS, for not knowing by heart all normal forms till the 6th, for using but not knowing the formal definition of Dependency injection pattern.
I see how it works on the other side. I was the first guy at a new project in a wealthy company. We needed a genius, and we hired one from the first try. He solved all the Python puzzles I gave, and knows a lot just out of university.
The problem is that we need to extend the app, which is boring and a bit repetitive, which takes discipline, not rare talent. So we see such guys coming. They learned Python on their own, out of joy, don't know many things. But our boring work will be a challenge to them. So, why not hire?
My superstar fellow says they're retards, the management asks to not bother even calling them back, and I have no strong point in their favor.
Take me for example. I graduated in 2008 with a computer science degree from a pretty good state school. I resigned from my first job after feeling extreme burn-out and anxiety from a broken process and constant missed deadlines.
If you have any gap in employment though that throws up huge red flags for a lot of employers, as well as being anxiety prone and not interviewing so great because of it, or not being fully knowledgeable about whatever particular software stack that business is using.
And i know you can lie on a resume but some of us aren't so comfortable doing that. So it ends up if you have any red flags, you're basically never getting employed again. Fired unfairly from your last job: good luck explaining that one. Family or personal emergency create a hole in your resume: that's not gonna look good. Have other concerns that take up your free time besides building up your Github: you must just not be dedicated or in love with the field (which is not the same as not being able to do the work).
I sort of long for the early days of programming back when you could just walk in the door and take an IQ test with an employer to see if you were capable of being a programmer, regardless of your current / past employment, personal history, etc. Now to do any sort of work you have to have already done the work, which is exceedingly difficult if you are currently working full time in a different field (out of financial necessity), and aren't a lone white bachelor who has loads of free time to spend on personal projects.
So what do i do now: i clean houses. It's fine work if you have nice clients, but i'm also underemployed and very low income. It's easy to get discouraged about even trying to interview, when you're pretty sure once they see your resume, any effort you've put in would have been a waste. No one seems to want to hire a housecleaner as a programmer (classism), regardless of my education, high SAT / GRE / college GPA. I'm damaged goods, and it doesn't matter if i can do the work or not, i'm just not an attractive candidate.
Sorry for the rant. But i can't be the only one out there. I bet there are a lot of capable workers out there that are either unemployed or underutilized because of discrimination of one type or another.
Unfortunately, that's how you end up with a team that is incapable of communicating, because you never evaluated an employee based on their social skills.
I do get what you mean, but I think that tech is actually an amazing field for self-improvement, if you try. I wanted to work at a company using a software stack unfamiliar to me. I downloaded it, got to grips with the basics and said as much in my interview. There are very few other fields in which you can do that.
If you're unhappy with your current job, then it might be time to learn some new technologies and post some examples to Github. I know, it uses up free time you don't want to give up. But you have to sacrifice that stuff every once and a while if you want to move ahead in life.
Investing time in learning a completely different stack for every job you apply for seems like a very inefficient use of time, especially when it could take you weeks to get a really good grasp on the nuances of a particular stack, but it only takes about a second for an employer to drop you from consideration.
It's "possible" to be upwardly mobile, particularly in the tech field, nowadays, but it takes a certain personality type to do so. Upward mobility for driven, workaholic, A-type personalities is a pretty narrow path to success though, especially when even those personality types, given certain life circumstances, are extremely constrained in how much they are able to accomplish. So much for the meritocracy; capability counts for a lot less than the resources one already has available.
No. I know what you're saying- that a lot of startups encourage fratty behaviour and so on, which is true. But communication skills are entirely separate, and important. It's impossible to be an effective team without communication- that's not a "cultural" thing.
Investing time in learning a completely different stack for every job you apply for seems like a very inefficient use of time
True- I did it just once, for the job I wanted. But you could also quite easily look at what kinds of technologies companies are using- there will be general trends that can help you.
I had a hiring manager tell me once he was worried I wasn't talkative enough (though he did make me an offer). I thought that was dumb, partially because I know I'm not reluctant to communicate & debate with my team, but more because it seemed like an uncritical devotion to the cult of culture. On the other hand, I once managed an engineer who found a reason that every one of his tasks couldn't be done (in my opinion as cover for lack of competence). I wouldn't want someone like that on my team.
edit to add: one more idea maybe take some free online classes like from Uber or Coursera? I think this is a great idea for anyone actually I just started the Coursera Scala class myself and having more fun programming than I had in a long time. This is not so much for resume builder as it is more to clear out the cobwebs and get you thinking like a programmer again.
Personally i'm sick of the whole process and all of the fakeness involved in trying to land a job. If you're unconventional, you better be good at faking looking conventional so you can get a job, otherwise you're out of luck. Not for me.
If a business is having trouble finding qualified candidates for a position, maybe they should spend a little more time considering that it might not be that there's a lack of people that can do a good job in that position, but that their conception of what makes a "qualified candidate" is overly restrictive and broken.
>> “They like to hide,” he says. “Marketing people, sales people, product people will network. Engineers, they’re very timid about giving out contact information for themselves or anyone else.”
Rule #1 about posting your resume on Dice or Monster: Your phone number is 000-000-0000 - screen via e-mail. I don't enjoy multiple interruptions in my day because you either A) matched a couple keywords or B) e-mailed me and I haven't responded. Don't be "that guy" who e-mails a person, calls them and says "did you get my e-mail??" I have got most of my jobs from Dice, they've been good to me, but there's no way I'm exposing myself to recruiter spam via telephone.
Same goes for references: I make it 100% clear that when I give out references they are ONLY to be used as references for this position and nothing more. If my references start getting calls from your company about 'opportunities' they contact me, I call the company, start chewing people out, AND I've got it in writing.
A tip for newer job seekers: Provide references after the interview, not before. The recruiter or company contacted you on the strength of your resume and not who your references are.
On another quick note: References are obsolete. Managers from larger companies can't give good or bad references due to fear of being sued and what are you gonna do - give your worst enemy as a reference?
>> “It’s the fear of the unknown,” he says. ”Everyone is afraid of hiring the wrong person, and if they would just trust that they know how to ask the right questions, then everyone wouldn’t be complaining as much about recruiting.”
Get your fucking interviews in order, take time and actually do it. I've had so many interviews where it's clear that the interviewers did not read my resume and did not have questions ready to go - they just played it off the cuff. I took the time to tailor my resume to your organization but you can't get your interviewers together for 15 minutes to read my resume and create questions to ask? You're showing me right off the bat that your company either can't or doesn't plan for a six figure investment (me, the candidate, the guy that will be sitting next to you).
>> But instead of asking the right questions and hiring a candidate who’s qualified, Marcus says that startup founders will take a candidate in based on a personal recommendation or an impressive company name on a resume, usually branching outside the original specification they wrote and usually regretting the decision in the long run.
This is very true because it's easy to hide and do nothing or know nothing at a large company. At a 10 person startup if you don't know what you're doing people are gonna figure it out - fast.
>> And the truth he’s seen in the past decade is that our insecurity is getting the best of us. “The big problem in general is fear,” he says. “To counter their fear, companies make their standards too high and turn down people who would be great at their jobs.
Job descriptions are getting stupid and out of control - they seem to be like a child's wish list at Christmas. Nevermind positions with low salary but do you really expect people to know C/C++ and be a Linux guru? Both a Windows pro and a Cisco wizard? Take 30 seconds and think about it: How many of those people REALLY exist in the world? 500? How many are looking for a job? 1, 2? And last but not least, are they really going to want to work for your random company for 90k a year with skills like that? Unless they are completely insecure and clueless the best of the best techies know their worth.
The other thing is listing requirements for the wrong reasons. I don't know Ruby and shy away from jobs that want it, but if you really just want someone who knows Ruby for Puppet then that's easy - it's just copy existing manifests and update the variables / settings for the new host, but you scared me off by projecting that you want a sysadmin + programmer when you listed Ruby + Python + C + perl.
Companies are also forgetting the root of IT: Adapting to new technologies. C'mon, I know ABC App is what you're looking for but I've been doing this for ages and changed with the times. Do you really think I can't read vendor docs and other web resources to come up to speed when I meet 80% of your other requirements? That and the old "everything old is new again" saying. Unless it's something completely new a mindblowing chances are I can use my knowledge of older systems to understand the fundamentals of the new ones - you won't need to teach me the fundamentals of high availability from scratch.
>> “Everyone wants the next Steve Wozniak to walk through the door, but really, they should be asking to see if they can do the job. … They want to populate their entire staff with engineering geniuses, and you don’t need the whole staff to be engineering geniuses. You need a couple really bright people who know what they’re doing, and then, just don’t turn down people who can do the job.”
I always laugh at places where almost every position wants something like "leadership skills." What happens when you have an organization where everyone has strong leadership skills? You have too many cooks in the kitchen, that's what. Understand that most people are better suited to a follower role - I know I am.
>> The great mystery and the core principle of recruitment, Marcus says, is at once simple and nearly impossible: Find a better candidate. The elusive “better candidate,” he tells me, can come from anywhere.
This goes hand-in-hand with the first quote about great engineers not making themselves known. While you look for that "better candidate" he's interviewing with and getting offers from other companies.
Lately I have been flat out telling recruiters "I get 10 or 15 e-mails per day so I'm not putting my entire job search on hold for one possibly maybe nothing-in-writing-yet opportunity. If your company wants me, they need to step up and come get me." Seeing as how recruiters and employers love to keep potential employees in a holding pattern for weeks or months I'm not going to let life pass me by, sorry.
Expanding on that, I also take the "send it and forget it" approach because I never know how quick or slow a company will respond - low expectations make for a happier life.
PS: Hey dumbass recruiters and employers: Make REAL job descriptions. Oh your only requirements are Linux and VMware? Sounds incredibly vague and doesn't grab my interest unless the job is in Hawaii. We have an interview and you go into all sorts of technologies that you expect me to design / admin but the job description didn't mention them? Lose/lose because I don't get any time to review them and you're getting bad candidates. Recruiters who can't provide detailed job descriptions? That's like going to Taco Bell and saying "give me food."
PPS: DevOps a buzzword, the old term is "teamwork." You probably shouldn't keep sysadmins that don't want to interact with the devs or are so insecure that they can't let devs control when and how they deploy their code...
When you find a company worth working for, they won't care about the gap on your resume. They'll see you talking passionately about a personal project and give you exactly as much consideration as the shiny guy who's bored with his lame-o Fortune 500 gig. The right company won't turn you down for the wrong reasons. (They might still turn you down, but it will be because someone else felt like a better fit fair-and-square: Just like you'll feel at the place you finally end up working.)
Interview: So the Great Engineer Famine of 2012 is — what, a total myth?
“Oh, there’s definitely a shortage of people as the tech industry expands,” Marcus says. “The economy is expanding here, and they need a lot of engineers. You just need more and more people to code all this stuff.”
Mismatch?
"the other"
Pretty much spot on. There is no shortage of people who can do the jobs. That is certainly not the fear being balanced (=Joe Candidate can't do the job). Rather, the fear is that Joe Candidate is not "like me", and that he might change the culture. He is "the other".
But this is not as silly as it sounds. It makes a difference who you have to work with everyday. It's not just about work. In many cases, monkeys could do the work. (In other cases, only a very few people could do the work.) What it's about is being surrounded by "your kind of people". Work environment.
This doesn't just apply to startups.
So being a good recruiter is not just about finding qualified people, it's about understanding "cultural fit" and the particular pyschology (however irrational it may be) of your clients.
* Qualified software engineers are hard to find, it's like hunting or detective work, but they do exist. Not really a myth-shattering revelation, I think we all agree with this.
* People are afraid of the unknown. This applies to hiring practices. Sure, nothing new here.
* Interviewers do not ask the right questions. OK, what kinds of questions are "not right", why, and what would be the better approach?
* Companies standards are too high. They do not need a team full of geniuses. Not sure I agree, have any evidence or supporting arguments? It is admittedly hard to measure, but most of the evidence from people who actually work with them points to the 10x or 100x engineer being a reality. Hiring that guy is a much better investment.
The next section (10 paragraphs):
* Candidates can come from anywhere. Sure, nothing new about that.
* Networking and legwork are the staples of a successful career in recruiting. Nothing new here either.
And the next (14):
* For a recruiter, finding an engineer is like finding the "very few really big fish" among a whole bunch of sharks. Wait, doesn't this contradict what we said earlier?
* Those looking to hire need to drop their false requirements like Ivy League schools, moral character. Hm. OK. Other than obviously exceptional anecdotes, why are these bad? Any other false requirements? How are we supposed to filter candidates?
The final section (8 paragraphs):
* Startup culture is often unhealthy. Run it like a business. OK, I suppose I agree with this in principle. But the opposite it true too: business environments can be unhealthy too (Office Space-esque?). What makes each unhealthy and how do we combat this?
* People are afraid of the unknown. Did'nt we already do this one?
* Ageism and sexism are related to this fear. OK, sure. What do we do about it? How do we combat that fear? Also, not new or myth-shattering.
----
The title reads like it should be a persuasive piece, but I think it is mostly fluff and history. It has a number of unsupported positions and suppositions thrown in, but many of the ones that ring true are nothing new and do not "shatter the myth".
What about the real issues that created this so-called myth? How do you address FizzBuzz problem: a majority of applicants fail to meet the most basic of "can you do the job" type of requirements? How do you account for atypically high salaries? What about the large amount of head-hunting happening at places like Google and Facebook? If there is no shortage of good engineers why can't these extremely attractive companies seem to find enough of them?
I have been in several teams full of both, the 10-100x engineers, and the good-enough engineers. The former have outperformed the latter in profit and productivity every time. My experience is that it is very hard to find the engineers that make up the 10-100x teams and this article has done almost nothing to shatter that "myth".
Problem is, social proofs are purely relative and zero-sum. If everyone graduated from Stanford or worked at Google, having Stanford or Google on your resume would become worthless (and, in fact, this has happened with some technologies that got very popular).
Sounds like a rather contradictory environment, tough to crack.
Probably somewhat exaggerated for effect, but also probably true in general concept.
Which hiring folks probably know at least subliminally. Of course, there's also the fact that the vast, vast majority of them are hiring for bad projects to begin with.
Companies think that if they set requirements 3 levels above the actual work, they'll get it done really well, very fast, and reliably.
That's not true. It doesn't work that way. It's the opposite.
Companies are afraid to hire at-level because they can't admit the truth about the quality of work they have to offer. Most of what they are doing is not very interesting, and their environments are often broken, but they're terrified that if they hire at-level for that work, they'll poison the environment with inferior programmers. Reality: the culture was already damaged by the crappy work. It's a sunk cost if that's the kind of work you have to do, so fucking accept it and hire at-level.
There's also a social-climbing element to it that is pretty disgusting. I've seen this with startups. They hire the people they can get-- a few are bad, a few are great, most are OK-to-good-- but then, after they're more established and richer, they decide that none of those people are "good enough" to grow with the company, so they decide to upgrade their crowd and hire shiny, new people. Familiarity breeds contempt, so eventually they are used-up shoes and newer, shinier people need to be brought on. (This is why, if you're an early startup hire, you need to lock in a VP-level title even if you're a full-time programmer. You can never get full assurance that people won't be hired above you from outside, but the title makes it harder. It puts a limit on that sort of shit.)
There's also a ridiculous pansy-ass risk aversion involved. "We can't do machine learning unless we hire a machine learning expert with 20 years of production experience." Bull-fucking-shit. So many companies refuse to get out there and do something interesting until they can hire a Messiah, and people anything like that Messiah want to work for companies that are already doing interesting work.
Everything else you said is absolutely true, but you could have stopped here. Perfectly summarized, and dead right.