81 comments

[ 0.15 ms ] story [ 80.4 ms ] thread
I couldn't find the text of this joke, attributed to Dirac. I'll paraphrase.

A man walks into a pet store. There's a parrot for $100, it says this parrot speaks perfect English . The one next to it is $1,000, and says, This parrot speaks 12 languages fluently.

Then there's a bedraggled looking, droopy, parrot, and its label simply says One Million Dollars.

Does it sing opera and has successfully run for President? the man asks with a sneer.

This parrot, says the store owner, _thinks_.

That's what this entire post is about - how to evaluate people with a series of attributes, score, correlate, blah blah blah.

Hire them, see if they think. If they don't, fire them. It's cheaper than this credential/signal rigmarole, most of which is about CYA legal b+llsh1t. Yes, it's a simplistic strategy and it doesn't work for Shoogle, Banthropic, Goober, whatever. You know what, boo f*cking hoo. You're a trillion dollar company, suck it up. You have a zombie horde at your doors and you're just upset the "true gems" are hard for you to spot amongst the slavering masses. You're going to heartlessly lay them off anyway in a few years. You SHOULD feel this pain and anguish of having to sort through them, constantly regretting all your choices. That's the only way to have balance in the Universe.

Our hiring dis-function is because there a lot of people that dislike conflict and firing someone.
His idea has some merit but will require the old system to completely crash out before anything new will be considered and I'm not sure if it will crash or just keep limping along. If it really does crash out hopefully we will see multiple new strategies emerge as there are many possible options once the current one is off the table.
As yegge mentioned, there might be more appetite for trying out this idea now because there are many engineers who are currently unemployed. Offering them short co-op could be beneficial to both the engineer and prospective employer
I gave the feedback at one Google interview that they should send Google employees through to see how many get hired. Good to see they basically tried that.

The conclusion at the end that bringing someone on board is the ideal method is true I'm sure, but even that runs into the issue that employee evaluation is an even worse situation than the interview process.

You can openly see some managers panic when they realize they have no idea what their employees have been doing for the last 6-12 months when they're asked to provide feedback.

> I gave the feedback at one Google interview that they should send Google employees through to see how many get hired. Good to see they basically tried that.

They did, but not with the intention of doing anything about the problem.

This is a question of reliability, the conceptual 'correlation' of a measurement instrument with itself when measuring the same thing.

Reliability is one of two major concepts in psychometrics, the other being validity, the conceptual correlation between a measurement instrument and that part of reality that you're hoping to measure.

The question behind validity is "I want to know X; if I measure Y, how helpful will that be?". And the question behind reliability is "if I measure Z, how accurate will that measurement be?"

https://en.wikipedia.org/wiki/Reliability_(statistics)

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

Yegge calls out both concepts explicitly, though not by name, in this essay:

>> The outcomes from interviewing are statistically terrible. Google did wave upon wave of analysis over the years, and all the results were incredibly depressing.

>> [reliability] To name just a few off the top of my head: interviewers barely agreed with each other. Put the same candidate in front of two of our sharpest people and you’d routinely get a confident “strong hire” from one and a flat “no” from the other.

>> [validity, though the 'problem' here is strongly confounded by a restriction of range issue] And once people were actually on the job, their interview scores told you next to nothing about how they’d do

>> [reliability] Hell, some of our star performers failed their Google interviews four or five times, finally got in after 2+ years...

>> [validity] ...and then outshone everyone else.

The discussion of how interviewing outcomes are statistically terrible would benefit from naming the ways in which they're statistically terrible. Knowing the problem you have is an important step toward solving it.

(And as a side note, the last I heard from Google, you're not allowed to interview more often than once a year. Interviewing five times in two years would seem to violate that policy.)

It is a basic theorem that the validity of any instrument is bounded above by the square root of the reliability. It isn't possible for an unreliable instrument to be tightly correlated to reality, because it is, by definition, not tightly correlated with anything. That's what it means to be unreliable.

Thus, any company that wanted its hiring process to be good would necessarily be extremely concerned with making that process accurate; you need to come to the same decision when you assess the same person. This is something that interviews cannot achieve except at extreme cost. You'd need far more than five interviews to get a reliable assessment from them, despite the claim in this essay that "any more than four interviews and you're just playin' with your food". Of course, the Google interviews aren't supposed to be reliable anyway, so in that sense the claim is probably accurate.

The prescription Yegge offers is valid. Multi-month work assessments will give you a strong, reliable, and valid signal. They're also very expensive.

Another thing the essay completely glosses over is that this problem has been recognized for a long time, and we already know how to do assessments that are reliable, valid, and cheap to perform. They're called standardized tests.

2 anecdotes ...

1) The worst interview I ever had (BY FAR) was at Google--disrespectful people, no respect for time, I could go on and on. And I went back to try again to get that money showered on me. Worth it in the long run.

2) Their new system for "performance management" is a hoax. Just like at all other places, it "documents" what you should do so they can fire you more easily with unspoken rules and all sorts of arbitrary causes as well. A friend literally hit EVERY pre-agreed target and still got pushed out for "not delivering".

It is not necessarily bad if people hired cannot make it through. Reasons:

1. Standards got higher. Luckily if you got in early and proved yourself you are OK. But doesn't mean you would pass the current interview.

2. A marathon runner (with rare exceptions) can't run a marathon on a random day. They train for a specific date. Same with interview prep.

The most talent dense place I've worked had a dead simple process - two one hour chats, one with your potential manager/team and one with the CTO or CEO. If things didn't work out, well you got sent away, probably happened twice per month. There was a particular meeting the CTO/CEO used and if you saw someone meeting with them there on a Friday afternoon, you would not see that person on Monday.

The place was not big - never got much beyond 100 engineers, but produced dozens of founders, VPs, GMs etc at well known companies, as well as engineers with very notable OS projects and lots of high-placed engineering in FAANG companies.

Steve Yegge is one of my very favorite authors I love his work. But lots of things to say here.

FIRST - is that before you get to campfire anyone, you have to have done some sort of interview process to boil it down to the one person to do the campfire - so how does that work eh?

SECOND - campfire is deeply invasive to the candidate's life and time.

THIRD - you have to pretty damn sure someone is a hire before doing a campfire. You CANNOT do campfire as an evaluation step, after which there are more interviews.

FOURTH - this is effectively just a really really long version of the take home work test which is absolute bullshit.

FIFTH - there's STILL no science to the campfire. Don't give anyone a fucking test if you don't actually know how to scientifically evaluate the results. And campfire does NOT result in a scientific outcome, it still results in an arbitrary opinion.

SIXTH - any company that wants me to do a campfire - to commit days or even weeks of work as part of them trying to decide to offer me a job - can fuck off. Sorry, the party got spoiled by all the other companies who asked me to do something as part of the interview process and then either ghosted me or gave me some bullshit outcome like "they didn't like your work".

I can tell you how to recruit people and it does not require campfire.

You TALK to people about software development - you engage them in extended conversation about what they have done, what they know, what their interests are, what they have built, what projects they worked on, what went right, what went wrong. You look for people who have BUILT STUFF - this was true before AI and is 100X more true now - anyone who has not built anything today is not worth employing and anyone who has built something must be able to talk about it in depth. This interview processes worked before AI and it works after AI. And finally, you accept the limitations of recruiting which is that people are people and you won't find out how well someone performs until they have been on the job six months - live with it.

Sorry Steve - I love your work but I'd never work for any company that wanted me to do a stupid campfire because they don't know how to actually work out if I can do the job or not.

The gold standard in hiring qualification is work-sample testing. It works fine. You do not need to "make hiring a profit center" or "provisionally hire" or do internships. Work samples done correctly demand less time from candidates than interviews and scale better than interviews. They are standardizable and iterable.

What I feel like I'm reading here is someone who has been poisoned by FAANG hiring practices --- and they are terrible --- and has missed most of the work that's been done (outside of Google's admirable work in debunking their own processes).

I appreciate the "kitchen confidential" here, but with respect to Yegge, I think he's been working at the Olive Garden this whole time. Go stage at Gramercy Tavern! They're working at a different scale, yes, but you'll at least get a different perspective on the "gold standard".

Seconded, stop the theatrics and gatekeeping and let's keep a growth mindset while training / retraining those who 'pass the buck' overtime. At least everyone can get skills and talented outliers will find themselves with more structure and collectively we'll produce better outcomes for more engineers at multiple levels of experience.
The current interview process isn’t meant to get the best talent, its intention is to give managers on visas an easy way to bring in other visa workers (via sharing questions and scaling difficulty for no-visa applicants)
> One day, the recruiters gave us a special round of packets to review. In these special packets, we were able to read the interviewer notes and candidate responses. All personal details were stripped out, and we were told it was a “calibration exercise.” We had to do our regular voting job with these special packets, and see how it went. I think we may have assumed they were from another site, since cross-site calibration was common. Our group did our job, and voted not to hire about 2/3 of the packets. This was about par for the course. But surprise surprise, this time, those were our own packets from when we had all interviewed at Google. The recruiters had tricked us into reviewing our own interview packets, and we had voted not to hire most of our own group. For that brief moment, we all had a glimpse into how utterly broken our process was. The people-team had rubbed our noses in it.

Or maybe the company changed in the 10 years or so since everyone in that room was hired and the employee needed 10 years ago is not the same as the ones needed now?

> And it can pay for itself twice: once in real work shipped, and once again in something else you could probably use more of, which is gravity.

what?

I think interview is part of tech life where I feel very, very bitter at.

Warning, sad boi rant ahead.

I was from a programming bootcamp. I entered the tech because I was the only person in my bigger family members who have the skills/education/chance to earn a big salary. I still remember, I paid $12k back then, and it was me and my mom's only savings. I started tech in my 30s, and mostly worked physical labor work before that.

I was the weakest at that cohort, but I studied really, really hard, until the bootcamp noticed my progress and hired me, albeit at a very low salary. That was my first programming job.

I eventually learned about big tech, and liked the fact that they didn't care about credentials, whether I came from a good university or not, unlike the YC combinator startups who mostly cared about credentials. I learned that they pay really well, and I did, read Steve's blog, "Get that job at Google". It motivated me to study DS&A, and also to get CompSci degree.

Overtime, I lost count, how many interviews I have failed at big tech. I gained more experience, I became older, but I kept studying, and studying, and studying, but I keep failing. I also wasn't sure which area to study, so I ended up studying for everything, from frontend to backend. It was a lot, really, a lot of things to study, from leetcode to JS specific to DOM to backend system design to frontend system design, to behavioral, and frontend interviews back then was still a crapshoot, some companies ask for deep JS/DOM questions, some companies just ask for leetcode questions.

But I kept failing.

I think I'm pretty good, or at least, that's what I thought. I learned quickly, I have no problems for clearing mid level leetcode questions in under 20 mins. Overtime, the bar gets really hard and it became hard level leetcode questions in under 20 mins.

But what made me really bitter over all of these interviews, was that I saw my friends, people I knew, from programming bootcamp, from my CompSci degree, got a job at big tech. I knew, or at least, what's what I thought, that they had less skills than me in programming and in DS&A. But they got into big tech. Some of them were minorities, and during that time, diversity hiring was a thing, and maybe that's why they got in, I thought to myself.

Sometimes I asked them what the interview questions were, and to my surprise, it was easier than my questions. Idk why.

Sometimes I wonder if my luck in interviewing is really bad. I tried everything I could. I bought courses and devour those materials. It's been years and years and years and years. It did wear down on me. I want to cry, which I did sometimes due to keep failing big tech interviews. But it won't do me anything, I can only keep my head down and keep trying.

I ended up making pretty good money in this field, and able to help my family members. I did work with some of those big tech engineers. I realized that those big tech engineers were just average, and I don't think I am less capable than them. That made it sucked even more, because I don't understand why I kept failing, and why the people I know are succeeding.

I do some freelance now, but will finish some of my contract. The job market is scary, and one of my contract will finish soon. I am having hard time getting even recruiters to contact me, maybe because I don't have big tech credentials.

I also did mostly fullstack/frontend leaning lately so I ended up studying frontend interviews. But frontend job market is kinda dying lately, since most companies don't really respect frontend and don't think its worth it anymore. These days, I don't even know what to study anymore, so I need to study everything again, with the addition of all the AI stuffs.

I can't help but to think, and always think even today, especially during this tough economic times, what if I was able to get the big tech job. My family would be proud of me. I would have better co...

It’s interesting, this guy has a Wikipedia page but no achievements on it. It seems like his whole career has just been moving around and bullshitting about how great he is. I kind of expected to actually see an achievement on there, like inventing a programming language or developing something important.
A lot in here about Google, which hilariously has done a bunch of studies that concluded it's hiring process is awful (is sure is!) and the takeaway is that candidate evaluation is impossible, not that Google in particular does it badly.
> Another reason is that on the supply side, nobody wants to sign up to do a bunch of free work just to be rejected. If you just put up work, the candidates incur all the risk, meaning they walk away with nothing if you don’t hire them.

It's true, but prepping for a typical senior+ onsite loop in big tech still requires weeks of grinding leetcode, re-learning the latest system interview questions and the system interview answer framework, refreshing and rehearsing STAR stories, studying the company and its unique quirks that you're expected to know to pass the culture filter, remembering how to do all of this speedrun-style since you only get 40ish minutes per session, etc.

While that knowledge is more reusable across onsites, it's likely even more work than doing real or pretend-work for the company for a couple of days.

> When candidates get to walk away with something of lasting value that they can keep forever

I'm curious why them getting rejected from the position, even with the work sample they can carry away with them, wouldn't be still interpreted as a negative from future employers. "The other co passed on them, am I the fool for thinking they're good?" type of herd mentality which is often unavoidable.

Won't that "work sample guest book" be treated as the list of all companies that rejected you, a net negative for your personal brand you're projecting?

> (Me paraphrasing what Steve was implying) Take-homes are impacted by AI one-shotting them for candidates

I've been pleasantly surprised by how much you can glean from having the candidate upload their conversation log with the coding agent for whatever take-home you give them.

The paradox that strikes me is that "hiring is broken" yet these companies are beyond successful. So there's still yet another layer of something in between observing that employees are capable / incapable, and the company successful / unsuccessful.
I don't understand how a failing stamp for a campfire is good for the interviewee. It signals that they weren't good enough to get hired. Why would they want to parade that around?
You can't undertand because the argument is nonsensical.
Maybe three days is enough for some code bases, but if you have millions of lines of code, agents aren't going to help you that much.
kitchen confidential? in your dreams, nerd.
The "provisional employment" idea sounds good at first, until you think about how it would actually work in practice. You have 100 applicants for 1 position. Which one do you provisionally hire?

Ah of course, we have to do a traditional interview loop to evaluate 10 candidates before we can pick one. So you do the traditional interview loop, and then you have 6 months of provisional employment.

You haven't replaced anything, you've just added another level of hassle for everyone.

You could scale "provisional employment" by making use of "past employment" as a weighting mechanic. Let other companies do the "is employable" and "works on a team" checks. I believe that is called "a resume" and "references". "Let's add stamps and maybe a star system for these references" sounds like just reinventing LinkedIn with a slightly more Uber-like UX. LinkedIn already exists? Resumes already exist?

It seems to me like a lot these problems start and end at "we don't trust resumes and past employment history" and "we highly prize 'cultural fit' but think there needs to be a technical component to 'cultural fit' interviews rather than just doing proper 'soft skills' interviews". Maybe we all should just straight up stop pretending like we are looking for anything more than soft skills and vibes?

This reads as if he's really struggling not to say "Now that the applicants are desperate we can begin to interview them properly mwahahahaaaa!"
Very well thought and written. Provisional employee or intern. Or having the candidate to come and do real work for a couple of days. The challenge imo is the big company culture vs startups. Do the things move at the pace in big companies where the teams have the ability to evaluate? Startups are a different beast however.
The industry should get down from its egocentric ivory tower and start hiring like other industries. You are not special, tech. Just have a sort of bar exam you have to take every x amount of years. The actual interview should just be an in-person behavioral one, with your future boss. Period. Don't get enough signal from that? Sorry, that's life, taking risks. Imagine trying to open a business without taking risks, and only kickstart it once you are a 100% sure it will work. No other industry is as delusional. Here is a reality pill: what you are asking, a 100% safe investment, is impossible, as any economist will tell you. "Campfire", give me a break, grown up adults with families don't have time for that Silicon Valley wankery, and you have no evidence that the results will be as good and unbiased as you think they'll be...thanks for bringing attention to the subject though, and in passsing also confirming how garbage the Google (and FAANG, in general) hiring process really is.

Just one more thing: the industry should really put a bit more weight on measuring people's potential and the concept of long-term growing and learning on the job. Just saying. You know, like every other industry on this planet.

This is why we need interviews to filter off people who are bad enough to think "bar exam" is the right abstraction for software engineer.
(comment deleted)