Hacker News new | ask | show | jobs
by paxys 1095 days ago
Take home tests are bad. Fizzbuzz questions are bad. Multiple onsite interview rounds are bad. Behavioral questions are bad. Leetcode style questions are bad. Collaborative coding tests are bad.

If you ask the majority of job seekers here, the only correct way to hire is to hand out 300K/yr offers after a casual 30 minute chat.

6 comments

The actual best way is to only have a small set of senior engineers who also are very good at talking about programming, and are good with people and interviewing specifically and have a history of trust and good judgment do all of the interviews where they have a lengthy conversation about past experience, technical topics, and maybe code a little together if they think they need to and just give them total authority to make the call. It might not be that scalable but it would work the best.
This has empirically resulted in bad hiring, at multiple companies I’ve worked at. The best predictor of senior performance on the job has been the take home test or coding challenge. We frequently have seniors who suggest that the technical discussion would be enough for senior roles. We always have to let them down a bit when we tell them that the discussion is less predictive than they’ve built it up to be in their mind.
How do you know which candidates are worth your senior engineers spending all that time with?
I'm not sure. I think that's a problem to figure out. What I want to advocate for is mostly that talent scouting should be taken seriously not farmed out by scheduling random employees who aren't good at it and then collating the partial opinions of 10 people who don't really have enough time with the person to have a total view.
I agree in theory.

But engineers with good tech skills and good people are already likely to be the most valuable and time-constrained resources in the business. So taking 2 of them out to have a 2 hour interview with, say, 100 candidates is 400 hours. Even assuming they’d be willing to do that, that’s about 2 months worth of development from your best engineers.

This is why companies have processes like screening with a non-tech person and tech tests. It filters that 100 down to, say, 5 which is more feasible to put in front of those top engineers.

It hurts not to be selected for that 5, to be told you’re not good enough. Companies should do a better job at that. If they can’t give feedback because of the lawyers, they should warn you of that in advance, to set your expectations. They should be responsive and transparent through the whole process. What they can’t do - seemingly to the chagrin of many engineers here - is offer you a highly-paid job merely because you think you deserve it. I can see people on this post that likely have appalling people skills based on their comment, arguing that, since they didn’t get an offer, the company’s process was wrong. Perhaps those commenters need to look in a mirror to find the problem.

Recruiters might miss some top talent, but that’s the price they pay. All other solutions also have costs.

As they say on twitter, “this but unironically”.

My wife is a lawyer. They don’t send her a take home test, or ask her about her side project cases, or whiteboard bar exam questions. Somehow it manages to work.

> Somehow it manages to work.

It manages to work because expensive law schools and the state Bar do all of those things on behalf of her law firm. Meanwhile you can call yourself a programmer after taking a 30 minute online tutorial and writing a hello world script – and that is a good thing. We do not need gatekeeping in this profession.

We have certifications too - Azure, AWS, security ones, etc.

But a person with 15 certifications still gets asked to do a coding test

And those certifications mean absolutely nothing. There have been brain dumps for certifications for years.

Even if you don’t use brain dumps, it’s easy to memorize enough from studying something like ACloudGuru.

I got my first (of nine) AWS certifications (AWS Solution Architect) without ever logging into the console. But the only reason I get any of the certifications were to know what I don’t know and as a guided learning path.

For the first one, I was already a dev lead and wanted to know enough to know what I needed to experiment with when the company was trying to “move to the cloud”

My next 5, I was already the de facto “cloud architect” at a startup responsible for “application modernization”

And my last three (that I did within three months of each other), I was (and still am) working at AWS in the Professional Services department.

I can assure you that I don’t know but about 30%-40% of what those nine certifications cover well enough to hold an intelligent conversation with a customer and I only know the 30-40% from hands on experience.

I think the only benefit for me is that they hammered IAM concepts into my head, as they are a huge mess on AWS.
Then that sounds like we need more accurate certifications.
Have you taken any of those certificates? They can be passed from reading exam dumps and without proven hands on experience mean nothing.
And to be fair, I get it. Industry is too diverse to have one end all be all test. An AWS certificate won't mean much for my domain in games (unless you maybe work on online infrastructure for an ongoing service game).

But at the same time I wouldn't mind some fundamental license to optionally bypass many of these common tests.

Works fine as long as you went to a top-3 law school or graduated near the top of your class in a T14 school... I've explicitly seen lawyers lay that out as the criteria they hire by.

I'd rather deal with obnoxious interviews any day.

For your typical workhorse lawyer, yes.

But the legal profession, in terms of fairness for new grads, is perhaps the worst of all professions, I'm told. Basically, if you go to a top school you make 3x the average graduate based on that alone. While there is a decent correlation between school and talent, it is by no means strong enough to justify the phenomenon. Certainly it is not like this in other developed countries.

Computer Science has unfortunately been headed in that direction but at least an A+ graduate at a state school has a chance at getting the better offers.

There's no perfect way, but fizzbuzz is perfectly acceptable to me (do you really want to work somewhere with employees who couldn't pass it?), and leetcode is too, as long as it doesn't rely on some trick that selects for memorizers over problem solvers.

I don't know why HN is so against algorithms problems. It is not something I have ever needed to "grind" because I understand ds&a well. While the more exotic ds&a you won't use on the job, and IMO shouldn't be tested for, IME the most complicated datastructures you generally need for both algorithms problems and on the job are hashmaps and hashsets.

>I don't know why HN is so against algorithms problems. It

Probably because they use the ones you mention. They think an ideal engineer should be able to cold solve some level 5 leetcode problem using a Trie with some trick edge case to perfection in 90 minutes as if they are some sort of mathlete. It's not very realistic to what you do day to day and required dedicated studying simply to pass the test, not to advance myself as an engineer.

If they used level 1 questions as a fizz buzz esque filter for string manipulation, iterator tactics, and maps/sets, then I'd have no issue. I'd get why you may test a student for a junior position harder but a senior dev should have actual professional experiences to dig into.

If you can't trust them to code then maybe you should in fact do the FAANG method and describe what exact concepts you want prospective hires to be able to talk about and work with. Haven't seen that outside of FAANG tho.

> "I don't know why HN is so against algorithms problems."

Half of developers are below the median and, to paraphrase Upton Sinclair, "It is difficult to get a man to support something, when his salary depends on his not supporting it."

The best way to evaluate someone is to work with them for a year or two, yes. Everything else is full of an incredible amount of noise.
I agree with the consensus about behavioral questions, the multiple in multiple onsite interviews, and most leetcode. Fizzbuzz is great and take-homes are widely varying in quality.
> after a casual 30 minute chat.

which you have to pay them for