top | item 44756578

(no title)

domrdy | 7 months ago

As with everything, it depends. Live coding interviews work. They’re not the best candidate experience, but they work at Meta, Google scale, minimizing false positives better than most other formats. What makes them stressful is the lack of interviewer training and the abstract, puzzle-like nature of the problems, which you can really only solve if you’ve spent time studying (e.g., LeetCode) or you’re fresh out of college or academia.

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.

discuss

order

zwnow|7 months ago

A brick layer isn't asked to build a wall prior to getting a job. A certificate confirming he did learn the job is enough for companies to employ them. Same goes for a lot of other jobs. Just hire devs and kick them out if they dont fit ur needs. Why go through these humiliating corpo processes?

jasode|7 months ago

>A brick layer isn't asked to build a wall prior to getting a job. A certificate confirming he did learn the job is enough for companies to employ them.

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

> A certificate confirming he did learn the job is enough for companies to employ them.

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

> Just hire devs and kick them out if they dont fit ur needs. Why go through these humiliating corpo processes?

People actually find being fired a greater inconvenience and humiliation than a 60 minute whiteboard interview.

pelcg|7 months ago

The truth the employers won't admit is that there is just too much money in this industry for very little effort.

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

In many non-US countries once hired there are employment rights. You cannot simply "kick them out if they dont fit ur needs". Isn't it preferable and less stressful for everyone if you can find the right person without having to hire and fire others first?

bluedino|7 months ago

To work for our local utility company, they make you dig a giant hole by hand and you can't hit the line etc that's under the ground, and you have to scale some poles.

munificent|6 months ago

> Just hire devs and kick them out if they dont fit ur needs.

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

Brick layers are easy to fire on day one.

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

Brick laying is a job where the progress is immediate and easy to assess. The better analogy would be of hiring a civil engineer - would you hire one to work on your project based just on a certificate?

dionian|7 months ago

Yeah well its different too because often the coding interviews are more like 'we know you're used to building with real bricks but just do it blindfolded without mortar in 100x less time for the interview, thanks'

SpicyLemonZest|7 months ago

People who see it as humiliating are misunderstanding the dynamics. Precisely because software engineers have so much market power, it's not so simple to kick them out; a company that developed a reputation for outright firing people would have serious recruiting issues. If a manager at Google, Facebook, etc. decides that one of their reports isn't doing a good job and has got to go, the process is generally to laboriously help them realize over the next few months that they've chosen to leave and are excited to explore new opportunities.

domrdy|7 months ago

I think certificates are interesting in theory, and there’s an entire industry built around them. AWS does a solid job with its certifications: if you earned one five years ago, it’s still more or less relevant. I'm not sure how certifications would work for proprietary technology.

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.

tayo42|7 months ago

These physical jobs have alot of process in place to assure some one can't do a bad job and if they do you can hold them accountable.

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

If someone is hired, they will most likely continue for a long time.

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

Isnt betting fired more humiliating? like 10x more?

blindriver|7 months ago

A brick layer that can’t do her job properly will be fired instantly.

If we could fire bad hires instantly, tech hiring could be a lot easier.

appease7727|7 months ago

So you think only people wealthy enough for a college degree should be programmers?

grim_io|7 months ago

It's probably ego and delusion. Every crud generator company thinks it's special and has some secret sauce it needs to guard. I'm sure some do, but overall it's a case of monkey see (google), monkey do (like google).

timeinput|7 months ago

> They’re not the best candidate experience, but they work at Meta, Google scale, minimizing false positives better than most other formats.

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

It sure is easy to cover up bad hires when you print money. And "false positives" come in lots of different flavors. Are they an asshole? Do they add unnecessary complexity in everything they touch? Do they interrupt at meetings and interject their own pet ideas?

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

How'd they get hired, in your opinion?

gabrieledarrigo|7 months ago

> As with everything, it depends. Live coding interviews work

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

Thank you. I'm not a native speaker, what I was trying to say was, that it depends on the "use-case".

pelcg|7 months ago

> As with everything, it depends. Live coding interviews work. They’re not the best candidate experience, but they work at Meta, Google scale, minimizing false positives better than most other formats. What makes them stressful is the lack of interviewer training and the abstract, puzzle-like nature of the problems, which you can really only solve if you’ve spent time studying (e.g., LeetCode) or you’re fresh out of college or academia.

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

> I encourage our customers to use assessments that somewhat resemble on-the-job skills.

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

I agree with you. I’ve failed many live-coding interviews because I start focusing on how the interviewer perceives me instead of the task at hand haha. Hiring managers still want to hear the candidate talk through a technical problem. I built a way for candidates to screen-record their take-home solution using only their microphone and screen share, with as many takes as they want. This lets hiring managers hear how candidates communicate and explain their technical implementations, a skill that matters on teams. But it means managers have to watch those videos. Many of our customers use it and candidates like it, but it still takes extra effort on the candidate’s and hiring managers part, with no guarantee that it will "pay off".

belter|7 months ago

Sounds you are looking to hire competitive coders not software engineers,

nyantaro1|7 months ago

I would love to see data about correlation between competitive programming competence and actual software engineering competence. I would naively assume there is a big positive signal, but it is pure speculation.

crystal_revenge|7 months ago

> minimizing false positives

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

Yeah, in my admittedly limited experience the grade I assigned in a live code test (slightly more than fizzbuzz, but no tricks or algorithms required) matched up very closely with real world performance.

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.

throwzasdf|7 months ago

- What makes them stressful is the lack of interviewer training and the abstract, puzzle-like nature of the problems, which you can really only solve if you’ve spent time studying (e.g., LeetCode) or you’re fresh out of college or academia.

This allows ageism without repercussions.

sotix|7 months ago

Some of the best engineers I've ever met are always false positives. They get nervous in live interviews. I don't think one can say live coding interviews work so matter of factly when it's eliminating some top, top computer scientists.

lesuorac|7 months ago

> As with everything, it depends.

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

Just make the take home assume that AI is going to be used.

exabrial|7 months ago

>Live coding interviews work

do they?