Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

And we're having a hard time finding experienced and skilled engineers... trying to hire for a senior nodejs role, over a thousand applicants (most people just hit apply without reading the description, over half are disqualified for not meeting the basic requirements), dozens interviewed, and we've only managed to hire 1 person that seemed close to being qualified, and he quit after 2 months of barely working. We're around a ~600 person company.


Not to put too fine a point on it, but...out of a thousand applicants--who presumably had college degrees/and or years of experience programming for other companies--there just has to be some who would have been successful at your company. I mean, if you lined up 600 random people grabbed from off the street, you'd find 6 to 10 of them with a genius level IQ.

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.


> Over my 40-year career, programming interviews haven't changed at all

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?"


https://en.wikipedia.org/wiki/The_Market_for_Lemons

> 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.


Yes, but we can't possibly interview 1000+ people, so we have to filter it somewhat based on what they give us: their resume. If you can build me a tool that can find in a stack of 1000 resumes a genius then I'd like to start a company with you and we can make a lot of money together.

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 build me a tool ... I'd like to start a company with you and we can make a lot of money together.

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.


> If you can't tell how good a programmer is by his resume, then....why the does everybody use resumes to try to do it???

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.


> lots of assumptions

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.


Resumes still filter out "bad" candidates. "Good" resumes just doesn't actually mean someone is good. Like I said, plenty of people with 20 years of experience who can't do something a junior developer can do easily.

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.


I hate to only complain if I don't have any ideas on how to fix it, but just think of the absurdity of the situation we currently have: thousand of employers are frustrated because they can't find any programmers, and thousands of programers are frustrated because they can't find a job.

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.


The applicant pool is not randomly selected, though. The 6-10 randomly selected geniuses are likely all happily and productively employed elsewhere, there's a competitive filter against high-level talent that you have to also get through.


> there just has to be some who would have been successful at your company

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.


My take is the reason why there is such an emphesis on specific experience (and not just being smart) is modern web apps today are very sensitive with a slew of libraries and frameworks built on top of each other, in a multiservice environment each with different flavors of technologies. Someone coming in fresh without any experience with all of the libraries and tech are just not going to success.


No doubt you have carefully curated and assembled the stack you have because it gives you a competitive advantage. But everybody else is also trying to get a competitive advantage, so nobody is going to have exactly the same stack, used in exactly the same way, as any other company.

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.


New hiring process: sample 600 people from the population at random, administer IQ tests, hire highest scorer. Voila, only geniuses!


Is there any evidence that would be worse than the way we're doing it now??


Literal random hiring would probably be better than what the industry does now.


None whatsoever!!


A lot of technical interviewing is thinly veiled IQ testing


Same situation on the hiring side.

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...


> So many resumes are fake

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.


I have argued a variation of this so many times before. There are a lot of feedback loops amplifying noise in software job markets. It's terrible for everyone involved.


Same. I used to really like interviewing, but the AI cheaters combined with development as just a job has destroyed the experience. I did participate in interviewing an intern a few weeks ago who showed some passion and energy, and they got the role, so a small victory.


> development as just a job

Hobbists are discarded at the first pass I guess.


Those are much better than the hustlers.


My impression is that lots of developers are now much more motivated by money than tech passion (I entered the field in the Office Space era where programmers were considered nerdy accountants who love computers).

Instead over the last 2 decades, we’ve seen the finance bro pipeline diverted to tech bros.


> we're having a hard time finding experienced and skilled engineers... trying to hire for a senior nodejs role

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.


Shoot me an email. I ran and scaled a nodejs api supporting about 1.5 billion requests per month up until December when I sold it. I have many, many years of experience in the node ecosystem and am currently looking for a new role.


You're first question should be, "How much are you willing to pay?". And if they dodge it, it's not a good sign.

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


My first question is usually "Hey, how are you? Good to meet you."

Politeness usually leads the way.


I swear I'm not making this up.

I read Politeness as Pointless until I re-read it a third time.


I saw that as well.


So you ask a question, but don't allow for it to be answered (because you don't actually care how the person is) and interrupt him.

This is anything but polite.


This is a perfect response, well done good sir. Stay classy


I've had a similar time trying to hire an ML developer with any experience. What I suspect the market has gotten tougher, but not uniformly. If it's bad for experienced people with some form of personal network, it's extra bad for those who were already terrible when the market was tight.

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.


Yup. Too much context to give on a HN thread, don't really care to defend it. I'm sure the process isn't perfect and I'm looking for ways to improve it, but it's certainly not an easy problem to solve.


Look for people at banks. We made our first ML Engineer hire a few months ago and almost all the candidates came from people working at banks. The salaries aren't FAANG and the talent is there. The person we hired was a former ME to boot.


Because you're looking for a very specific language or tool experience and not capabilities. This is a common mistake. Many developers might have loads of experience in the problem domain your company needs but not a specific language or framework. Like you do integrations for banking clients. You look for a Java developer and find someone who knows the framework you're using but they've only ever developed APIs for mobile apps. Instead look for the person who might have done some Java a lot of Cobol and has worked with mainframes and banking systems. That person might have even been a sysadmin and learned coding but they'll hit the ground running.


If you're literally trying to hire for a "senior nodejs role" then the brutal truth is that you're simply incompetent and going about recruiting entirely the wrong way. Hiring should be done primarily based on aptitudes and understanding of fundamentals. Experience with a particular language or framework is a "nice to have" at most.

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.


I hope that person got an exit interview. It might well be that they’re just useless but someone quitting after two months ought to be a warning sign for the company, clearly something went awry.


I’m working on a product that can help regarding the issues you’ve been discussing. Is there an email I can reach you at and we can chat?


And here I am with 20 years experience, founded multiple companies, hired and managed engineers, been acquired, worked full stack on B2C and B2B with multiple tech stacks, worked on many of successful projects as an IC... and maybe 1 out of 20 job applications make it to an intro call. Even for sub-200k roles looking for 3+ years experience.

But I only have a CS minor, so...


Im going to guess pay isn’t commensurate with the ‘basic requirements’ and or something else is wrong with your interviewing process if they bolted after two months.


Is there room to up the pay?

Bolting after two months suggests something of concern.


Probably an awful messy code base and the new hire couldn’t deal with that headache.


Not my call. I just interview people.


What does the job pay? Fully remote?


Fully remote. Salary range is 100 - 170k.


Here ya go: https://ebcode.com


Are you hiring freelancers?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: