Signals I've got from this post:
- Steve's company got acquihired by Amazon, granting him a free ticket in without all the torment of the multi-stage interview pipeline.
- It's a well known fact that it's easier to jump from one FAANG to another, so while interviewing at Google he had significant advantage, plus the blog gaining popularity.
- All of this has caused a deep down imposter syndrome, which resulted in an attempt to "improve" an interview process from the inside - but the wings were clipped pretty quickly by the corporate politics. It turns out that lawyers are not planning to reinvent anything there and hence are somewhat more important than engineers.
- The post itself is an self-applause over essentially a failed effort. "I've tried"
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.
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".
I don't know if it's the same in the US, but every job in Australia generally comes with a 3-6 month probationary period where employment can be terminated for basically any (non-protected) reason with little notice. I've observed that the option to do so is seldom used - probably because there is not usually much incentives for managers to decrease their number of reports unless there's serious problems.
Most places still interview. Because hiring someone for 3-6 months is still an expense. For large companies, onboarding can take many weeks before you're even thinking about being productive. Interviews don't need to be 100% accurate. They need to be time-efficient and an ok filter to prevent hiring the worst people.
I don't see how a bad job market is going to make skilled people be willing to intern in order to get employment. Employment is a market, if demand goes down, then the reaction will be that price goes down.
The reason students are willing to intern is because the supply is so high and demand so low that you can effectively hire them for nothing (or next to nothing). The interns know that on completion the internship will upgrade them to a new category with new supply/demand. It's the same reason they are willing to pay large amounts for a university degree.
So interviewing will stay the same. If demand collapses, we will see wages drop, and I imagine the supply of software people will react through early retirement, career switching and reduction of people choosing it as a career before we see an upheaval of hiring methods.
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'm skeptical of the idea that work can be consistently decomposed in such a way that an outsider can be effective immediately on anything other than toy problems. Saying "they can point their agent at it" is handwavy.. it helps but any mature codebase is still going to take weeks to get up to speed on, and there's going to be gaps that an agent can't fill because the knowledge isn't in the codebase. This seems like it would only work for mostly green-field projects that don't require a lot of expertise. Even things like "how do I use the product" can take a couple days to get up to speed on.
I also think this is pretty bad for candidates. The last thing I want to do is a bunch of unstable gig work for fickle startups in one of the most expensive places to live in the world. Also, I really think this only works if you decouple things like health insurance from employment, otherwise the instability can be too much for a lot of people.
It's funny that the post states: "None of these band-aids really help — we still all hire tons of false positives (unqualified) and turn away false negatives (actually qualified), despite every attempt to make the process perfect, or even good"
The post touches on it (regulation about firing causing legal issues) but the unfortunate truth is that turning away false negatives has little cost to a business as long as you make sure to turn away false positives. Bad hires are extremely expensive, where as the lost revenue of turning down a good hire isn't nearly as bad (it's easy to try to hire them again later).
The stamp idea is good, reputation based hiring is important, as shown by the use of referrals in hiring. I've always wondered why we don't keep track of referrals inside companies in order to figure out who is recommending their peers who legitametly are good fits, vs those who are just trying to help out friends (who might not be the best hires).
Further I think there is also the problem that anti-corruption/anti-nepotism often harms hiring. It's much easier when working in a start up to hire the most talented people you know without other people sitting in, compared to at a big company where I know people who actively know good people they want to hire, but who can't be arsed with the long interview process and high chance of rejection.
If it wasn't for the regulation around firing some sort of staking your job on the line would be effective. You can refer someone and have them skip most of the process but your job is on the line if that was a bad call.
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.
We have been working on https://talentpulsar.ai for exactly this. Hope to find some good collaborations with the hn community with some little self promotion, hope this is okay.
How about instead of a contrived take-home project or doing unpaid "real work" for the company, we ask candidates to do n hours of work on an open source project?
That's real useful work, if we don't hire them they can show it off to a different hiring company, and it makes the world a better place.
> There is a material difference between the signal from an internship (~7 weeks of usable work time after ramp-up) vs a co-op (5 months actually working)
And that's why the trades require you to perform years of work as an apprentice before you're ever qualified to pass an exam to become a journeyman. Not only is it like a years long internship, but you're paired with someone who has already passed a high bar. You're learning directly from vetted people, and those people can vouch for you.
> University of Waterloo famously sends their Computer Science students through a total of six internships, giving them roughly 2 years of real-world work experience before they graduate.
Still less time than an apprentice is required to work, but it's better than nothing. Most trades require you to be an apprentice for 4 to 5 years.
> The reason is, hiring engineers has historically been so competitive that you couldn’t convince a senior engineer to do an internship [...] So the industry converged on not requiring it.
Which is one reason the trades made it the law that you have to follow the apprenticeship in order to become a journeyman. "The contracting companies don't feel like hiring licensed workers" isn't an option. Companies don't do the right thing unless they're forced to.
This is why we need professional engineer certification for software engineers. We need a rigorous, time-tested, reliable process to ensure engineers have actually done the job in the right way. Otherwise it's a bad guessing game like Steve is explaining.
This is also why we need a software building code. We need to explicitly define exactly how you're supposed to engineer, so that we can create a certification that people can pass. Otherwise designing and building software is completely subjective. Engineering should not be subjective.
This is not some mysterious experimental idea that nobody knows if it'll work. Trades have been doing this for decades. It's not perfect, but it's much better than the alternative.
Lots of replies here pointing out that that any kind of "provisional employment" wouldn't work for the majority of candidates who are currently working.
From the candidate's POV what is mostly broken about the application process is all of the ATS gaming, resume tweaking, etc, just to avoid getting filtered out before an interview, as well as the inane leetcode screening that some companies are doing.
A better process might be to replace all initial profile/resume-based screening with task-based evaluation (evaluation could be at least semi-automated - if a computer/AI is going to reject me, I'd prefer it to be based on task evaluation job skills rather than ATS-filter avoidance skills!).
Lengthier on-site interviews/evaluations could also be task-based - for a developer role perhaps a 2-4hr peer-programming or problem solving task. Far less signal that a 3 month provisional hire of course, but maybe a better use of everyone's time than a traditional talk and brief whiteboard challenge process which is clearly failing as a useful filter.
I wouldn't expect companies to forgo the traditional touchy-feely team/culture fit type of screening as well, but better if this came after they'd already determined, as best they can, whether you've got the chops to actually do the job well.
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?
The thing is the internship or code campfire or probation or whatever all need the hiree to stop doing what they were doing. It’s incredibly intrusive. Lots of the best candidates have jobs and families and aren’t going to give up their current job to try out for a company that’s not committing. The whole post is so biased to the hirer.
> Mostly I just want you to come around on the diagnosis, and agree that we need to fix it properly for the first time in 50 years. [...] At Google, rather than putting a little black desk on every interview loop, they just assumed all the interviewers had their heads up their arses (an evidence-based assumption), [...] People are not allowed to question whether the interview process is valid. Challenging it is akin to casting aspersions on the entire engineering staff. First of all, how dare you?
A small scoping/guidance suggestion to start: Is the problem of improving hiring more tractable if you don't try to solve it for Google?
What if Google is hopelessly tainted with biases, from having run almost every single person there through a process that you acknowledge is a horrific load of poo. Which not only means the process has become a religion/frathouse that people are proud to have been accepted into, and will defend fiercely, but also greatly determines the strengths and weaknesses you have to work with, if you want to get them to do anything else.
What if you instead start with smaller companies that don't have the baggage of FAANG, and look at their requirements, which may include some mix of (off the top of my head): prior experience, learns whatever is needed, creative/innovative, works as a team member, aligned with company success, professionalism, good for morale, good for catalyst, will have some loyalty during the harder stretches or when tempted by a little more money.
It would be nice if, instead of many 2-person startups making their first hire with the assumption that they should mimic the known-bad processes of megacorps (often based on their own FAANG-oriented interview prep in college), the megacorps were desperately trying to figure out how to hire as smartly and genuinely as SMBs, but at FAANG scale and with all the FAANG legacy workforce biases clawing them down.
From my POV, the main thing that's really broken with interviewing right now is the filtering process, even before candidates do a take-home test.
In the last few years I was the main tech interviewer for a 300-employee fintech.
For a specific position, one recruiter got around 150 applicants, selected 5 great ones, who did take-home tests and mild-tech interviews. Offers were made to most.
For the same role/salary, but from another queue, a second recruiter got around 900 applicants, cherry-picked about around 70 of them. Out of those, only 40 completed the 1h take-home test. Only 20 delivered it, only 10 implemented the requirements. Of the 10, all were unable to answer even basic questions.
This was concurrently, so it wasn't "affected by AI".
I didn't changed my methods and in fact I didn't even got close to asking hardball questions to the second group.
The second recruiter didn't get their contract renewed and left.
Seems a bit detached from the real world.
If I am doing a 6 month contract which is what he is proposing then yeah I want a great day rate and to earn 12 months salary in those 6.
It basically means I invest in a company that doesn't believe in me and probably wont try to help me succeed.
Also mortgages, car loans, life and health insurance etc. are harder to get on a short contract.
Hiring is broken (maybe) but 6 month paid interviews are not the solution.
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.
Maybe I'm an oddball, but I've always thought this: if a cool company wants to hire me but isn't sure, give me a 3-6 month fixed contract and LFG. There's zero doubt in my mind it would work out. And if not, so what, I'll be okay.
Today I'm 45 with family and have a fancy VP title, but I would have no problem to do this for an interesting role at a cool company.
I don't think this works, and other comments have also pointed out the same. You open a position, you receive 200 CVs. Ok, then what, get them all to come in for a couple days work? A company that needs only one position can't possible handle that.
Now you're amazon/google. You have 200 open positions in a certain site/country. You receive 10000 CVs. Same problem, different scale.
So ok, you need to filter CVs, mmm, which sucks, right, so perhaps we do a screen interview? mmm, low signal, maybe....
I’ve seen this before. The result is a revolving door of temporary work. Because soon companies will be “you already put 6 months in, we don’t have enough signal work 6 more months” and at the year mark they swap you for a new candidate.
And before you say that this is inefficient consider that despite being terrible for morale and efficiency (proven in un’etica studies) companies still maintain the bottom 10% out or up or out policies.
Companies always love their power on their employee over efficiency.
This paper (from the same research as his book on high end culinary organizations) is worth a read https://journals.sagepub.com/doi/10.1177/0001839214557638 - he talks about "negotiated joining" which is a similar scheme for placements that works well with undefined job roles.
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.
I normally get jobs thru people I have worked with already. It reduces everyone’s risk quite a lot. Obviously I had to bootstrap, and that was in the far easier hiring time of the 1990s when all the people who wanted to be rich weren’t trying to do programming. I still interview and have people look at my public git hub and so on, but the context is much more “do you understand the problems we are trying to solve and do you have ideas or experience that relate” than “can you do this programming puzzle” (which no, I can’t, my particular forte in software is identifying where systems or solutions almost line up and a little bit or torqueing with a glue layer or two will enable this awesome work to be used in this novel problem space; even larger green fields is just taking open source libraries and frameworks and pipelines and combining them into a useful thing designed for exactly the use case at hand, which will never not be a far more useful product than some big generic product, quicker to change to meet the customers shifting sense of delight and more fun.)
> 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.
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.
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.
Everyone is annoyed when Google or whatever has a gruelling high bar to get in, but nobody bats a lid when say Jane Street does it. Both wildly successful.
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.
> 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 then, importantly, each work item also counts once for the candidate: they walk away with a permanent, portable record of what they did and how well they did it, signed by you, whether or not you make an offer.
Why would this be useful signal?
I'll assert that you're in a professional environment of: dishonest posturing and oversized egos in startups, bureaucracy and butt-covering in established companies, and a culture of thin niceness veneer.
I'd think all of that would be barriers to a useful Permanent Record.
> This system is basically worth exactly what your honesty is worth. If you hand out gold stars to everyone, you’re just reinventing LinkedIn endorsements, which are worthless. Companies whose stamps mean anything will be the ones known for only handing them out for quality work. Being a hard, fair judge is an advantage for everyone.
What is the precedent of that working, in the environment I just characterized?
Given our current environment -- which isn't going to change easily; it works for the people who have most of the money now -- seems like a not very reliable new category of surveillance capitalism. But it gets worse... A lot of techbro founders will immediately see this as the next sketchy, hated tech company, which won't only charge companies a fee to participate, but the real business will be twisting it into off-label uses. For example, with whom and when a person has interviewed, and who which companies are interviewing, is valuable data to sell, no matter how useless the feedback. They could also see how close you could get it to a protection racket, by selling Pro individual memberships on the side.
So we get bad signal for the ostensible service, in exchange for additional techbro dystopia.
Mucho respect to the OP who was part of such elite fellowships as the "Bar Raisers" and "Hiring Committees" (and I'm sure he would totally have made it into the prestigious "As Appropriate" group at Micro$oft if he only applied for it).
My record is comparatively humble: I hired around 300 people in tech for small-to-medium size companies, in the small tech backwater of Vancouver, Canada.
My conclusions:
(1) Interviewing is an intractable problem. Start by recognizing that.
- You don't interview the best candidates, but the ones with the best resume.
- You don't hire the best candidates, but the ones that do best at interviews.
- Screening by HR (phone or zoom) is at best useless.
- Timed coding assignments are a waste of time. They are used because they're cheap + provide a [generally wrong] "quantitative signal". Noone's job will consist of solving 8 "leetcode" riddles/day.
(2) "Technology fit" is a dangerous illusion:
- It is very, very, very unlikely that any candidate will be able to pick up right away your tech environment. (ok; exception: you're hiring permanent an existing community contributor for your open source project)
- Your best new hires will be 0% productive in their first month (negative; training will use resources); 15% in their second; 50% in their third.
- Rejecting e.g. "Java" when screening for "C-sharp" is stupid.
(3) The interview process is about building relationships.
- People you don't hire will remember your company from the interview + disseminate.
- Someone you didn't hire today (one of your top rejections) may be super-attractive 2 months later, or next week if your top candidate accepted another position.
- Ownership of the process or at least buy-in from the team (vs. just the hiring manager + opaque "corporate committees") is the first step in a working relationship. Your "superstar" may end up being toxic in the team and you could find that out in the interview.
(4) Five simple rules:
- Treat phone/zoom screening like an advertisement for your company. Ideally do it yourself (hiring manager). Largely ignore feedback from HR :)
- Hire candidates who are: smart + hungry. Programming languages; frameworks; environments are secondary.
- Try to get a sense of the fit with the other humans in the team they'll be working with.
- Take "3-month probation" seriously. Explain it to the candidate + team. Sell it internally. Candidate compensation for a botched probation is reasonable + just money, after all.
- Treat candidates as humans: Send a personalized rejection (from you, the hiring manager _not HR_) to everyone who made it to the interview. Call or zoom everyone who made it to the final round. If you can, provide them actionable feedback on ways to improve their interview process. Leave a "human" door open.
Steve Yegge is the creator of gastown, a multi-agent workspace manager. It's an open source 21st century master piece of ai psychosis, slop, and most especially redundant processes, orchestration and code (MILLIONS OF LINES) I'm finding no surprise and even laugh-out-loud hilarious, that the author of such abomination is also the progenitor of the equally inane and psychotic hiring process of FAANGs like google and amazon.
What's with the fox performing phrenology on a sheep in the generated image captioned "The moment we realized it was us"?
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!"
The proposal does not make sense. Candidates do not benefit from accumulating and parading rejections until they reach a company that accepts them. If they have offers, they can and already do tell recruiters. Furthermore, this practice of spending days at a company is expensive in opportunity cost; you will have to burn your vacation time, and be able to interview at fewer companies. In sum, the proposal benefits companies, not candidates.
Most interviews are just referrals then confirming the bias, even if you fail some questions, you are likely in. If you came from no where, they are not gonna like you unless you get all the questions right.
If you want to know if someone is good at your company in 3-4 interviews, it’s tough, the best they can do is ask these technical questions. Talk to you about your past work, ask you technical what ifs. Most dumb ass companies will ask you to do trick coding leet code crap.
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.
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 companies in my resume, and could stand out more in the job market. I could've done some cool highly scalable projects that I can boast of in my resume. I could've joined some good team, mentored by good engineers. I would have more savings than now.
These days it doesn't matter anymore. The big tech salary era already closed. Things are way way more competitive than before. With my average background, I don't stand even a chance at being asked to interview.
Life is really a mystery. Things that you really need or want, you don't get it no matter how hard you try. But it is wasted away on those who got it.
I usually don't post comments, but seeing this post, I just needed to vent.
Thanks for reading.
Man do those slop images look ugly. I’d take child scribbles over the garbage picture in the article.
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.
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.
kitchen confidential? in your dreams, nerd.
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.
I like the evidence of how broken hiring is, but the treatment is worse than the disease, and the analysis is flawed.
The treatment: there's a long failed history of using contractors and hiring the best, which is a recipe for abuse and PTSD.
The wisdom now is that one should prioritize avoiding false positives, but the observed facts are that many people who later do great interviewed poorly.
For false positives, there's the legal risk (hard to fire), but the greater risk is the damage to the organization before they are fired.
The premise is that people are great or not at interview time, and the process just needs to be accurate.
But for both false positive and false negatives, the reality is that how people work out does not vary primarily with their skills (probably because all candidates have enough baseline skills) but is a function of both them and their work+environment - not f(emp) but f(emp, work, others).
For f(*, work, others) there are 2 troubling issues: 1) for underperforming groups, there's a massive incentive to blame someone, and blaming the new hire is the solution that doesn't disturb existing relations; and 2) even effective combinations f(emp, work, others) might not be able to perform as needed, so performance is only a qualified measure of effectiveness.
So the more interesting fact is when low-score hires end up doing well, which is signal for a high-functioning team being able to get the best out of people. And when emp goes on to other contexts successfully, the effect could be persistent (and they could be bringing it transitively to other groups).
Yes, companies need to hire good people. But sometimes it's more important for companies to make good people of those they hire.
I suspect the poster child for selection is Amazon, and for making the best of what you have is Apple. Amazon is great at pursuing new opportunities relentlessly, while Apple is good at managing a very complex supply chain and delivering consistently.
So on the "bundle" theory of companies (from recent discussions about Japanese company diversification), you'd want to optimize hiring to company capabilities and orientation.
If you make "accuracy" at interview time the standard and optimize against false positives, you're almost deliberately hiding from the details that determine what people will grow and contribute the most. (Here's where prior relationships, school networks have a positive effect that pragmatists accept (notwithstanding the social bias).)
Almost any work can be as formative as prior experience and education. I think that depends most on mutual consideration and a growth perspective, and you can interview for that. Like investments, you're looking for growth potential, not past performance.
Ironically, successful teams that make the most of their people don't need to hire so much, so you'll have less signal.
That answers why interviewing can not only be broken but stay broken: you're studying failures and optimizing for anti-failures, but there are a million ways to fail and a billion incentives to do so.
Better to deeply understand and replicate the few successes.
> 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?
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)
The guy looks like to be a kind of cancer of all that is going back with hiring in FAANG.
He is indirectly responsible or at least part of everything that was terrible in most of the big techs he was part off. By his own admission, each time things were evaluated, the scientific conclusion was that it was "horse shit" and totally randomly hiring results in the end despite having candidates go through an awful process. And now he is full of ideas about what kind of new nightmare we can create to reach the same stupid result...
What I see in his post, and that I find despicable is that it looks like that he has this "superiority" syndrom making him consider candidates and employees as disposable resources.
Instead of considering the process as a "mutual" process, where it costs and the investment on joining the company is also from the candidate side, he is considering that just the employee is a liability for the corp and that the candidate should submit fully to it. Even wasting weeks, month or years without guarantee of stability or not wasting his time.
And good riddance.
This kind of thinking is why a lot of market place startups fail.
You have two parties engaging with each other in a subpar way, and your solution is to make things better for one party (hiring side) and significantly worse for the other (candidates). Trying to convince candidates that this is good for them, won't make it so. Eg:
> Every stamp that you hand out, pass or fail, leaves a candidate richer than they showed up. This attracts strong candidates to you, because even your rejections are worth something to them.
Candidates don't want stamps. They want stable work.