(no title)
domrdy | 7 months ago
I’ve worked in the assessment space for 6 years and have seen many hiring processes, from Fortune 10 companies to startups hiring their first engineers. The range of signal required, "how much time can my engineering team spend with a candidate", and how much candidate experience you can get away with, is huge. I’ve also been a candidate myself and failed many live coding interviews. It made me feel terrible about myself. The last time for a role at Ycombinator (the interviewer was super nice).
When I work on my product, I try to view it through the lens of empowering candidates to show their skills and potential. I encourage our customers to use assessments that somewhat resemble on-the-job skills. I don’t like the phrasing “real work” anymore. An assessment shouldn’t be unpaid labor, it should be a way for candidates to demonstrate that they can do the job and handle future work thrown at them, and for hiring managers to feel confident extending what are often very high salaries in tech.
With AI, unfortunately, short take-homes (what I prefer as a candidate, using my own tools and editor) are becoming harder to maintain as a fair signal due to AI assistance. I’ve seen companies move back to onsite, and competitors deploy all kinds of proctoring and invasive monitoring.
The perfect solution, in my view, would be an assessment where the candidate feels relaxed and able to perform at their best, with their own editor and configuration, knowing that every other candidate in the pool has the same constraints in terms of time and tooling. It’s a tough problem to solve. I think about it daily and have not come up with a solution.
zwnow|7 months ago
jasode|7 months ago
It depends. A welder looking for a job -- even with a certification -- will often have to demonstrate his welding skill to the jobsite supervisor before he is hired. An airline pilot -- even with a rank of "captain" with 5000+ hours -- when trying to find employment with another airline, will still have to demonstrate piloting skills with a "check ride" as part of the hiring approval process. Sometimes, experienced pilots fail the check ride for whatever reason.
The common theme is that "existing credentials" is sometimes not enough.
josephg|7 months ago
This is hilariously out of touch with real world hiring.
If you put up a job ad, there are so many people who will apply with all the certifications you can name. And if you ask them to write code, even something quite simple, they will fail utterly and completely.
I've interviewed a bit over 400 people at this point. When I was doing it as a full time job, people only talked to me after they pass a screening test - which already screens out the majority of applicants. Even then, about 3/4 of the people I've interviewed were terrible. So bad they could barely write hello world in the half hour we give them. This is on their own computer, in their favorite programming language. They did not have to talk to me during the process at all. A lot of the people who fail have graduated from decent universities. Some said they had 30 years professional experience.
I'm sure some of that is due to nerves. But a lot of it is simply because programming is hard, and most people don't have the right kind of brain for it. Lots of people - probably the majority if we're honest - bluster their way through certification programs or degrees. Many of them learn the theory but struggle with the practical skills. Sometimes they gather together in low performing teams at large companies where management doesn't know any better.
If you graduate from a music conservatory, you can probably play an instrument. But that isn't true of most computer science degrees. Lots of people graduate without being any good at programming.
Its also a numbers thing. Good programmers don't stay on the job market for long. Great people will send 1-3 applications and be hired. Or more likely be hired through word of mouth. Bad applicants might send hundreds. As a result, most job applications are written by dedicated people who get turned down over and over again by employers.
There's a reason fizzbuzz has become a cliche in our industry. If you put up a job ad, most people who send in an application won't be skilled enough to program it up.
michaelt|7 months ago
People actually find being fired a greater inconvenience and humiliation than a 60 minute whiteboard interview.
pelcg|7 months ago
Why do you think that famous employees get straight offers without doing anything verses many engineers still getting leetcoded and get left with no offer despite being over-qualified?
Soham was able to pass most programming assessments so well, the folks at bookface were discussing to ban him from applying to their startups.
You can see that another system has been created to make sure that the role is reserved for friends of the founder, ex-collegues of another team over an extremely qualified engineer out of no where.
piqufoh|7 months ago
bluedino|7 months ago
munificent|6 months ago
A developer is likely quitting another job they are heavily invested in, possibly moving across the country, and taking a risk when changing health insurance.
If you ask them to do all of that and then immediately turn around and fire them because you didn't really hire them, you just did so probationally without telling them, then you are running an absolutely toxic business. Word will get out and no decent candidate will even consider working for you.
amosslade|7 months ago
I’ve hired many construction workers over the years. In the construction industry, if an interview goes longer than 15 minutes you’re doing it wrong.
Interview summary: Interviewer: “Can you do the work?” Interviewee: “Yes.” Interview over.
When they start working, if they can’t do the work, they’re fired.
falcor84|7 months ago
dionian|7 months ago
SpicyLemonZest|7 months ago
domrdy|7 months ago
Labor laws in many places are less “flexible” than those in the US, and they don’t support what you’re proposing, for good reason. I wouldn’t quit my job or uproot my family just to convince a manager I’m worth keeping.
unknown|7 months ago
[deleted]
tayo42|7 months ago
There's no code to match for software like there is construction. Auditors don't know anything. Managers and abibey are often to disconnected from work to know what's good and bad.
smokel|7 months ago
They will make friends, spend time learning the domain, and a company will invest quite some hours.
During the interview phase, it is easier to swap candidates.
tester756|7 months ago
blindriver|7 months ago
If we could fire bad hires instantly, tech hiring could be a lot easier.
appease7727|7 months ago
grim_io|7 months ago
timeinput|7 months ago
Do they? That is an assertion with out any data. I've worked with F tier developers who worked at Facebook, and Google. They're trying to minimize their false positive rate, but they don't realistically publish it other than laying off large portions of their work force. Presumably because they weren't great, but passed the interview process. If you lay off 3-5% of your staff in a year you had a 3-5% false positive rate. Maybe it's minimized by these in person interviews, but that seems like an unacceptably high false positive rate given how much time the interviewers spend on the process.
3% is probably about as accurate as 'solve fizz buzz in python' prior to AI, and that's where they were in 2022.
lubujackson|7 months ago
If you hire specifically on ability to invert btrees you will get precisely that. The question is how relevant that is to the various jobs being done there.
Apocryphon|7 months ago
gabrieledarrigo|7 months ago
You cannot start your reasoning with "it depends" and then continue with an absolute. I could do the same:
As with everything, it depends. Live coding interviews don't work.
What's the difference?
domrdy|7 months ago
pelcg|7 months ago
They work (for some) and leet-code weeds out the frauds that really cannot problem solve and assesses those who have not built anything to show to justify not doing it and can be applied to companies that are joining from an acquisition.
> The perfect solution, in my view, would be an assessment where the candidate feels relaxed and able to perform at their best, knowing that every other candidate in the pool has the same constraints in terms of time and tooling. It’s a tough problem to solve.
And that would be the fairest one which is to do the leetcode interview in person on a projected whiteboard and pair programming with the interviewer.
Very relaxing.
nailer|7 months ago
On the job will I constantly have to craft a narrative for another person while I code?
Do you know how many autistic people who are great programmers you're throwing away by asking them to multitask rather than letting them deep focus?
domrdy|7 months ago
belter|7 months ago
nyantaro1|7 months ago
crystal_revenge|7 months ago
This has not been my experience at all. Years ago being ex-FAANG was a pretty good signal, but as the filter has increasingly become "regurgitate a bunch of leetcode" the quality of FAANG engineers has plummeted.
The teams I've worked that have used live coding filters all had far worse devs than all the startups I've worked with that didn't require live coding.
In the old "algorithm whiteboarding" days, I think it was a decent signal, but now it's just a sad parody of this and the results show.
quails8mydog|7 months ago
I even have knowledge of some of the fails as people higher up the chain decided to hire them anyway. They didn't do well from the feedback I received.
unknown|7 months ago
[deleted]
throwzasdf|7 months ago
This allows ageism without repercussions.
sotix|7 months ago
lesuorac|7 months ago
That's the issue though. If you're paying top 1% wages then you should get top 1% performers.
If you want to pay bottom 20% wages then how do you select them using a whiteboard test?
lubesGordi|7 months ago
exabrial|7 months ago
do they?