In fact, you'd have a good chance of finding somebody smarter than anybody in your company. You are obviously filtering too much.
And it would be one thing if the system merely filtered out too many good people, but the ones the system let's pass are not the ones you are looking for! Its bad in every possible way a filter can be bad--filtering out what you want, and letting through what you don't want.
> disqualified for not meeting the basic requirements
What is a basic requirement? If a basic requirement is something like "5 years of Java experience" its filtering out topflight c++ and c# programmers. Good programmers can make anything work; bad programmers will remain bad programmers no matter what programming language is used.
> dozens interviewed
Over my 40-year career, programming interviews haven't changed at all, basically testing how much of corman, leiserson, and rivest you have memorized, and how much oof the book "Cracking the Coding interview" you can regurgitate.
That was ok 40 years ago, when programming was largely creating new systems from scratch. But these days, with all the frameworks, not so much. There's 40 more years of infrastructure which has been created, and to be a successful programmer, you need to be able to leverage other people's code. But who interviews to test that skill?
Again, the fact that the one person the system let through didn't thrive in your company just screams that it is not testing for what you really need. Such a "stringent" process shouldn't be a point of pride.
I think they've gotten worse actually. A lot of times they're led by 20-somethings that are looking for only the skills that are limited to their own shallow experience.
"Oh so you wrote compilers in C? Too bad, we're coding node.js here. Have any experience with npm?"
Interviewing 600 candidates is incredibly expensive.
And no, you can't really filter by the resume alone. The candidates you don't want have become masters at forging credentials.
> Akerlof examines how the quality of goods traded in a market can degrade in the presence of information asymmetry between buyers and sellers, which ultimately leaves goods that are found to be defective after purchase in the market, noted by the term 'lemon' in the title of the paper.
> Akerlof's theory of the "Market for Lemons" paper applies to markets with information asymmetry, focusing on the used car market. Information asymmetry within the market relates to the seller having more information about the quality of the car as opposed to the buyer, creating adverse selection.[1] Adverse selection is a phenomenon where, buyers result in buying lower quality goods due to sellers not willing to sell high quality goods at the lower prices buyers are willing to pay. This can lead to a market collapse due to the lower equilibrium price and quantity of goods traded in the market than a market with perfect information.
Basic requirement is at least 5 years of professional experience. Most of the people who apply don't have that. Then after that, a large number of people who make it to the coding test can't pass the first basic test, or struggle through it: generate a random string using only the standard libraries. If you can't do that then you are not a senior developer. Or they appear to be using ChatGPT and cheat through the test. etc. etc.
And memorizing algorithms wouldn't help you pass our assessment, it's actually easier than that in my opinion.
If you can't tell how good a programmer is by his resume, then....why the hell does everybody use resumes to try to do it???
The kicker is you can't sort good programmers from bad programmers by keyword filtering. Asking for specific languages, or specific frameworks, is a particularly egregious sin. If one of the magic keywords is "nodejs", you'll filter out that guy who has been using javascript + PHP for Facebook for 10 years. That guy is not going to have any trouble picking up nodejs.
If "5 years experience" is a magic keyword, you'll filter out all geniuses who decided that 4 years at Amazon is enough for anybody and wants to make a move.
So, if you are a genius, and you are one of the 1,000 people who applied, what are you to do? If your resume is pre-filtered by keyword, there is a HUGE incentive to put those keywords in--at least their resume would have a chance to be seen by a person, and its not like he'll face any repercussions for it.
Its a classic vicious circle: companies are too picky on the requirements, which prompts applicants to fudge on their resume--which prompts companies to be EVEN MORE picky in their requirements, in desperate hope that if they just put enough keywords in, they will only get the resumes they want. The industry has got to break out of this cycle.
> wouldn't help you pass our assessment,
I hate to put it in such stark terms, but if your assessment is ruling out good programmers and letting through bad programmer(s), its worthless. You need replace it with something that actually works.
I'm wondering at this point if you've ever hired for an engineering position before...
Lots of assumptions here, but we don't use keyword filtering.
> you'll filter out all geniuses who decided that 4 years at Amazon is enough for anybody and wants to make a move. Geniuses with 4 years of experience are probably working at Google for 400k+ salaries and are outside of our hiring range.
You have to prioritize time and when you get 500 people with < 5 years experience and 499 of them are not geniuses, it's not easy to find the needle in the haystack.
> I hate to put it in such stark terms, but if your assessment is ruling out good programmers and letting through bad programmer(s), its worthless. You need replace it with something that actually works.
It's a difficult balance because if it's made easier then it lets through more bad ones and if it's made harder it potentially filters out more good ones.
Well, I'm not a mindreader, so perhaps you are right. Can you at least help me clear up the bad assumptions, and tell me, if resume's are not giving you the information you need, why are you using resumes?
> we don't use keyword filtering.
If your policy is to reject anybody without nodejs experience, you are using keyword filtering. It is what it is man.
> filter out more good ones.
I have sympathy here; its not clear exactly how to improve the filter, but if you reviewed 1,000 applications and found nobody, its impossible to filter out more good ones :-) There's no change you could make which would filter out more good people.
> You have to prioritize time
I have sympathy here too :-( Honestly, I can give you guesses as to how to improve, but I have no clue. Its one of the reasons I didn't go into management: I didn't see any way of doing it any better than it was already being done. You wonder if I've ever hired for an engineering position: no, I haven't, because I didn't think I'd be able to do a good job of it.
But one thing I do know, is that if a system isn't working, it needs to change, whether you know exactly how it should be changed or not.
I agree the system needs change but I don't have the answers for how to change it, hence why I said it's the million dollar question. Best we can do is try to make improvements.
Getting a job is a core skill requirement for programmers, and finding programmers is a core skill requirement for companies. Its really hard to believe that this is the best we can do.
> Resumes still filter out "bad" candidates.
I really hate to try your patience, you've been a great conversation partner here. But I put it to you, all those thousand resumes did you absolutely no good. I mean, there's probably something I'm missing, because I don't know the particulars of your situation.
But from what you've said, all the effort and expense you put into screening those thousand resumes, and all the effort and expense put into interviewing them, did you no good. Expensive, time consuming...and ultimately yielding no value at all. I really hate to put it into such stark terms, but man, things gotta change. Even if you don't know how to do it, you've got to find somebody who does who can give you some good advice.
Its true, programming has changed: we are building on top of frameworks and incorporating services today, and not doing so much development from the bare metal. But that doesn't mean that you can't hire anybody who isn't a clone of you: it means that the we have to train ourselves to have the ABIITY to just jump into a new stack, at a new company, and quickly familiarize ourselves with it.
THAT is the key skill going forward. The crucial skills are not can you remember how red-black trees work, or how to use dynamic programming to implement this algorithm. And its not whether they can put the right keywords on their resume. It's can somebody dump 100,000 lines of code in your lap and have confidence that you can handle it.
And also, if somebody can't join your team and be productively "plugged into the matrix" in a few weeks, that means your stack has some architectural problems: lets face it, even code you wrote 6 months ago might as well be brand-new code to you. The code base has to be such that it's easy for people to quickly read it and figure out what is wrong and how to fix it.
Otherwise, even people who have been there for 10 years using that exact same stack are not going to have any success.
I understand that people gotta hustle to eat, but we get hundreds of applications, and so many resumes are fake and just an attempt to get through the screening... plus lots of cheating, sometimes just good old ChatGPT or someone whispering behind the screen, other times with people giving perfect memorized answers but not a peep when I go off script.
Makes me want to hold on to this job...
Hobbists are discarded at the first pass I guess.
Instead over the last 2 decades, we’ve seen the finance bro pipeline diverted to tech bros.
Its a classic vicious circle: if your resume gets auto-dinged if it doesn't have the right keywords, applicants are highly motivated do lard up their resumes with keywords.
And then the companies observe they are getting tons of bogus resumes, and they think they can fix it by making the filters even harder to get through....
Everybody is incentivized to race to the bottom.
Experienced, skilled engineers are rarely the same as specialists in your languages/frameworks/libraries/etc.
> quit after 2 months of barely working
So between this and inability to hire, it smells like you have a management problem, not a problem with bad strangers from the Internet.
Edited to add:
Sure, be polite, but don't be trapped into 8/16/24 hours of interviewing over the course of a week/month/months before only to get a below average offer
Politeness usually leads the way.
I read Politeness as Pointless until I re-read it a third time.
This is anything but polite.
I also love how all the responses blame you and the company; maybe we've developed some unrealistic expectations over the past few years? I don't hear this sort of response outside of development.
I've done plenty of engineering hiring and never had a hard time finding candidates who were good enough to get the job done. Relax the qualifications, increase the compensation, and improve your company's reputation as a good place to work. Easy.
But I only have a CS minor, so...
Bolting after two months suggests something of concern.