Ask HN: When did 7 interviews become “normal”?
Hello fellow travelers, I'll do my best to keep this brief(ish).
I've been in IT professionally since Y2K, data entry->QA->SysAdmin->PM->consultant->founder->sold and with the money took some years off, bought some property and a fixer upper and went to school and got a BSBA degree (never graduated from high school but wanted to show my kids the importance of a degree). I missed working and creating things with people so decided to reenter the job market in the PM space. So now that my hat is in the ring I have been told by recruiters what I need to "expect" in this "new market."
I was told "5 to 7 interviews is normal". What? I genuinely feel like I'm having a 'Blast from the Past' moment in this whole thing (good 90s romcom kids, look it up).
When did a hiring manager lose their authority and the trust of the organization to do their job? Am I just out of touch? How is a process like this in any way shape or form efficient or productive? Am i missing something? HN, please help!
First: we no longer trust the hiring manager alone, because probably they aren't a strong developer. We instead trust strong developers that are well trained at evaluating good devs. At the same time, we don't want to thrust a dev onto a hiring manager, so they also need to interview you too and have a say.
Second: Is it really fair to have just one or two developers evaluate you? When I first was an interviewer, I liked everybody! I would have hired them all. So getting multiple data points matters. Best to have at least a couple dev interviews.
Then there's the whole problem of needing to evaluate you on multiple dimensions. Can one interview really tell if you're good problem solving, coding, algorithms/data structures, and any specialization the role has? What about the soft skills aspect? We're going to need to have at least 3 or 4 interviews to cover all these aspects. These roles pay a huge sum of money, so there's a lot of worry that someone will be hired who doesn't really meet the bar, you know?
But now we have a bigger problem: if we're going to invest 4+ people to spend an hour of time with you each, we'd better have some data points that you're worth that investment. So maybe we need one or two initial interviews ahead of time to weed out any obviously unlikely candidates.
After that, it's every other company going "Oh shit, Amazon does 6 interviews? We should do that too!".
Scaling any process to thousands of people is always hard.
Is it annoying for candidates? Yeah, but we pay you a lot of money, and it does actually work for us. Is it perfect? No, but it does work.
“Hire and Fire fast” doesn’t actually work well if you want to give people a chance to succeed. Also people tend to keep low performers around too long. Best to avoid this as much as possible.
Compared to what? I don’t think anyone is claiming this process is perfect. Just that it’s better than alternatives.
People will always get PIP’d and fired. But the goal is to reduce that as low as possible.
And it shows, barely anyone in my entire career has ever been fired. I only personally have been close to one.
I knew a guy at a FAANG who earned himself and his report a PIP for the grave sin of choosing the wrong deputy to send upstairs while he was on vacation. The deputized person went to one meeting and ran his mouth (arguably, told the truth). Both are no longer at the company.
PIP politics are absolutely routine in FAANG and if you’re arguing the other side you don’t know. FAANG is actively trying to fire or replace you at all times. I’ve worked at two so I can’t speak for three, but I’ve also worked for the two in that older acronym that you’d think of as the “nicest”. People read that that and probably hear me saying “giant evil entity is out to get you”, but it’s really middle managers cosplaying Kings Landing in the office, mostly unchecked, that does it.
Seriously; people want to work at a FAANG/MAMAA or whatever so they often assume it’s good. I had someone ask me if I noticed how light my calendar was now that the org considered me irrelevant. There’s an idea that FAANG is a bunch of nerds with glasses cooking up cool shit in a Zen commune with ambient drone music but it’s honestly some of the worst office politics I’ve ever seen across what is now two careers, and the PIP process is a big tool in that kit.
I went from long time IC to manager at a faang adjacent company. It was eye opening to see who was on a PIP and go through calibrations.
There were well liked, competent people who others on the team got along with but they just were not delivering at the expected level. Sometimes the problem was lack of motivation or bad role fit.
Another i think is when management doesn't understand that someone is, in your wording, a "well liked, competent person", doesn't adequately understand what they bring to the team. Performance reviews, especially of ICs but not exclusively, have a bias towards perceived individual contribution and against teamwork.
So is the 7 interview gauntlet. But I guess it just shifts the burden on the candidates and externalizes cost.
People who put up with anything are expensive. They keep billing you hours for tasks that could have been reduced to minutes by someone with a lower tolerance for BS.
Where do you people work because I'd like to (a) avoid it and (b) poach people because your world view sucks and I can only assume that's a direct response to a shit environment.
To put it into perspective, my first 1:1 with everyone on the team includes questions like "what have previous managers done to help you be successful?" Managing people can be difficult but managers shouldn't be.
My current company ambushed me with a full interview panel, Gilligan's Island style, when a former coworker invited me to come in for a 3 hour tour. I took it in stride and had fun, and it gave me some additional leverage while negotiating compensation. I remember writing an architecture doc and unit tests when they asked me to code something in an hour and a half. I've been there 6 years and it's been most rewarding for me and my family.
My first job out of school was a solid 8 hours of interviews, and I had a lot of fun during that interview too. I got to work on space ships, and in time made a fortune in equity. I remember preparing a presentation slide deck completely in valid C++ syntax. I also remember taking a red-eye after that interview for another 8 hours of interviews at another company, which I also enjoyed despite having only had 4 hours of sleep.
The 2nd company I worked for decided last minute to interview me for two different roles. That was like 11 hours of interviews. I actually ended up taking the 2nd role because it was a significantly better fit. I brought a large cast iron skillet to that interview, which was a nice ice breaker.
It's true that I put up with a lot of frustrating tasks without complaining, but I personally have zero tolerance for BS. It turns out that the more I push back on BS within an organization, the more I tend to get paid, so in that sense I suppose I am expensive!
Going through TSA with a cast iron skillet in your carry-on is actually pretty fun because it's impossible for the screener not to giggle. I've also gone through airport security with a 20lb printed circuit board with about 90% copper fill, which surprisingly got less scrutiny.
Having something fun to make your interview memorable seems to go over well. I got selected for an internship because I showed up to the "interview" in a Hawaiian shirt. Apparently every other candidate showed up in a suit. We were meeting at a coffee shop on a college campus, so I just dressed for the environment.
I mean, maybe their other job isn't doing great, because they clearly have all this time to interview, wonder what is going to happen when they join your company...
Similarly, someone with a flexible, relatively good job is more easily able to look around and find an even better opportunity.
On the other hand, it takes some courage and risk tolerance to step out from the day to day grind and find something better, even if it could ruffle some feathers. That's not something that comes naturally to most people. Break some eggs to make an omelette.
It's expensive for the company too. All of the people involved in the interview process are still getting paid while they are interviewing the candidates. They aren't working on their projects that they have to complete. The company probably has a recruiting or talent acquisition team and the people on that team don't work for free. The company might also work with outside agencies or external recruiters. If you hire one a candidate from one of these sources, you have to pay them too.
It's really expensive in terms of time and money to hire people. It's really hard to build a great team.
Except the interviewee.
Even if there weren't, then 10% of the extra compensation vs. an easier-to-hire company with your discount horizon applied would also count as payment.
I clearly live in a different labour market to this conversation. How many places in the world is this common?
Picking numbers from a hat say 15 * 7 * 20 = 2,100 unproductive hours to avoid a subpar employee that still actually gets something done in the ~3,000 hours before being fired. That could easily be a net loss depending on how much onboarding time is needed and how unproductive they are on average.
Honestly, I think those numbers may be overly generous to long onboarding processes.
And so, every time I go in a section of code to fix a bug or adjust a feature and I see his name in git blame... I spend another few hours to make sure that I'm not breaking some of the twisted framework code that he had and possibly fix it up a bit and adding a unit test for the functionality before I touch anything to assure myself that I know what it is doing.
An unproductive poor employee is bad... a productive bad employee is where the real problems are for years and years to follow.
In your case code reviews could have caught the issue early before it became such a problem. Though obviously they also have a cost.
I've been a hiring manager before, and hiring good people is a huge time investment. The reality is that something like 99% of applicants aren't qualified, and the majority seemingly lack enough self-awareness to know it. The really good people also tend to be bad at marketing themselves. I don't think of interviews as a waste of time, though, even when it's a no-hire.
You also need to factor in the odds of this whole process working.
There’s not a whole lot of empirical research that measures the correlation between the interview process and employee performance.
And of course, employee performance measurement is as dubiously effective as ever.
I know multiple FAANG companies that track this data.
Well maybe thats the actual problem the company should be fixing?
Other than fiat wealth generation, what gains are there to treating each other like this?
Humans are prone to group think, belief in words of power, sigils; why believe in unfalsifiable value assessment when it comes down to tried and true ownership?
If traditional politics win at the end of the day why the belief this matrix of value isn’t just another cognitive boondoggle?
There's very little science in interviewing, and it is indeed heavily based on heuristics. The whole point of lots of interviews is to reduce bias. Unfortunately, it's possible for candidates to mistakenly think an interview went poorly because they didn't get the answer right away, when from the interviewer's point of view it was one of the best answers they've heard because of the process by which the candidate arrived on the answer.
A popular metric for whether a candidate is likely to be able to solve practical problems is whether or not they've shipped products before. A lot of people pad out their resume with collective achievements, though, and so it's something that needs to be dug into. It's unfortunately not uncommon for folk to not understand the stuff on their own resume.
I never consented to this culture. I see little different here than a church, meat based tape recorders thinking the noises they emit are “the way” with little proof except “feudal capitalism” continues to “work”.
We don’t owe deference and agency to CEOs, VCs, and founders. The syntax is different but the LARP of being sheep for “wise men” is the same.
Only 13% of the country has an advanced degree (mine is MSc in math earned in the 90s; I’m old) and knowledge is not locked away in those heads. Education does not make people infallible and omniscient.
This is a result of traditional political memes; owners rule, everyone else drools. The filtering and sorting inside that cognitive bubble is just the proles making proles dance like jesters. No scientific theory makes this the one true way of organizing effort.
Memorizing semantics is not proof they’re correct. If GME can be shorted to the extent it is despite that being illegal, our institutions are built on deference to BS, since that system is the bedrock used to prop up tech VCs.
Shorting is only illegal if it's naked. When I ask people who say this what they mean, the answer is usually that the shorting must be naked because so many shares are being shorted. But that isn't how that works. If you have other evidence though, I'd certainly be interested.
https://www.fool.com/investing/2021/01/28/yes-a-stock-can-ha...
Worked for me.
I know how the boring numbers game works and optimized for it. I’m being honest instead of equivocating in Anglo-babble reasons why a process is an acceptable measure for filtering some people. To see poetry in this is a bit weird. It’s the same old fundamental arithmetic operations applied to different geometry. Pretty routine for us been there done that’s.
I enjoy living in and participating in a society. Thanks to the productivity gains of specialization and free trade, technology has been developed to the point that I spend my days designing embedded software to fly autonomous aircraft. Those aircraft deliver medical supplies, primarily in developing countries with poor road infrastructure. At least a few people a week don't die specifically because a UAV I helped make was able to deliver them a blood transfusion. The company is for-profit, and in exchange for my work I am compensated in salary and in equity. The better the company does, the more people have access to life saving medical care, and the more money I personally make. The UAV system also requires people to operate them, and so the company employs hundreds of people in those developing countries. One of the earliest and most tenacious in-country employees quit a couple years ago because they got accepted to a robotics program at Stanford.
The last employee I personally managed the hiring of only had a couple years of community college experience and self-proclaimed ADHD. Despite my intent for them to only spend 6 hours or so on the interview process, they spent probably 16 hours because they found the interview process itself personally rewarding.
The company CEO drives a crappier car than everyone else at the office. By coincidence, I had a serious problem last week that required intervention, and I quite literally made the CEO dance like a jester for me in order to make a point. There was no scientific theory involved.
I'm right there with you regarding the corruption of most financial and government institutions. I don't think it's as black and white as "capitalism bad", though.
It’s very difficult to quantify individual performance, and even harder to put a dollar figure on it.
Last week I had fully intended to spend at least 20 hours heads down coding, but instead I spent the entire work week writing and updating an architecture document. It was the best use of my time, though, as it allowed two other people to be heads down coding instead. Now this week it's three of us frantically writing code instead of just me, and we all know the final result will work and be boring. We're replacing a 7 year old piece of critical infrastructure.
The more competent people weren’t necessarily the ones getting more things done, or the most visible, but were those engineers who understood the long term implications of what they were building, how it related to the business, and their relationship to other teams and customers. It’s trivial to be a good “performer” toiling away on a feature or system that shouldn’t exist. It’s exponentially harder to have the awareness to identify where the real problems are, and make sure you’re investing effort where it actually needs to go.
So I think I'd rather have a candidate spend 7 hours interviewing if it could save months of pain for multiple people later.
(This does assume, of course, that the 7-person interview panel actually does decrease the incidence of hiring-the-wrong-person enough to be worthwhile. I don't know if that's actually the case.)
Out of all the things I think are wrong with tech jobs -- and with employment in general -- I don't think "I have to interview with 7 people instead of 1 or 2" even cracks the top 50.
Maybe it was always that way though
Granted, I've only ever taken and given interviews, never given (or, fortunately, been under) a PIP or firing. But interviewing is just a few weeks or so of preparation and then a day or two, and the preparation is often fun, and so are some of the interviews. Nobody thinks PIPs and firings are fun.
The point is that there is little, if any, evidence that a given interview process does this.
I make half-ish of a FAANG salary, but it's enough to comfortably support a family and I'm generally pretty happy and get to work on cool stuff. The only challenge I never get at work are problems that have huge scale components.
If you're early in your career, they probably matter and it might be worth it, but for me it's not.
Maybe it'd be different in Silicon Valley, but in London they just aren't willing to offer enough over and above the kind of jobs I've had elsewhere to be worth the misery (with the big caveat that I'm at the high end of non-FAANG London market rates; for someone who is not, FAANG may be worth it here too)
Other interviews back then and more recent were pretty much the same. Max. 3 x 1h-ish meetings. I do have a bad habit of asking the interviewer to sell me the job on the first face 2 face meeting though. This does offend some of them and we drop it there. No point beating around the bush and wasting time if they think the interview is a one way street.
I also tend to make it clear from the outset I will not come cheap, in a "are you sure you can afford me?" kind of way. Not mentioning specifics, but making it clear I know my market value and won't consider low offers.
Some get very taken back, but it sets a tone. I think you're absolutely right you need to make sure they know it's two way, and to give a clear impression they're chasing someone high value, and that they're not the prize, you are.
But if their pitch is all about "changing the world" but they're not willing to share the upside, I know I'm wasting my time, so I want to make sure they know that I expect my share too, not just fuzzy feelings.
E.g. I a while back came across a company that was very proud of how rapidly they were growing, but somehow thought that mattered to me when they were not willing to offer any shares or options. I was meant to be excited about making other people rich...
I pointed out to them I've not once taken a job on terms like that in the last 25 years and called off the process after the first interview. I also explained to the recruiter just how far off market they were for someone at my experience level.
If that had happened after 5-6 interviews I'd have been incensed...
FAANG recruiters in particular also seem to get confused when I insist on getting an indication of salary range and option/rsu amounts before being willing to agree to an interview. Several times I've had recruiters come back to me days later after digging up the information, as their first line seem to not even know, just expecting people to be all excited they're even calling. For my part I'm shocked more people aren't having that conversation. But that does explain leaked info some time back about how Facebook is dealing with high rejection rates once they actually give offers.
If you can't get someone up to speed with your internal processes fast enough to at least gauge if they're following along that indicates an internal problem.
The problem is, I think, that HR does not want technical staff to see the hires for (probably made up) legal reasons. So the decision is mostly made by people who can't actually gauge competency.
"Interview was weak. They don't know what they're doing."
"Aced the interview. Fired after two weeks. Leadership doesn't know how to hire or manage."
"Never seen a place with so much churn. In the last six months, I've seen at least half a dozen engineers exit after two or three weeks."
Know what raises the level of difficulty for finding candidates? Shit reviews about the company. You can have the best tech but if you have a toxic smell, you can't hire. To the outside, perception is reality and reviews are how you get that perception. You can't do the opposite though and say "J Smith passed interview but we let them go after two weeks because they couldn't do more than pseudo code on a whiteboard." and even if you could, you'd look like a shit company and you'd still have an impossible time hiring but for other reasons.
This idea of quick hire/fire is so bad that all you have to do it go one or two steps further to find the obvious problems. But hey, start a company and use that model. See how it goes. Prove us all wrong.
Not to mention the amount of technical debt high turnover causes for tech companies
The opposite is 7 interviews and shedding most of your applicants for trivial reasons. Most businesses can't support that, too much work would go undone and they would stop being competitive.
I was just talking about to implications of poor company chemistry which stems from lack of trust and job insecurity.
I think the best way to evaluate a person is just to talk to them about their experience and why they do what they do. Passion is a critical indicator
I can only say that: Oh my gosh do I not want to work for a company that "hires fast and fires fast". For many different reasons.
Most people except for a few outliers will be fumbling around the first month while they learn the code and the company.
The entire system makes absolutely no sense, precisely when looking at the numbers. You could do anything you wanted during the interview and that still won’t change the outcome that the same number of people will still be fired at the end of the day.
We make an effort to take up as little of the candidate's time as possible.
My response was in good faith, and yours is not.
Having had a fair bit of experience interviewing on the technical side, I've observed a huge variance in quality of interviewer. Sometimes you get someone who values communication, creative problem solving and asking good questions. Sometimes you get a whiz kid who gets off on playing gatekeeper and judging people as below their superior intellect.
Even a single person in the chain who falls into that latter group can completely derail a potential hire, leading to an overabundance of false negatives, IMO.
They were US startups and they've all tried to emulate what I think of as the FAANK process: so you have an initial call, a technical screen a couple of other rounds of technical screens, that maybe include system design, and fit/behavioral with people you might be working with. In practice the people who got hired endured 5 to 7 interviews.
It's interesting to see the statements here saying that the reason for the large number of interviews is to assess the candidate from a number of dimensions and perspectives. What I observed was that was not how it really worked.
My position as an outside contractor, as well as someone who loves chatting with people, made me sort of the ideal confessional for the engineers who directly participated in the hiring process.
The main dynamic that drives having such a high number of interviews is that the hiring process is less about assessing the candidate (beyond a certain point) and more about allowing to play out the implicit political power and conflicts of the people who are judging the candidate.
For example in the first startup we had this engineer who was identified by the CTO and co-founder (who formally stepped down as CEO) as being a good potential hire, and they excelled in the technical aspects of the interview but they received meh votes from one of the engineers who was lead on a significant project and had a bit of clout, at 3rd interview, and were subsequently rejected, after 7th interview.
So basically the feeling of the staff that I talked to was the reason there existed four more interviews after the consensus was to hire, was to allow the political player to promulgate their preferences and manufacture consent with the motion to reject. So through a careful orchestration of four additional interviews closely managed by the political player who asked doubt-casting questions in each debrief this lead was able to cultivate doubt where formally there had been consensus (besides his sole dissent -- he wouldn't have been working with a person anyway, heh :)). So basically it would have been intolerable for this politically clouted lead person to have "lost" to those other staff with less clout by having their preference denied. I felt really sorry for the candidate but I heard that when they got the 7th interview rejection that already accepted an offer at a FAANG, go figure. Heh :)
Observed a similar dynamic play out in another hiring process at a different startup. That stage we had the director of engineering identify candidate that was a good hire. And basically softly railroad them through the process which didn't prove difficult as everyone was mostly on board and the team was really desperate for high quality technical talent with the right skills and this person had that.
So what was interesting to observe was that the other candidates in the pipeline at that time were still taken through interviews even though this person was basically from the initial screen stage already being moved to be hired internally, and all of the other interviews were basically friendly get to know you sessions with super lightweight technical questions and a lot of I suppose you could call it confirmation bias but it's really just you know people being nice to someone they want to work with.
But all of these other poor candidates in the pipeline were still put through all these interviews with the idea that you know there was still a role out there for them being told the same things they would have been told were they you know actually under contention. Or maybe that was because we didn't know if the candidate was going to accept or not but they seemed pretty keen and the thing is I'm almost 100% sure the team wouldn't have hired any of the other candidates in the pipeline anyway.
But again I observe the dynamic where the debrief interviews about these non-starter candidates were basically role-playing games for politics in the organization where people projected their preferences into little power games against their colleagues to try to have their own preferences be the ones that win. Decidedly wasn't about those candidates at all because they had not even had any chance of being in the process. The only point of the subsequent interviews of all those non-starter candidates was to act as an arena for the staff to role play their sort of political status conflict games with each other but this was never exposed or stated it was just this sort of implicit thing.
So given that experience I wonder how much that is a dynamic driving these lengthy and in a lot of cases unnecessary interview processes across all of the tech hiring and organizations that are utilizing this type of process these days.
I don't think it could apply everywhere I think there's probably places like Amazon where they are really doing something different. And like I said I don't have any of the data from the ZFAMG stuff.
But I'm reminded of something Peter thiel said which is you know in academia the battles are so fierce because the stakes are so small. But another side of that is everything so secure there and that's why the stakes are so small. Same thing is true in tech I mean once you score one of those 150k plus contracts and you're doing something that you basically love doing it is a great ride and everything really is so secure so how do people take out their natural ape brain competitive urges in that environment? I think as another commenter said, where can people project their risk-focused paranoia in such a low risk environment? and it's onto personnel.
So I think there's definitely the case to be made for maladaptive pathological psychological underpinning of these lengthy hiring processes as much as there is a case to be made for how they could be useful at getting data from from a bunch of candidates.
Personally I think the best types of hiring interviews are some sort of pair programming work emulation. The problem with that is in my experience companies are generally very terrified to open up their internal code base to the eyes of outsiders because they're basically scared that oh my God people are going to steal our code.
But it's always the case where after someone's hired and you start working with them that's something you end up doing and that's where you really get a sense you know if can I trust this person to deliver and do they match what people are being saying about them from the interviews.
So I just think those sort of work emulation tasks you where you're pair programming or talking through something with someone it really has more of a place than it seems to have been given so far in most of the places that I've seen and heard about.
i whole heartedly agree on the pair programming approach being practical and yielding good results. i think you can skip exposing the candidate to the internal codebase, and replicate an internal problem in a more generic and high level way.
This can be present even in non-FAANG interviews. Early in my career, I had an interview at a financial company and for a question about how do you style html pages, my answer was CSS and the interviewer expected something about ASP.NET webstyles. He was't ready to accept my answer saying you are a dotnet dev and should use ASP.NET functionality since it was more superior rather than CSS. I was like CSS is a web standard and anyone even designers can modify CSS.
So yeah, it depends on the maturity of the interviewer.
The thing is most big companies don't care about your burn-out or personal situation, they either have product launch deadlines to meet, or revenue targets or customers to please, and people in the trenches are considered replaceable so churn is something they account for in order to meet those commitments.
If you're lucky you might have an understanding manager, but he himself may have targets to reach for his bonus or promotion, and if you're dragging his team down and his bonus promotion with it, then ... it's nothing personal, it's just business, you will be let go.
I worked for a major European semi company and the churn there is insane, either they fire people or people leave by themselves within the first 2 years. All because managers are given near impossible targets, along with great bonuses and stock packages to incentivize them to use whatever means necessary to deliver on those targets, usually at the expense of people in the trenches which are treated as expendable commodities.
I have seen a couple of people get fired for cause; that was always clear. I’ve never seen an unambiguous PIP.
Generally, the more the company practices “hire fast, fire fast” the easier and more common it will be to PIP people.
The companies with 4+ stage interviews and entire departments devoted to recruiting and candidate evaluation tend to not have as many PIPs because they’ve studied their interviewing processes and prevented most of the underperformers from getting hired in the first place.
The most quick-to-fire company I ever worked for had barely a 1-hour interview process. They’d hire anyone who seemed remotely qualified and then they’d fire everyone who didn’t work out. It was terrible and now I’m actually suspicious of companies that don’t do much technical screening for applicants.
Lack of motivation and burnout maybe could be somewhat sussed out in an interview if it was obvious, but the people that I've been around that's happened to (and myself at one point in my career) were completely fine, but I'm skeptical of any interviewer that says they can reliably fish that out.
isn't output related with lack of tech skills?
In my experience in high performing tech companies, I've seen about 40 PIPs. There are 'utter tech incompetence' PIPs in the world, but as far as I've seen, they are far less popular than 'thoroughly uninterested in working' PIPs, 'disliked by new manager' PIPs and 'person has a work unrelated crisis' PIPs. Those tech related PIPs will normally have all the symptoms already in the first review cycle. If someone made it to their 2nd year in the company, tech incompetence is not really the issue. It's just unfortunate that nobody provides stats for this kind of thing, so we don't have to just rely on "you have seen" vs "I have seen" arguments.
In some cases, task assignment instead of task choice. Sometimes by unluck of the draw, you just get assigned to a shit project with no visibility. You could be Einstein, write entirely bug-free code, and you’re not going to get rewarded for the work.
I’ve seen really mediocre people brown-nose and schmooze themselves onto a rocket ship project that takes off despite their mediocrity, and they get promoted to the moon. That’s how some VP’s and Directors are made. Meanwhile, a literal genius languishes away improving the performance of InvisibleInternalTool by 500%.
The older I get the more I realize how much corporate tech performance evaluation has to do with politics and bullshitting and “being highly visible” and how little it has to do with performance.
There will always be burning mistakes, or people who lie or are otherwise hard to predict will be a disaster. What else would you propose?
If you're at the PIP stage, it generally means your boss and your superboss have decided that it's time for you to go, but for legal purposes, they need to look like they tried to give you a chance, so they work with HR to craft specific-but-typically-unattainable goals which would theoretically allow you to save your job if you hit them all. But with boss+superboss already wanting you gone, the likelihood that they'll agree you've hit an improvement goal that's usually a thinly-veiled form of "stop me from hating you anymore, lol" is pretty low.
If you get a PIP, in nearly 100% of cases, you should just take it as notice that your employment is going to end at the specified review date in the PIP. It's not usually worth trying to hit the goals. Focus on interviewing.
That said, I once managed an individual who had survived 4 PIPs by the time he reported to me. I heard that he was eventually fired about 2 years after I left, but not sure if it was his 6th or 7th PIP. He was a particular discrimination liability at a company that was very sensitive to that type of thing.
It rather stuck in my mind.
(I also did not, ultimately, end up exiting the company as a result of the PIP, just for completeness given the context of the thread.)
This means if an employee here were put on a PIP, it's usually (but not always) the first step towards them being fired.
https://cdn.n7.gg/pip/pip-1.png
https://cdn.n7.gg/pip/pip-2.png
Not every company is awful.
1) build a plan and make meaningful progress on a high impact, but stalled, project
2) communicate about progress and/or roadblocks to the team, and ask for help where needed to get past said roadblocks
3) be more proactive about finding and proposing high impact work, or areas where others could bring their expertise to help benefit my work or get it done faster
Details are confidential, of course.
The problem is that those are two highly correlated data points. Toxic bosses are eventually found but at that point they leave a track of dead bodies.
What I have seen sometimes is moving around disgruntled employees. It has its own problems but a lot of the times they are recovered and even become very productive again.
Agree, and this is often overlooked. There's a handful of people I used to admire whose tendency to readily believe whatever's being sold by their middling middle management chain has left me deeply disappointed.
Middle management is a necessary evil, but there's little hope if upper management fails to recognize and subvert its inherent incentive structure.
BUT, I’ve only ever seen the “unattainable goal” type.
And all the two non-subjective statements are provided with "trust me" and 0 data.
The interview process asks a LOT of the interviewee and then does not provide anything that could help the person improve next time, so the entire process feels like a complete waste of time. In my case, I was also disrespected by the recruiter.
The next time they reached out, I failed the phone screen somehow by someone who sounded 20 years younger than me (which is frustrating when you have already passed these same steps before). I don't respond to Amazon recruiters anymore.
I am definitely a little pretentious for saying this but I get kinda peeved when I am interviewing for high-level roles and my initial tech screen is by a junior engineer. It's not so much that I think I am too smart to be properly evaluated by them or that they aren't worth being part of a hiring pipeline (they very much should be!), but my opinion is that junior engineers aren't properly tuned for what is and isn't a good engineer and if they are, they shouldn't be a junior engineer.
The other side is when I get reached out to interview for a high-level role then get talked down to about how I don't fit their criteria and I basically wasted the executive vice president of external internal engineering's time.
Presumably they aren't instructed to evaluate for that, but instead to identify glaring communication or other interaction issues.
1) Recruiters at these companies are under a large amount of pressure to bring candidates in.
2) There is only so much time in the day
3) They feel all of their time must be spent on potential hires because of #1 and #2
4) No one likes giving bad news
I don't feel like any of these reasons excuse you from being a considerate human being. Ultimately, it happens because recruiters are never rewarded for being considerate. People who fail the interview process are treated like legal liabilities.
Consider, possibly, that the mismatch is explained in this sentence.
I will absolutely give high weight to how the receptionist is treated by the candidate.
Nothing rising to the level of implying and certainly not implying rude.
Just, "I failed the phone screen somehow by someone who sounded 20 years younger than me" might be suggestive of something to self-examine.
But since you're confident that you are fully innocent in the interaction and the rejection is solely due to your interlocutor's naivete and inexperience, then it's no doubt true.
This is a lawyer thing
Without large societal changes to no longer have the US be crazy litigious, no big company will ever give you actionable feedback about your interview.
The truth is that nobody likes being interviewed. Getting tested and judged by strangers isn’t fun.
But developers also really don’t like being surrounded by unqualified developers who slipped through a weak interview process. They also don’t like having significant numbers of their teammates fired and replaced all the time because the company had “hire fast, fire fast” interview styles. It’s miserable and slightly terrifying to work at a company where nobody really wants to invest much time into building relationships with new hires because many of them are going to be PIPed out before the year is over.
So while the interviews may not be fun, the reality is that strong developers really appreciate the outcome of such a rigorous process. It also helps protect people from becoming false negatives because they didn’t mesh with a single interviewer or struggled with a single interview problem.
So now we’re at this weird equilibrium where devs simultaneously hate the interview process for themselves but appreciate it being applied to everyone around they (even if it’s not immediately obvious).
I do. It might be because I'm way better at performing in interviews than in the actual job. It's also way more exciting to do. I have also done interviews on the hiring side of the table, and that's not nearly as enjoyable. However, especially finding people to work with you is quite rewarding.
Not really. When I was at Google there were tons of candidates that would get passed on because of one of the interviews going badly.
I sort of do. It's fun problem solving, at least sometimes.
Only if we assume the managerial class doesn't use this extended process as a chance to do politics and if we assume a longer interview results in better matches.
My experience in casting actors (different field I know) is, that after a certain duration you will get diminishing results. You can tell most of the time within an 20 minutes or less of someone could do the job or not. The rest of the hour is needed to figure out how they work in different situations.
What I would never do is have my existing actors interview them. They can veto someone, they can tell me what they think, but why on earth would I let them interview someone?
I considered applying for Google at the time, but the combination of the famously arduous interview process, AFAIK both in terms of the time taken and difficulty (for which the recruiter recommended taking further studies in advanced data structures and algorithms) meant that attempting it would be silly.
That's what a "farm team" is for, developing folks with a growth mindset. Never thought of it as either miserable or terrifying.
Rarely have I ever seen a candidate be rejected by seniors or leads and still get the job even when the decision had to be argued until it was unanimous. Pretty much if a senior goes thumbs down, the decision has been made and the meeting is over.
Leads and CTOs especially have to be mindful of either not being part of the decision or being the last vote, as to not taint the results... which again, means that the most senior vote will flip a "yes" to a flat "no"
Discussing how many no’s it should take to reject a candidate is a worthwhile discussion. I can override specific no’s with good reason at my company, but not all companies have that.
My broader point is that this is a specific issue with the process we can iterate on. We don’t need to throw out the whole process.
And then on the flip side - if you are really a star, and you are interviewing at a small company you should want 5-7 interviews to gauge the caliber of people you will work with.
Case in point, all these FAANG companies which pride themselves in doing 6-7 interviews, they all are spitting out shitty product after shitty product (that is when they're launching any new products at all). Exceptions do exist, I know of that, and when do they show up everyone is so surprised (see Apple and M1 recently). The pay at these companies is also very good, that is correct, but it's not correlated with the quality of the people who work for them or to how their talents are put to work. More exactly, a company so immersed in bureaucracy that it needs this amount of work to hire just one person is sure to waste the talent that it already has at its disposal.
My expectation at this point is:
Pre-onsite:
- 15 minute with a recruiter, tell me a little bit about the role, spend the majority of the time telling me why I should join the company, and take a few questions
- 30-45 minutes with the hiring manager. Tell me about what you really want, scope, the challenges, and let's talk about how I might fit. Do enough Q&A both ways to feel comfortable, and then let's make a call right there as to whether we want to continue on. For my part, I always tell the HM at this stage whether or not I'd be excited to continue.
Up to now, I've invested an hour. This is reasonable. Maybe we both like each other, so presuming we do, when you call me about the on-site, we should work out acceptable comp ranges. These may move upward after the on-site based on what I learn about the role, but let's make sure we won't waste one anothers' time with the on-site.
Continuing to the on-site:
- 60-90 mins on whatever technical background is required for the role. I'm fairly senior in management, so this usually doesn't involve code, but should cover whether or not I have a clue how to lead it. For an IC technical role, if we're smart about it, we'll know enough without doing 5X leetcode and 3X design here. I can also evaluate whether I care about your problem space if we don't make the content entirely synthetic. In 90 minutes, it's perfectly reasonable to do a design exercise + picking something in there to write some code around. This is it, though. One technical round!
- 30 mins x 3-4 with key peers/stakeholders. Make sure my behavioral stuff works for you, that we can understand one another, and yeah, that we might actually like each other enough to work together. I like to talk, and so if the other person does, make it 45 mins.
- 60 mins with the HM again to dive deeper on the role with the context gained from the interviews. Heavy Q&A. Let's give each other enough to make a decision.
- If you want, 60 minutes with whatever executive (besides the HM) will be closest to the role. Whatever you want to talk about. Let's just see if we can communicate.
You can cut this to half a day if you cut your most efficient interviewers down to 45 mins and don't overdo it with peer/stakeholder interviews, but I'd rather make it a full day with some breaks. This is because I need time to interview you, and that mostly happens after you've run through your things in each interview. We should all have enough information to decide here, and I'm not taking the on-site anyway if the first hour we had together didn't generate strong interest, right?
After this, call me within a couple of days, let me know if we're doing an offer or not. If we are, let's confirm expectations. The only things that will offend me at this point is if we're not in the ranges we previously discussed, or you want to do more rounds. I'm open to one more if there's a good reason for it (not wanting to use that person's time for the on-site is not a good reason). But we've had a day together. While one day is not necessarily enough to know for sure that things will work well long-term, even another full day isn't going to change anything about that.
Also, while the focus of the original post is mostly critical of the lengthy process and it being annoying to candidates, there's also the reality that the longer the loop, the fewer candidate throughput the hiring manager can have. There are only so many interview cycles per week before an interviewer burns out on it or can't get their job done as well. I'd argue that if you stretch these things out to a day, you will think harder about who you are bringing on-site.
If we agree for the most part that the time together wasn't nonsense and a headache, as you put it, that's a good indicator that we should work together!
tl;dr - I'm fine with 7 interviews if they're the right 7 interviews and planned thoughtfully.
As a candidate, I would also be wondering what it would be like to work for a company with a spread out interview process. I have been through multistage interviews, but decisions were always made quickly. Made it to the end of the phone screening, at the end of the conversation there is an offer to be flown out for a panel interview. Made it past an interview with the IT manager, then head straight down to someone else to discuss software development. Made it past the interview with the lead scientist, then head straight down to the lab to see the lab and meet the research team. Even though I was in my prime, I was by no means special and I only secured some of the positions I applied for. Yet I always knew one way or another within days. I was happy to work for those who I did get hired by and I would have been proud to be hired by those who declined.
Thankfully, I have never had to endure a strung out interview process. Because of that, I don't know how I would feel in such a situation. Yet looking at the prospect from afar, it leads me to believe that it would be difficult to work in such an environment: it would involve dealing with people who are more concerned about process than decisions, and with people who are not available when decisions need to be made (or even for process to be followed).
In my opinion this is a big problem. I wish there was a stronger culture of letting low performers go quickly in tech. This would reduce the need for exhaustive interview loops and ultimately make the industry more inclusive because you could afford to take a chance on someone without being chained to them for years to come.
I had to go through 8 interviews for a senior position at Facebook and ended up not getting the offer. I wasn't paid a dime and had to use a few vacation days at the job I had at the time in order to take the interviews. Technically I lost money interviewing at FB.
What pushed me over the bar for Google was probably making fewer mistakes on the technical loops but also having more people vouch for me on the inside (they like refs that work at Google).
The pay isn't Facebook-tier but is still pretty darn good, and I'm enjoying it a lot, which I'm not sure I would have at Facebook. It was probably the better path for me overall.
Since you have a chance of getting cut at each round as an interviewee you are left hoping not to run into: some esoteric corner of programming you could learn in 10 minutes but haven't seen before; an interviewer who always asks a pet question (even if told not to do this); a personal dislike that is illegal but not challenged (age, gender, race, etc., waved away as "a bad fit").
If multiple interviews were used only to strengthen assumptions about a candidate and each interview had a narrow intent, they COULD help companies avoid more bad hires. But after interview #3 you are probably just filtering reasonable or even exceptional candidates based on random chance.
On the other hand, this may be a fantastic method to strengthen a "hive mind" culture, but that doesn't sound like a worthy goal.
I can guarantee that you will never see me in one of your interviews. Would I be valuable to your company? Maybe, but we will never know because the process is too long.
On the other hand, I struggle with impostor syndrome. While fairly successful in my day-to-day, I will likely fail whiteboarding sorting algorithms etc. Imagining a series of five interviews stresses me out and I’m not even looking right now :)
What makes you think that the process provides an accurate representation of the skills needed for the day to day job? In my experience it simply tests whether the candidate has invested lot of time cramming for that very specific type of test. If I was running a small company I would much rather discuss a candidate's experience with them and leave them the time to build useful skills, not worthless ones for passing a test.
The best candidates can get jobs paying the same or more money with fewer interviews, so the very best aren’t going to pick you.
Not saying I am the very best, but I just didn't find opportunities for anyone to out earn by skipping the FAANG style loop. Unless you mean getting lots of equity and riding it to an outsized liquidity event, these places just tend to be not competitive to the top FAANG compensation; you would join for other reasons.
I've never been paid for interviewing. You mean you pay the successful candidates well, which is what? 10% of the people you subject to this obnoxious process?
Given that we are making a $200-600k+ decision and that the average candidate stands to gain tens of thousands of dollars or more, the 20-40 hours spent interviewing seems time well spent on both sides.
What does this mean? It seems unlikely that the average candidate succeeds at all.
Well, no you don't. You pay a lot of money only the people you hired.
I had more than one interview, where the things I discovered during the interview made me reconsider my options and go for another company. Not because I wouldn't have fit with the team or my skills were not there, but because this kind of thing tells me how processes are organized or not organized within your company, how people treat each other etc.
What candidates does a hiring process like this drive away? Are it specific character traits that pass through the sieve? If yes, how will that shape your corp and the culture in it in the long term?
I just want to highlight that this works specifically because there are a very finite number of these we pay you a lot of money companies competing for talent and that's the primary reason candidates put up with this [expletive deleted] treatment. And the result are beneficial for these companies, yes.
In a previous company we pair interviewed, 1/2 hour screen + 2 one hour slots. I liked that format a little bit better.
I've been interviewing people for about 40 years now, I was just reflecting on my first ever interview that I participated in when I was still a teenager.
I would say there are some factors that are not going to come out in any number of interviews. Conversely there are factors that are immediately noticeable.
I can tell in 10-15 minutes how strong someone is technically. At least I can tell the difference between "weak", "maybe", "strong" in 10 minutes.
Going back to my first ever interview. The guy was brilliant. He was technically good. He ended up being a not so good hire for reasons that would have been very hard to discover during the interview. It was partly the intersection of very smart without the experience to match and partly that he was just weird in some other ways. He was hired, he left within a year or so.
I think the science says the best predictor is an IQ test. The rest of our practices are not really evidence based. We tend to want to hire people that are like us, that know the things we know, we have all sorts of biases during the interview process, and throwing more people/time at it doesn't really seem to make a big difference.
I would say the most important thing you can do to get good people is to make your company a place that good people want to be. I.e. what matters is more what enters the pipeline then the interview process. I would bet that having 7 interviews vs. 3 has a difference that's completely in the noise and that at least there's no solid evidence that it gets you anything re: the quality of people working in a company. Every company says it has the best people. Mostly channeling Joel Spolsky here but I've seen this principle in action.
EDIT: Another random thought is that there are other factors that influence whether someone is going to be successful in a given role. Even the best software engineer can fail if the conditions for him to be successful aren't there.
How do you know it works?
> I don’t want to hire the wrong person, it’s expensive and it makes my job awful for a while.
There we are. It is all about you.
No need to say anything else - your life is all about you, so of course if it works for you, 'it works'.
Filtering early is best for everyone. If that means more rounds of interviews to be sure, that's what I'm going to do. I do my best to schedule around candidates and I'm forthcoming about the process during the first call but we try hard to be thorough because we want this to work well for everyone. Would you rather be hired and then fired quickly because we didn't realize there was a misalignment? I wouldn't.
The fact that your knee jerk reaction to a misalignment is firing someone rather than mentoring them and aligning them with the org speaks volumes about your management style… And managers wonder why they have such a hard time hiring or retaining people right now…
This is of course when they're not busy abusing someone on a visa to make them do more work than a human should have to do.
Mentoring is not something that's only done for new grads and juniors.
Wherever there are skilled people in the company interested in learning more about the systems around them and how to work with them well, it's generally a good idea to figure out some way to mentor/grow them. Whether officially, nor unofficially.
For non-technical roles it's likely a good idea to do the same in ways that suit there as well.
I definitely spend less time per person, trying to find juniors. You have to because t What you're looking for is different. My only goal for hiring junior engineers is to find out if they know enough to not drown and if I think they're willing and able to learn fast. That takes less time and the risk is generally less because my expectations are lower and so is the compensation.
It's been a while since I hired junior people though. The roles I take are always in early phase startups and I don't have budget for people who need on-the-job training.
Either you work at startups or you thoroughly vet candidates, not both.
Interviews may be the best tool available while searching for unknown talent, but that does not mean they are a good tool. The process is artificial, no matter how much effort is put into framing it otherwise. Even the most honest interviewee will have difficulty behaving as they would in a normal working environment, while many are more than willing to be actors playing a part. Likewise, interviewers are interacting with the interviewee in an unnatural way and are making judgements about the interviewee in a fashion different from making a judgement of a colleague.
Even if one could somehow get beyond that artificiality, what sort of impression does it leave the candidate with? There is a world of a difference between working for a company that is careful and one that is bureaucratic, one that is focussed upon making sound decisions and one that simply follows process. It can also leave the impression that key decision makers are difficult to access, making it more difficult to get the actual meat of the work done.
As for competing for the best employees, a drawn out process doesn't benefit anyone and is the least detrimental to companies that offer a genuine competitive advantage. Keep in mind, that candidate may already be part way through the interview process at another company (or even offered a position) by the time an they are offered the first interview at your company. While both parties form impressions of the other during the interview, the candidate will gain more insight about the company's functioning in how they handle the hiring process than the other way around.
Hired and fired quickly is better because when I have to dedicate weeks or a month of unpaid, uncompensated time to your process then I'm the one losing. You are already getting paid for putting in the work of interviewing me. If your team is stretched so thin that you need to put your time at a premium, that's a problem with your process not having enough throughput.
How many people do you reject to fill one position? How many are "filtered" at later stages to fill one position?
I hire in APAC too. Indian engineers are giving 60-90 day notices now and that's contractual. Two candidates, using your model, could easily take up a year. (Hiring in APAC take a long time already.)
I can only assume you've had some bad experiences lately but your personal bias has created a really bad mental model for you that would be a net negative for everyone.
is not responsive to
> I have to dedicate weeks or a month
If it takes longer, it's always an issue with coordinating with the candidate schedule. (this is my experience with my hiring process)
This is a lie that everyone tells themselves to make them feel secure and safe.
The best interview is working with the person. Do a few basic interviews for competency, give them a 2 week - month long 1099 contract and put them on guard rails for the contract duration.
Their daily work isn't just about whether they can jump through time-based hoops or answer basic questions. No one is going to know whether it is a mutual match until the person gets into the codebase and start working.
Plenty of great engineers have "performance problems" not because they are bad engineers but because of problems an interview will never expose or detect like a bad teammate or lead match causing disagreements, a bad codebase, poor planning that only builds tech debt, bad business plan, disagreement on business direction, etc.
The idea that an interview can filter good or bad engineers is laughable. The most you can determine from an interview, regardless of how many flaming hoops and balls the candidate bounces off their nose, is whether they know how to code and _probably_ know what you need them to know.
When I interview I don't even mention code or technical stuff (that is for someone else to ask) and I am able to learn quite a bit about a person and if they would be a good fit. Just because you can't doesn't mean other people can't.
If the company in question is growing its business and the employees and customers are happy, then whatever they are doing is working, at least for now. I'm not sure there is a much better way to measure it.
When I joined NVidia they had me through two phone screens (although they originally planned for three), followed by an onsite with seven different interviewers back to back on the same day. It wasn't fun, but it wasn't the end of the world either.
When I was a hiring manager at Qualcomm we would typically do a phone screen followed by an onsite with maybe four one-hour interviews back to back and there was rarely any disagreement on whether the candidate made the cut or not, so I would argue that it was sufficient.
Because the hallways aren't empty.
If a less prestigious company with worse compensation tries the same thing, then they will quickly discover they can’t hire anyone. It will be self-correcting.
Yes..it's why people do jobs.
In the 90s people getting a big software job where thrilled because they were going to change the world. My mom’s friends used stuff that ran my code. Now it seems like people want FIRE or multiple houses or lambos.
This is a huge problem IMHO. I topped out at L7 on the FAANG EM track, but that’s dozens of ICs and a few EMs in your org and I still think you need to be able to build the software and review diffs and write serious ones now and again. Clearly this is now only part of your job, not the focus of it, but it’s very difficult to manage a process that you don’t understand with some sophistication.
In everything from law to management consulting to steel fabrication: the person in charge is the most knowledgeable person. Carmack is the best hacker, Mike Krieger wrote code. Hell pg wrote this site and the language it’s written in while building the most successful early-stage investment firm in the world.
Obviously directors and VPs and CEOs are delegating the details at same point, but this idea that an L6 manager shouldn’t need to seriously understand the subject matter seems wrong to me both in principle and based on watching it go to hell countless times.
If an L6 manager could keep all of the details of all of the things all their reports are working on organized, they aren't handling enough scope. Imo that's the difference between 5 and 6. You can no longer track all the details in one person's head.
That's not what they said, is it? There is a huge difference between what they said and how you interpreted it. They said "you need to be able to build the software and review diffs and write serious ones now and again" and "it’s very difficult to manage a process that you don’t understand with some sophistication" (emphasis mine). How do you get 'know every little detail about everything' from that?
It seems obviously true to me that any manager who can't "build the software", "review diffs", and "write serious [diffs] from time to time" is useless. Anyone who disagrees with this is probably dead wood, spends their time fighting political wars about issues they don't understand, and their team is more likely than not constantly fire fighting and in serious trouble (in my opinion).
If I had a dollar for every time some clueless manager lectured me about how to write software, and I rolled my eyes and ignored them, and they never found out (because they had no idea what was going on to begin with, and were just posturing based on something someone said) I would have at least $100. I obviously have a chip on my shoulder here, but managers who barely know what is going on still tend to want to 'contribute', which of course they can't do in reality, so they end up playing keyword matching and 'helping' the team avoid 'duplicate effort'. For example, they will see one team building something, and another team building something, and notice some of the words are the same, and then make a big show of 'avoiding duplicate work', but in reality the use cases are extremely different and nothing was being duplicated. Once they have alienated enough of the team, people just start telling them nonsense and they have no way to know it. Productive, smart people start to leave or lose motivation. A fast pace is replaced with constant excuses and a team that is basically no longer showing up for work. The manager can't tell the difference. This is what managers who aren't in the details are like, pretty much without exception.
Someone who can review diffs and even write a serious change every now and again isn't the most knowledgeable person on the team. The person who is writing and reviewing all of the serious diffs is. And for many L6 EMs, you'll have three of those people reporting to you, they're all working on different projects, each of which you have partial but imprecise knowledge of (and sometimes, very little because L5s and FAANG are expected to be able to operate mostly independently). So you spend your time ensuring that everyone on the team has career growth opportunities, and that your less experienced people have mentorship, and hiring and arguing about headcount allocation and prioritization, which all matter, but which are all things that most engineers don't want to touch!
Yes, managers should still have engineering experience (at least up to like director/vp levels, where IDK maybe they don't need it) but having a baseline knowledge of how to do a software is not the same as being the most knowledgeable person on the team.
The second paragraph, the one you seem to have an issue with, a combination of 2 things:
- a few examples of extremely senior, extremely successful engineering leaders who stayed at or near the top of the game technically, and those are but a few examples from a very long list
- an observation that in other fields, law for example, they call in the highly-knowledgable, highly-expensive, person capable of solving problems few in anyone else in the organization can and that this person carries titles like "partner" and makes the most money.
I know this is a touchy subject and I've been trying to be less flamey on HN so I didn't go hard like the GP, but they're fundamentally right even if the language is a bit intemperate: there is a prestigious and important job track for people who are pretty damned technical/quantitative but not wildly hands-on and generally concerned as much or more with coordination and communication, particularly in cross-functional or externally-facing scenarios than software systems per se: product manager. As a wild oversimplification: when an EM becomes senior enough they end up as a CTO, and when a PM becomes senior enough they end up as a CEO. This is natural and healthy division of labor.
An EM is concerned first and foremost with the health, happiness, and therefore productivity of engineers. On the foundation of the trust and rapport and deep knowledge that comes from that kind of engagement with their team, they are able to also be concerned with how their team fits into the bigger business picture: is this the right team for the needs of the business, what hiring and performance management would be necessary to make it so if not, what is a realistic schedule for the work that needs to be done given the strengths and weakness of the team members both generally and at this moment in time?
When I'm wearing my hacker hat I have no interest in reporting to an EM who couldn't do my job in a pinch, I might respect that person on a lot of levels but I won't be interested in their opinion of how I should do my job. And at no time in my career has it been so easy to identify such managers: they are the "back to the office damn the torpedos" crowd. When the task tool, and the code review tool, and the oncall/incident situation, and the build wiki are not sufficiently comprehensible to an EM to form an opinion of who is doing a good job, the instinct to do "ass-in-seat" performance evaluation is strong, the instinct to be "visible" is strong, and narrative that there's value add looks very threadbare over Zoom.
This bloc is probably too big and too entrenched to dislodge, but WFH for 2 years working out just fine is the best chance we're going to get. IMHO.
But all of these are the exception, not the norm. You said you've been in a FAANG style org, so you've been able to view the org-chart. For every Jeff Dean or John Carmack, there's three-dozen directors and VPs who manage large orgs whose names you've never heard of and who haven't checked in code in half a decade. They're still usually very good managers.
(A reasonable opinion I've seen, btw is that if you're managing a team of say 5 or more people, if you have time to make regular code contributions,you probably aren't focusing enough on your other managerial responsibilities and are letting your reports down)
> - an observation that in other fields, law for example, they call in the highly-knowledgable, highly-expensive, person capable of solving problems few in anyone else in the organization can and that this person carries titles like "partner" and makes the most money.
This is pseudo-true. Partners are called partners not because they're capable of solving problems no one else can, but because they carry an ownership stake, and I'm not a lawyer (and presumably neither are you) but the impression I get is that law is far more delegatory than software, where a partner may call in some favors to address a problem, but will also have 20 Jr. associates investigate 20 different possible approaches and write 20 different briefs to then choose between.
> When I'm wearing my hacker hat I have no interest in reporting to an EM who couldn't do my job in a pinch,
Maybe we have different definitions here, but I've never, or perhaps once, had a manager who I felt could do my job in a pinch, and I was a new grad and he was the worst manager I've had at the time (although he very quickly got better as he learned to be more hands off). A manager who could do my job in a pinch is too micromanaging. Maybe you mean something different in that they could, given a week or two to turn-up on the project take over, but that's not really what I'd consider "in a pinch".
The chief of Air Force still flies the fighter jets just as well as the junior pilots. The head of surgery in a hospital still operate just as the junior surgeon. Why does tech have to be different?
> The head of surgery in a hospital still operate just as the junior surgeon. Why does tech have to be different?
Because the load we put on medical personal is abusive and we shouldn't copy it in tech?
Some people like the book "Coders at Work" (I do), some do not, but almost anyone would agree that the people interviewed are absolute luminaries [0].
There are 15 chapters comprising 15 interviews. You have to get to #6, arguably #7 before you find someone who at the time of writing wasn't both a world-renowned hacker and currently or at one time a demonstrably successful engineering leader. The first 5 being: jwz, Brad Fitzpatrick, Douglas Crockford, Brendan Eich, Joshua Bloch. It starts to get a little blurry in the second half because it's so thick with CS academics (who in a different way also do engineering management), but you've still got VP-types who still code like Peter Norvig. The ~50% who aren't demonstrated engineering leaders are super hard-core CS researchers like Donald Knuth. The book doesn't even interview Cliff Click, or John Carmack, or talk about the fact that Larry Page and Sergey Brin wrote the first version of Google themselves and continued maintaining parts of it well into hyper-growth. Eric Schmidt wrote `lex`. When Jack Dorsey was recruiting me for Square over lunch he made an incredibly eloquent argument about why he uses OCaml rather than Haskell for his personal hacking.
At the time I was an L7 EM, my L9 boss didn't have much time to write code, but asked probing questions about everything from the merits of various binary classifiers given imbalanced underlying Bernoulli distributions to the algebraic properties of the data structures we were using for distributed systems convergence.
I don't dispute that plenty of successful leaders in technical organizations have become rusty as hackers when they hit the mega-seniority, but the idea that some L6/L7 manager shouldn't be able to lift some of their team's serious code off the ground, let alone some undergraduate dynamic-programming interview question as was the original point of my original post is simply contradicted by a mountain of evidence both generally-available and anecdotal to numerous people in this thread.
You can get ahead as a mid-level EM without knowing the frib-frobs from that whatsits, but God-willing I'll never work for one again. That's a visibility game, it's a popularity game, it's a schedule-too-many-meetings game, it's a post-too-much-on-the-internal thing game. Fuck that game.
[0] https://www.oreilly.com/library/view/coders-at-work/97814302...
I think this is the root of the disagreement. I want my managers to be technically capable with an engineering background. As far as I know, my entire leadership chain, arguably excepting my SVP and CEO (at Google) have such a background. Yes they should be able to pass a tech screening and certainly system design.
They should have enough knowlege to know why you're making certain technical decisions and be able to see that you're justifying them well. That's all true. What I'm saying is that a manager who is staying so deeply aware of the details of all of their reports work that they can drop in and take over in a pinch probably has too much context. I'm not making an argument on abstract technical ability or knowhow.
Like in the same way that my entire management chain has technical knowlege and background, practically none of them have submitted code at work in the last 3-4 years at minimum, for some that's their entire career at Google. I expect that, with enough effort they could all work on the projects I work on and make contributions, but they'd need to learn all of {language and codestyle, libraries and relevant tactical design patterns and norms, various technical constraints to the design that are important but nonobvious}, so in most cases it would be similar to onboarding someone who was a technical contributor from another team or an experienced new hire. I don't really consider some random employee of Facebook to be someone who could "do my job in a pinch" either, even if they're more technically competent than I am.
I've had some good managers that could do that. But the people management skill set is so much more important to their job. And it's a very different skill set to being an IC.
I wouldn't argue in favour of engineering managers with no technical skills at all, but I also don't think it's fair to demand they be masters of both the IC skills and the people management skills too. It's very difficult to be good at both.
I don't know that there's like one leading term, but I think everyone knows what "diff" means both literally and as a connotation that it's a rebase rather than merge workflow.
Omg when a typo or voice typing completely inverts the intended meaning raaa
Maybe they should ask to implement a feature or fix a bug in some huge OSS project. That would evaluate skills relevant for a job in FAANG more closely imho.
I think there is also some kind of survivorship bias - you don't hear from the people who tried it and failed.
But it is for sure, a completely different skill from leetcode style stuff.
In the app code there should be one or two very obvious bugs and easy optimizations to make, and then put more subtle and challenging to fix issues there as well. And ideally make it something where a really sharp and experienced developer would identify some high-level architectural flaw and they would know how to rearchitect it.
Everyone knows that the leetcode-style questions are contrived and don't usually reflect real world work but we continue to do it anyways.
We showed them our website and asked how they'd investigate/troubleshoot a complaint that the site was "slow."
Then we kind of role-played the troubleshooting process. Ideally I wanted them to determine if the site was slow for everybody, vs. just the person that reported the issue. If it was only slow for a single person, was it their account, or many just their internet connection? How would they determine that? If we determined the issue was happening for everybody, how would you determine which part of the stack was slow? Etc.
To add more: a single person (HM) might have biases for or against certain candidates. More people in the loop brings in diversity and helps to keep interviewers honest and consistent.
Also these roles are usually high stakes and the cost of a bad hire is too high.
Really? High stakes? This fucking site.
Have you ever worked as a software developer at a corporation? Nothing about it is high stakes. You spend most of your time dealing with useless idiots who report to other useless idiots, who report to other useless idiots, about a useless product they think is a great idea that every non-idiot knows is useless garbage.
That's how you get Google not creating a single non garbage product over the past 15 years.
When they did Google Maps, did they have 7 interview processes? I bet you they didn't.
Here is how the real world works - 0.0001% create something, then 99.9999% turn it into what 99.9999% of people are. What that is - I leave to you as an exercise.
Actually, the original work for Google Maps was done by three companies that Google acquired:
> Google Maps first started as a C++ program designed by two Danish brothers, Lars and Jens Eilstrup Rasmussen, and Noel Gordon and Stephen Ma, at the Sydney-based company Where 2 Technologies. It was first designed to be separately downloaded by users, but the company later pitched the idea for a purely Web-based product to Google management, changing the method of distribution. In October 2004, the company was acquired by Google Inc. where it transformed into the web application Google Maps.
In the same month, Google acquired Keyhole, a geospatial data visualization company (with investment from the CIA), whose marquee application suite, Earth Viewer, emerged as the highly successful Google Earth application in 2005 while other aspects of its core technology were integrated into Google Maps. In September 2004, Google acquired ZipDash, a company that provided realtime traffic analysis.
https://en.wikipedia.org/wiki/Google_Maps#Acquisitions
Android was also acquired:
https://en.wikipedia.org/wiki/Android_(operating_system)#His...
Some of the things that Google is best known for were not invented by Google employees.
So Google had one good product in 20+ years. Lol. At least they have 7 interviews to make sure they don't make a 'bad hire'.
Hiring one wrong dev will end google!
On the other hand, a cashier can be replaced in a week, and they don’t effect the entire future of the company as SOP.
That's such patently absurd bullshit. Google has a code review process. Almost any large tech company has this today. The review process is to ensure that it's a team effort when a major screw-up happens. You don't just let some new employee merge untested and unreviewed code.
You know who I always see harming the company with outages and downtime? Seniors and managers that cut corners. I've had managers before that put in place all these safe guards that go out the window the very second a deadline is threatened. They merge untested code. They route traffic haphazardly. They fuck around with DNS or user accounts on a whim. Because no one is there to tell them not to. They believe they are the exception. The rules are for the minions below them. If you're working late on a weekend cleaning up a huge mess, there is a good chance it's because some manager-turned-arsonist fucked around with the process. They cut corners on the planning, the implementation, or the roll-out.
And outages still occur even with code review, unit tests and alerting.
Even on our systems, we had so many redundancies and test servers run, that even when a mistake did run through (which was exceedingly rare, given the testing), the roll back was quick. A single dev, especially a new hire, was unable to make multi-million dollar mistakes. It had to be several systems to fail, in order to be released to the wild. I can't believe any of the FAANG companies got to where they are with such a "cowboy" attitude as to say, "it's your third day, push that untested code straight to prod".
Edit: autocorrect hates me
How did you hire the developers who built those systems? Was the bar higher then?
Lots of companies have institutional memory of how their first few hires were crucial to make the company successful. It's a tough decision whether to keep standards high, or risk losing the skills that got you this far. Eventually the early people leave. Where I work, the stuff they built is viewed as some kind of godlike crystalline shrine that you dare not touch.
When a new hire comes on, that institutional knowledge must get passed on - hopefully there is good documentation, though it's never as good as hoped. No matter how well a new hire does on their knowledge test, TBH, the most important thing I hope someone I get to work with is culture fit and the ability to learn fairly quickly =[ how to interview for that is pretty difficult, though.
Google is optimizing for the wrong things. The reason Google has hard interviews is to minimize attrition and make everyone who passes the interview feel smart.
They is false and hyperbole to justify your argument. If a single employee can cost a big company like Google multi-millions, then there is a company structure problem. You make it sound like there are no system of checks. The very definition of being 1 in 10,000 employees at big corp is that no one is important enough to cost the company multi-millions.
Yes, it happens all, the, time. It's just not public information.
That BR has done 100+ interviews, took a lot of additional training, and is empowered to ask a lot of questions to dive into the feedback people are giving about the candidate. So if someone is being too hard, or has a weird bias, the BR can override them.
It's a fascinating system and seems to work okay.
"Why do you think this person 'isnt a good culture fit'? Oh because the team you run are all 20-something male brogrammers and this candidate is a 38 year old woman with kids? Hey cool, that's illegal discrimination."
You obviously haven't worked in finance. Google is as far from high stakes as you can get.
Sure, but was that the engineering team’s fault or the fault of bad management culture? I suspect it was management that failed to adequately support their engineers and ensure they were well staffed, compensated, and didn’t have to work extraordinary hours to meet absurd “deadlines” that resulted in that fiasco.
That would be true for all organisations. You could do 6x more interviews if they were all a single round.
> Also these roles are usually high stakes and the cost of a bad hire is too high.
Hiring a brain surgeon is high stakes. I don’t know a lot of software positions where it is true.
Arguably it's not.
But if I think I'm doing a guy a favour by 'giving them a chance' and hiring them when they're marginal, and they quit a stable job and move across the country, then I fire them? In that case I didn't do them a favour by giving them a chance.
Especially when you know they’re going to need to move all across the country.
While we like to pretend there are technical controls to prevent this, actually effective measures would come at a high cost to productivity.
And at huge FAANG companies replace "department or team" for company above. A bad hire can destroy a team or product or the team's reputation in the company.
Brain surgeons are not high stakes hires because they're not operating on their employer's brain and there are inherent barriers to entry in that field. The "brain surgeon" license actually means a lot.
First, how do you know the sexual orientation of interviewers?
Next, tech is like 50-70% Asian so it would be so weird to only have white guys doing programming interviews.
The guy pet is spot on as programming is way heavy in guys.
But I’m not sure why you would think that 7 interviews = 7 straight white guys.
On the west coast. I've had employers where Eastern Europeans were more commonplace. The same employer had an Indian subsidiary but didn't hire H1-Bs and South Asians weren't present in notably large numbers.
That said it was mainly because they said after several interviews oh you just have one more to go but then the next interview said you have one more to go and they would also say you will be hearing from us in a week but it turned out I heard from them in two weeks.
But in the end, actually, both jobs paid the same, but one of them seemed to me to value my time more.
Except FAANG interviews require excellence on almost all of the interviews, so the extra people only represent further opportunities to be denied.
Sounds to me like the format isn't worth keeping; time to hire more, and fire fast?
I can't even fathom in what ways you think "time to hire more, and fire fast?" is more "effective and equitable"? You just shove even more risk onto individuals who might be getting their footing still.
You're just turning a 8-9 hours commitment to an interview into a 6 month commitment. Sure, you get paid but you also have to deal with churn and burn.
I mean, did you think stack ranking was a good idea?
You're tacitly expressing a concern that a fast hiring commitment would be riskier; but that's not necessarily so. A minimal set of filters are meaningfully effective: resume, references, and meet the team. Anything beyond that doesn't have just diminishing returns, it can negatively impact the company by narrowing the field of viable candidates too far.
Yah, no. That's a ridiculous proposal for many people, particularly parents and anyone with any sort of disability.
Many tech companies have gone to "unlimited" PTO, so there's no cost to taking a few days off. But even outside that, almost no managers are following the letter of the law. Last time I changed jobs, my employer at the time had explicit PTO time, but unlimited sick leave, and in practice during COVID (and especially near any holiday) was pretty lax with accounting for "I need to be out on Friday afternoon" as long as work was getting done and you were somewhat responsive to email/pings on the day in question. I wasn't hunting very actively, so it was just the one day of interviews with one potential new employer - I concede that if you needed to do many full-day interviews, it would eventually become conspicuous.
I think it is necessarily so. Hiring fast is effectively hiring randomly and that is way riskier.
Would you read random books? Watch random movies? Maybe, but probably not.
Would you buy a random car? Of course not. Would you buy a random home? Etc etc
You can logistically reduce the number of days by maybe doing multiple interviews into a single day, but that’s still hours.
I’ve worked back in the dot com days where you were hired on the spot and that was fun until they fired on the spot.
Having a well-designed process that takes a while is not perfect, but is better than the other options. “Slow to hire, slow to fire” is a good maxim.
There are a very large number of idiots who can do those things. I strongly disagree that this is a significant filter.
It's really not the risk folks seem to think it is.
It can take weeks for someone to orient, and as mentioned all over this thread it’s hard to fire people.
I’d rather use a system that avoids hiring people that will need to be fired. Blindly trusting resumes is silly since resumes are hard to verify.
Resume, references, and team meeting filters out almost everyone who needs to be fired. Folks who lie on their resume, who arrange dishonest references and who defraud their way through a meet and greet are _exceedingly rare_. It's such a vanishingly small segment of possibility that it's not worth troubling oneself over.
The reality is that companies use complex and obtuse hiring practices to cover for poor internal practices. They recognize an inability to deliver and perform on their teams, and consider it a hiring failure; but the reality, most of the time, is that it's a structural or management failure. Most hires, most of the time, are sufficiently able to deliver on their desired roles; but often, management is unwilling and unable to identify that they are responsible for poor performance. And so they blame the candidates, the new hires, to their teams. Not themselves.
Honestly all three of those things test the exact same thing, the person's ability to sell themselves. Which is why I would not work anywhere with such lax interviews. I don't want to work somewhere that only values likability and talking oneself up.
It's dirty because we like to believe that our technical proficiency and ability is elite and rare, but the truth is that with a little training, with a little on the ground experience, many people can do what we do.
You don't want to work somewhere where that's proven possible.
What you said is that those three things, including the resume, are significant filters. I am saying they are not and you seem to not have a rebuttal on my point about the resume.
2. Hire more, fire fast sounds good on paper but will destroy morale as the team identity will be constantly influx.
3. Engineers will spend less time onboarding newer engineers to the detriment of everyone because well, they might not just last.
Morale is improved when team members feel like they have some control over their membership.
It seems like you're assuming that a great many people would be fired; why so? In my experience, having worked for several such companies, firing is rare because even minimal filters are effective.
Resume check, reference check, and meet the team. Done.
The processes you are questioning scale to thousands of people with varying backgrounds. It’s not an accident all of these companies do this. Your process places extreme trust in one group of people. It’s just so risky.
Also, resumes are mostly bullshit, IMO. Reference checks are complete bullshit, IMO. I’ve worked with my buddies at startups (who get lofty titles) and just have them give me reference checks. Other references have asked me for call scripts.
Also keep in mind that most of these big tech jobs are highly competitive. Your solution eventually requires a coin toss if you have limited spots. There’s only so much data you can collect from the process you propose. The natural thing is to then assess each candidate a bit more until you’re confident you’ve picked the right one. And then you’re here.
Truly bullshit credentialing is immediately apparent to teams that receive new hires. In some places, it's fraud and actionable by the company as fraud.
I don't think companies with billions in revenue really have a budget constraint on hiring; it's structural constraints that are holding them back. They can, and do, engage in mass hiring and construction of whole new departments when it suits their strategy.
That said, further constraints can happen at the credentialling level; I'm not advocating hiring literally anyone.
For one thing, it's a huge amount of uncertainty to put on the potential hire, which means you'll be strongly biasing your hiring pool towards people who don't have better options. It feels like in an effort to reduce the interview time, you've effectively expanded it to multiple months.
Second, how do you calibrate the "default" option? Is the expectation that everyone on a probation period will be hired unless proven otherwise, or is it that most will be let go unless actively vouched for? Is that expectation clear across the team? If there's a mismatch across team members, you have big problems. People who want to keep a prospect will be annoyed if they're let go, and vice versa. People who need to work with a prospect will have to figure out whether it's safe to actually trust them with anything - on the one hand, you have to give them enough work to prove themselves; on the other hand, you can't give them anything too important or with too long a horizon, because they might be gone before they get to launch.
And finally - how long does that trial period need to go on to be useful? The goal in designing a hiring process is to get a reasonable level of precision/recall (different companies will balance differently between those) with a reasonable level of investment. If you've increased investment without increasing precision, then you've done something wrong. Given how long it takes to ramp up a new hire and have them actually be productive, I don't think you're going to learn much in a ~6 month probationary period that you couldn't already tell in a day of interviews.
I've worked at many companies, and those that hire fast, and fire fast, tend to be those that _fire least_. They have _lower expectations_ for performance, and so are more likely to be receptive to _training new hires_, rather than expecting them to hit the ground running as equally effective as their new team mates.
Yep. Lots of places with even stricter pro-employee laws, including Europe, also have it.
I’d also like to add that having multiple interviewers, if they have diverse backgrounds, is more likely to be equitable than a single interviewer.
I’d take 15 interviews before taking that risk.
Moreover, if someone has the skills on paper, and the references to support that, then any tech screening is unnecessary. It just tests for ability to pass tech screens.
The tech screens can show a person's skill. Sure, lots of people are gaming that too and memorize solutions, but that's not most candidates.
It's so easy to inflate your role on a project and what you contributed and the people who are best at it are usually also able to talk, talk, talk.
The first interview question I ask is so easy that I don't think anyone should be paid to write software anywhere if they can't solve it. And yet, I have candidates with plenty of nice bulletpoints like your second one on their resume who can't solve it or take 30-45 minutes to solve it. Good candidates take less than 10 minutes, very good ones take less than 5.
If you know what a hash map or dictionary is then you can solve it. If you can't answer a problem because you're under pressure then that's a no hire signal on its own.
I think it's because the awareness of the need to ensure performance is baked-in to the process; rather than having an assumption that the hire should have a high level of performance. Employees aren't like other physical assets, like computers and other hardware, they're malleable human beings that are accepting of improvement.
But I don't know of any large studies on the merits of this approach, so perhaps I've simply been lucky to have had positive experiences.
And yes, I lament that internships are so maligned. It shouldn't be that interns are poorly paid; we should be able to hire someone with decades of experience in a tangentially-related field at a competitive salary, and consider them to be interning on an unfamiliar field.
University students already have a three-month gap in their schedule where they aren't doing anything, so they are willing to take a temporary role to fill that gap.
Experienced people who already have a job aren't going to drop that to take on a temporary role unless they have an unusually high risk-tolerance or unless they are desperate.
If not, it might help to actually try this. Take an aggregate of 15 interviews in the next couple of months and you're bound to learn something. My hypothesis would be some new empathy for interviewees but maybe you find a better role at a better company in the process. If the worst case is that it is a colossal waste of time, then you again have found empathy for the interviewee.
Ultimately, you might be narrowing your pool of applicants to only those willing or unwitting to go through that process.
If employers with lengthy interviews want to pay people for their time that would be fair.
I’d much rather not get hired then get fired “fast”.
Look what that did to their reputation and company culture.
Netflix is a little more successful at this, but they have a much smaller eng footprint and much higher compensation in order to attract and retain top performers.
I wouldn't consider that negative, really. Daunting, perhaps.
The last company I worked at had 8 interviews, which I thought was a lot. My current company (about 100 people) had no less than 11 scheduled interviews!
Of those, only the first 2 were with people in my department — my manager first, then my manager and immediate coworkers. There was another group call with people in a related team I might conceivably be expected to liason with eventually. Fair enough.
The remaining 8 calls were with leadership in every other division in the company, most of which I would never work with. People with jobs where I don't even know what they do, and I'm sure they had no idea what I do. I just politely made conversation with them and answered their (very general) questions.
Now that I've worked there a while, I have never spoken with these people again, or worked in any way with the teams they oversee.
I've also participated in a few interviews at this company now, from the other end of the Zoom call, and I know how it works: literally every branch of the org chart gets a meeting for every interviewee, regardless of what they're applying for. Everyone has a chance to say "no", but in practice nobody outside the relevant teams is going to exercise that veto, because they are well aware that they are unqualified to judge the candidate's skills, and will never have to work with them anyway.
It's just a big waste of time for everyone involved.
(Also, nothing is as expensive to a dev as a manager with too much free time. Spending a little on HR may be a QoL improvement even if we never hire)
I am also exceptionally fond of being a silent party in an interview.
Nobody wants to walk into a room with four people who are all asking questions, but I can learn a lot about people just by watching their interactions. Indeed I learn more about secondary characteristics than the interviewer because they’re wrapped up in the answer, not side comments the candidate makes about development philosophy.
Additionally, it takes less investment in an interview to ride shotgun like this. So jumping from 1 to 2 is not twice as expensive, and it protects you from hiring decisions being made with only one employee having been privy to the conversation. Especially with all of the EEO concerns that come from he said she said situations like this.
Three is the most I would put in a room, and only if two are asking questions and the third only answers them.
But you can still easily get seven people in front of the candidate with only 3 sessions in this way.
No, I don't. Making the wrong hire is costly not because of the total annual compensation, but because of the upfront cost which is realized the moment the employee signs the offer letter.
All the admin stuff.
By your logic you shouldn't fire someone either (at least not that easily) and maybe that's why so many FAANG engineers end up "cruising" because the company is so scared of hiring new talent.
We decided to ignore this protocol and hired a senior lever manager from IBM. After the next two years, we had an IBM fiefdom. This person hired his IBM buddies, who hired their own IBM talent.
None of these people accepted our culture. It reflected in the organization’s output. Turns out, when you bring in people from these legacy companies where people seemingly coast by and don’t actually produce out, and you have little oversight on what they actually output, it just turns into an inefficient and ineffective mess.
This went on for a while until the entire org was gutted with over half the people fired.
And fixing a bad commit doesn't require 6 months of emotionally draining work.
Except that now of course the practice has been by companies offering roles that don't pay huge sums (and at the end of the day are more or less standard CRUD roles). For the reason you cite at the end of your post
I've been interviewing for a long time and I _still_ really like everybody. I want everyone to join and even if they're not a fit I want them to join and want us to spend time on bringing them up to speed and nurturing them. Of course I'm aware that an org isn't always able to do that.
[1] https://students-residents.aamc.org/applying-medical-school/...
Output of multiple interviewers are combined by AND'ing, so when any one interviewer has even the slightest hesitation, you are out. Because of this, more is not necessarily better
I don't live in the US but I think even different US companies has different needs. Our current problem is that it is very hard to find developers. A small or medium sized company may not get many candidates to interview, the problem then changes from finding the best in a large pool of candidates to finding anyone that can do the job. Scaring people off with 7 interviews would probably get us even fewer candidates.
Probably would have worked out just as well as the current system if not better.
Therein lies the problem. Doing things because someone bigger and better is doing it is not the right decision making process
So do roles in medicine, finance etc. Do they also go through 7 interviews grilling them about material from their bachelor's or asking random logic questions? Why don't we test doctors "problem solving" skills by asking them how many cars are in Manhattan, don't doctors need good problem solving skills?
Sorry, but if it can't, aren't you doing the interview wrong?
Most countries manage to devise the testing for a driving licence based on - at most - one theory test and one practical test. The practical test typically includes many different situations and manoeuvres in order to assess the candidate's suitabilty for being allowed to drive.
You don't sit a practical driving test in which you consider one single aspect of driving. The test attempts to cover everything. In one test.
Why would one not attempt to devise an interview along the same lines?
Tech companies have the lowest infrastructure costs of any industry, and so they have no place to hang their risk aversive paranoia except on personnel (the safer you are, the more trivial the things you fear).
There's nothing logical about it, but since they have to fear something, it'll be whatever some douchebag with a following puts in their next "XYZ considered harmful" blog post.
That, or we’ll have some representative from the big 5 saying “Hey guys, Jayden from (x soulless Silicon Valley company) here. Not speaking on behalf of my employer but actually at X Corp(tm) we’ve found that anything less than 37 interviews (+tip) isn’t enough to let the real stars shine through. We’re all about finding the true team players who are a good culture fit” within 2 minutes of the post going up.
I'll get cracking on it. It'll be my next hit after my last blog post about tech hiring "Hiring Developers: How to avoid the best" - https://www.getparthenon.com/blog/how-to-avoid-hiring-the-be...
no i'm not telling you what it is :(
So, we switched to "here's a short test, go in this room and do the test". Then we'd look at their answers. If the answers were wrong/poor we'd thank them for their time and excuse them. This way, less of our time was wasted. That test included an extremely small task like FizzBuzz. If you can't answer it you can't program, period! It filtered out the 9 out of 10 applicants who should never have applied in the first place and saved us a bunch of time.
At a big company the phone screen is supposed to do that but phone screens still take a hour or more of some engineer's time.
I remember about a dozen years ago taking one of these tests at an interview. Interviewer takes me to a room and says "We've got this little test, I'll be back in 2 hours.". I take the test. Guy comes back in and says ok, we'll look this over and let you know... Crickets. Didn't hear back so I figure I must've bombed the test. 2 years later that guy calls me up and asks if I want to come in for an interview. I say "I never heard back so I figured I bombed your test" He says "No, you did great, we just got kind of busy". I politely declined to interview with them again.
We would give them a quick screen of “write in one of the languages this position requires a program that takes in a string, reverses it and prints it out.” And we changed it to any language once we started working with novel stuff like JavaScript that any programmer could pick up.
It was so weird how many people would fail this test.
I always wondered how other industries dealt with people just flat out lying on resumes and applying for positions they shouldn’t. Programming is lucky that we have some litmus tests.
I feel bad for people who freeze up and can’t even write a three line program on paper.
Want to become a doctor? Study for 12-15 years. Lawyers, accountants, pilots, actuaries all have similar multi-year licensing requirements. Places like investment banks and consulting firms will put candidates through a multi-week interview process involving stuff like case studies which make a 1 hour technical interview seem like a joke. And on top of it all you still have to "make an impression" which involves networking and ass kissing the right people in the chain.
Being able to walk into any company with just a 4-5 hour mostly objective interview is one of the best parts of the software industry.
Yeah, and all of those years are filled with constant punishment. In my experience it was common for medical students to have depression, severe anxiety, panic attacks before and after tests and exams. Binge drinking was extremely common after. At least two students committed suicide.
A glimpse into US medical school life:
https://web.archive.org/web/20101218031844/http://www.medsch...
Definitely not something to be emulated.
Turns out he was addicted to cocaine.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7828946/
I do the same kind of interview, and after figure this issue happens, also LEFT the room.
Then eventually add: You can do it any language (even different to any we was hiring), then add: You can do whatever you want to succeed (hinting to the fact the machine used has the docs, internet, YouTube influencers, whatever at their fingerprints).
It STILL have huge casualty rates.
What all of this left me to wonder: How the heck this industry absorb they?
e.g: I challenge you to give an answer to my question?
it's such a simple question, how could anyone not give the right answer. but it's as badly communicated as your comment, subject to interpretation and perplexing.
now imaging being in a position of inferiority, in total fear to be asked about things you've never hear about before. like it happens not so rarely when sitting University in exams. you studied 90% of the curriculum for a year, but, bad luck, the exam concentrates on that 10% you've overlooked. you haven't prepared for a year for that interview, but it does feel like it while waiting in that soulless waiting room. The secretary bored to death nearby doesn't help gain any courage: she mastered the art of pretence, she isn't building some complex excel queries, she plays the solitaire. but you don't know that. and you haven't even entered the interview room yet.
if you don't picture that scenario, just try to give a speech on a very large audience. you will see how emotions can very well take full control over you.
Questions:
- Reverse a string like "hello" without using the "reverse" function of your lang, ie: manually
- Do it in the lang you prefer most
- I will return later when you are ready
- This machine is as your full disposal, so use anything you need.
Seriously, if this is challenging, now imagine when facing actual requirements...
this interview question is crystal clear and anyone applying for a software dev position should be able to provide a valid answer.
it doesn't remove the fear factor problem. but agreed. that's also why we got screening calls, in 10 mins even a tech recruiter can filter out wanna be engineers who can't answer super basic tech questions.
I do generally agree with the cargo cult sentiment, but not in this case.
The main thing I dislike about the 7+ interviews is that I dislike interviews and there are 7 of them to get through. I once did four in one day, back to back, and I was extremely tired afterwards. So my big fear as a candidate is that either 7 interviews will happen over 1-2 days and I'll be absolutely fried after the first 2, or they'll be so hard to schedule it'll take 6 months just to have them all. I'm also a bit afraid they'll cargo cult some of the interview questions and I get a bit sick of "please recite 1st year CS algorithm" questions (I never ask these personally) but otherwise 7 interviews is fine, if they accept I am a human candidate and I'm not really comfortable in the process anyway.
It literally takes a few minutes and is great for weeding bad candidates. It is a win-win for everyone involved.
Now, everything sucks. People who only know the tech they trained for. Tools are written for idiots, and the only thing even more written for idiots than that is the code we're supposed to be producing. Teams believing whatever stupid fad some trendy consultant prepared for them. Way too much support staff when I used to be able to call the stakeholder up directly and square any issues, now I have to go through like 4 idiot nontechnical PMs.
One of my previous managers compared us to a basketball team. Ew ew ew ew ew ew EW!
Tech sucks now. Get the business and nontechnical people out! All they contribute is bloat and mediocrity. The only people who should be in charge are those that have been at this for life.
Similar stuff happened with other technology too. A couple people could build an early airplane but a modern jetliner is so tremendously complex that you need years and a full company to get one out the door.
Amazon literally has a research team focused in hiring, and they run A/B experiments to continually improve the process. The current interview format is not a cargo cult, is a high refine process through the years.
Is it perfect? hell no, but it isn't the mindless copycat people make it to be. They have actual data to back up what works and what doesn't, although it might take several years to happen (like when Google finally dropped brain teasers).
The median time an employee stays there is now under 2 years. Clearly Amazon isn't hiring the calibre of people they need.
There are plenty of Amazonians who can handle the culture and stay much longer. It's clear they are not hiring those who can do. It's not an "alternative" hypothesis, but the same one. They haven't figured out how to identify those who can handle it.
And this, given how heavily behavioral their interview is.
If the problem was a loud office you'd say they should select for deaf engineers instead of fixing their shit.
They burn up engineers. What good to them is a burnt out engineer?
Who cares, hire another one?
It's eerily like the military using up soldiers, and I doubt it's an accident. They're maximizing output for their money and they don't care if it makes the engineers suicidal or quit. They can always get more.
Well it's been a while for me, but "we just do what the other guys do" was the impression I got when I interviewed there. Except they added a lot more "here's a terrible workplace situation, how would you handle it".
I'd love to know what their research is revealing, beyond questions like the latter case being emphasized.
Yeah, sure. We got all these smart people in a room. They can't be wrong. /s
I'd actually say the opposite. These researches are probably making hiring worse.
Ultimately, if the point is "you guys are doing it wrong", they're going to look back at their financial success, shrug and say "seem to work for us". They have had problems with treatment of employees and other issues, but I'm assuming we're talking about hiring in the context of people being hired to do a job that financially benefits the company. Just my $.02
Resumes suck, take-homes suck, interviews suck, nepotism sucks; yet people still need to invest $x00,000 based on something. I don't have the answer, but let's not pretend it's not a hard question.
* I think the actual factor is higher, but I think most people would agree to a factor of 2 without much debate.
There are definitely 10x (and even 100x) engineers, but throw five 10x engineers together and you will get substantially less than 50x results. There's always mundane but time consuming shit that can best be handled by a 1x.
And a bigger issue is that no company can hire a team of 10x engineers, because it's very expensive, 10x engineers are relatively rare, and dedicating more resources to the interview process gets diminishing returns in terms of identifying and hiring them. Not even companies with effectively infinitely deep pocketbooks manage to succeed at that.
It's best to design systems optimized for the 1x case, focus a lot on avoiding the -1x candidates, and grab the exceptional candidates opportunistically when you get the chance, usually by working outside the process. Which seems to be what the industry has defaulted to.
Hell, even for the interviews, some people cheat one way or another. But it's at least harder to do that than to make up stuff on your resume.
If you want good coders look for resumes with startup experience. You don't survive as a senior developer at a startup without being being able to write code under pressure.
If you want someone who can glue various systems while cross communicating to various stakeholders look for someone at a larger company.
If you want both, look for both sets of experience on the resume.
People with 10+ will filter out positions that won't succeed at better than you can filter them out.
Lots of code that's written under pressure isn't good code. It's code that barely works and is hard to maintain. For a startup that's trying to get an MVP out quickly (and may not be around in a couple of years), that may be just what they need. But a huge company like Google needs developers who can write software that's reliable, performs well and is maintainable for years after the original developer is gone.
The straightforward, obvious answer of: maybe it makes more sense than you think has no appeal to it, but I think it's closer to the truth.
I'll let you answer for yourself if the answer had insight or appeal. Both tickle that novelty button, but only one has (elements) of truth.
I think it's time we accept that the person we are talking to is who they say they are on their resume. You don't see accountants balancing books before they get hired. Why should this be any different? If you aren't who you say you are, its either blatantly obvious in the interview or we'll find out when you join and we'll try to correct or part ways. This is like pretty much any other job out there.
You sure do, and not just by a hiring manager's whim, but by law. Accountants have occupational licensing.
> I think it's time we accept that the person we are talking to is who they say they are on their resume.
This is a straw man, I have never "caught a liar" on an a coding exam. What they are helpful for doing is judging the quality of what it means to be "proficient in [x]".
If there's anything I have learned from giving coding exams to candidates, it's that the ability of a candidate to verbally sell themselves in an interview has a weak correlation to their ability to produce quality work.
Forgive my ignorance, but is this during every interview? If I am reading this right this is a certification they'd need to get which would be on their resume. Do they need to re-prove those skills every time?
But no, they don't happen "during interviews". My point is that there's less need to test people during their interviews for occupations with licensing, because they've already been tested before they even showed up for the interview. Depending on where you're at, you can't even legally call yourself an "accountant" without an occupational license. By contrast, anyone can legally call themselves a "software developer" and show up to an interview, which is why the need to evaluate their skills at that moment may be different.
> My point is that there's less need to test people during their interviews for occupations with licensing, because they've already been tested before they even showed up for the interview.
I mean past job experience and education are pretty good indicators? Is there some facet to the accounting certification process I am unaware of that filters out under performers? If my past few accountants are any indication, then no. :)
All of that aside, I've not seen any data that suggests the hiring practices common in our field produce better outcomes than that which I am evangelizing for. Furthermore, those practices are common FAANG type companies which can offer much higher compensation packages than a typical startup. I assert that it's not only the right thing to do, it is also a _competitive advantage_ to have a streamlined, humane, hiring process.
This is not to say that I think occupational licenses are always an ideal way of handling this: I definitely don't think that. I'm merely using it as an example that testing people's ability in an occupational setting is not uncommon.
> All of that aside, I've not seen any data that suggests the hiring practices common in our field produce better outcomes than that which I am evangelizing for. Furthermore, those practices are common FAANG type companies which can offer much higher compensation packages than a typical startup. I assert that it's not only the right thing to do, it is also a _competitive advantage_ to have a streamlined, humane, hiring process.
I 1000% agree with you here. I think that this can include some coding exercises, but they need to be very limited in time and scope. You are absolutely right that most companies are not FAANG, and should not interview like FAANG. Every coding exercise I give is very limited in scope and is directly relevant to the job position -- never leetcode or other BS.
I have seen examples of this for teachers, doctors, and bankers. It usually did not add any useful skills to the trainee.
- HR call 30 min.
- Talk to hiring manager (me) 30 min. Get to know each other and feel out if there is a mutual fit.
- Technical panel 1hr. Speak with several engineers on the team who share your discipline (front end or back end for example). Again no live coding. We just talk through stuff.
- Talk to the team PM. 30 min. Get a sense of how you collaborate with our product team partners to build new features in our application.
After that it's the usual comp negotiations, background, and reference checks. Assuming all that works out then hired!
We're hiring so, if anyone is interested in finding out more, contact info is in my bio.
I'm not sure I agree with this. IMO trying to get someone to explain the ins and outs of a particular facet of the technology your team works in is less effective than getting a sense of how a candidate architects their code and manages complexity. That type of "art more than a science" craftsmanship is not something you can easily fake in my experience. Maybe I'll be proven wrong. We shall see. So far I've had pretty good luck with the approach and gotten some really great teammates.
It's almost always obvious whether the candidate really knows their stuff. They go into details, when you ask probing questions they don't revert back to generalities or repeat what they already said.
Where this does not work, however, is interviewing junior developers. They don't really know anything at all yet (well, some do, but again, that's almost always quickly obvious), so you're hiring for potential rather than actual skills.
Once you get past the first screening call, I find you on social media, blogs, forums and read your posts, and see what questions you're asking on stackoverflow. Then we might move you to the next stage. All in all, you get a pre-screening from our recruiter (about 15 to 30 minutes), a screening call from a technical hiring manager (30 minutes), and then you talk three or four principal engineers (45 minutes each). This happens in days.
The only person that doesn't talk to you that is highly technical will be the recruiter. If you're hired and start work, we watch what you're doing, mentor as necessary. If you have the right attitude and are coachable, so long as you can string together coherent lines of code then everything else can be taught.
And what if my social media presence is minimal or not public?
I know you are a web developer, full stack but with a slant towards backend, like the Jetbrains applications, run a Thinkpad with Windows OS, have a beard (by your own admission), possibly live in a Nordic country but I don't think you are from there (UK I think, London area, or at least lived in London, or you live in the far North of Scotland or London has been a bit dark this year), are in your late 50's or early 60's, have a small family, like noisy keyboards, dislike Vim, absolutely loathe "Fn" keys, own a Mac that you ocassionally use, enjoyed Star Trek: TOS, run Android on a Samsung Galaxy (S3, Nexus 5, S10). You didn't wait for your resin in your table to reach flashover point. Found your reddit account, your stackoverflow, your github, and your abandoned twitter account, looks like you purged your Facebook account but didn't delete it. I am pretty sure you used to skateboard, enjoy riding a fixie bike and photography, possibly did some rock climbing in your youth. I may be off on some of the details, I only spent 20 minutes on it. Of course, I might be connecting two different sets of data points about two different people.
Over-sized coloured mice are very clever if they can build the CMS for a real estate agent.
My point is, people are "findable."
Update: Pretty sure I found your LinkedIn.
I deemed the points listed important enough to list here to indicate that you are findable, even when you think you're not. I was also careful about not just saying you're "X that works at company Y" with a bunch of links. Based on what I have read I think you are a competent, level-headed, well-rounded and reasonable person with strong opinions about what you want from your technology with a willingness to compromise. You're also an exceptionally competent developer and team lead and I wouldn't hesitate to hire you.
A social media presence, even when we don't want people to see it, can either accelerate the point to hire or the cut the interview short. I don't look to see if someone does drugs, binge drinks alcohol, enjoys going to fringe fandom conventions or spends their income on collectible dolls. I care that the person we're interviewing isn't expressing undesirable opinions about people of colour, sexual orientation or many other aspects that would bring undesirable prejudices in to the team.
Based on what I've read, your interview would consist of "when can you start?"
Regarding a "plan B" for no social media presence at all, then the interview process becomes much lengthier and more difficult for all involved.
I've had to interview a candidate where I am literally handed the resume and said "can you take over? blahblahblah had to ditch." which is unprofessional but you do what you have to do. I walk in, sit with the candidate for about, maybe ten minutes total, whilst I am poking into his online presence and explaining what I am doing, whilst my colleague grills him on various aspects. After ten minutes I write on the resume "Hire this guy before someone else does", thanked the candidate for his time, explained that my colleague would take over, and politely left the interview. Poor guy thought he'd failed the interview. I will admit I handled that aspect of it badly. We made him an offer within the hour. He was an absolutely fantastic hire.
I've also looked at many social media posts by candidates and then put a strong "NO HIRE!" on their application. It isn't about skillset or education or capability, but there are things that people say on social media, in unguarded moments that make them unhirable in a modern work environment due to prejudices and their willingness to express those prejudices.
You should absolutely care about your online privacy. I have made myself "very findable" and if you go through any of my social media posts, you might take umbrage at some things I say (especially about recruiters), but I try to be a cross between Mr Rogers and Ted Lasso. If Mr Rogers said "F*K" an awful lot. I might think some things in the private thoughts of my own head, and thank goodness those aren't automatically transcribed by Google or Siri at this time, but when it comes to posting some very disparaging things in public, some people cannot help themselves and that can tell us whether those thoughts might spill over in the workplace as hidden prejudice or overtly expressed that would land the company in legal hot water.
Yea because we live in a place where everyone is super honest and no one is going to try and take advantage of that to make 500k a year.
IMO, it doesn't work. Talk is cheap.
I wouldn't have a job if I had to talk my way into any company, I'm an introvert, I suck at communicating orally. But I can solve problems and write really good code. You throw problems at me during an interview and I'll solve them. Ultimately your company's code is not going to write itself.
I would be THRILLED if I was put into some kind of a short probationary period, with limited access (and potentially restricted salary, with retroactive reimbursement) while I showed what I was worth. I personally have a hard time demonstrating that in short interviews, and it's only once I come in contact with the shape of the company's problems do I show my value. Imo it would lower the stress and paranoia on both sides over a candidate's fit.
Spending ~1-2 months is expensive.
You are right that there is more risk with this approach. I honestly think that its a better, more humane way to do things though. Anecdotally, I've hired a couple _really_ solid developers via this methodology. At least in my case, it's been working out well. As always, you try stuff and iterate.
> I'm an introvert, I suck at communicating orally.
I get it. So am I. Its actually very hard for me to reply to these comments b/c of my general aversion to putting myself out there! I don't think there's a one size fits all solution. At my company at least, being able to communicate effectively both orally and written, is important. We do a lot of pairing and documentation etc. Thats not for everyone. YMMV.
Lack of communication skills is a bug not a feature.
> Lack of communication skills is a bug not a feature.
A bug I'm willing to take in exchange of producing high quality code. Besides, we live in 2022 now, we can type. I just said I suck at talking not at communicating. There are multiples forms of communication which don't involve opening your mouth.
With respect, it sounds like you had a bad manager. Underperforming teammates are your managers responsibility. They should be working to address that issue with said teammate or part ways. Sucks. Not fun. It's the job though.
It is absolutely absurd some of the study plans that people go through where they are trying to study over multiple months. In order to truly memorize all the solutions, most people need these programs. Otherwise, it's just a luck of the draw. I actually got stuck at an interview because I forgot the nlogn solution for two sums. Absurd!
My favorite interview so far involved opening a raw TCP socket to Postgres and sending a query (Actually relevant to the job). I was given the prompt ahead of the interview and spent about 2 hours figuring it out. I learned something valuable and demonstrated an ability to expand my knowledge base. This interview has been the only one even remotely close to demonstrating my abilities to work at the job.
Are you talking about determining a pair of numbers in an array that sum to a given value? That's O(n) and just uses a hashset/hashmap.
This is one of those tricks you just have to memorize and it's very hard to come up with the solution in 30 min.
What a great way to kick off a professional relationship:
"I know this problem is useless and obviously unrepresentative of the actual work we do. So do you (if you aren't incompetent). You also know perfectly well that I've memorized the answer and am only pretending to 'solve' it for you on the spot. And yet, we go along with the charade and pretend it's a vitally necessary, even clever hiring technique. Because hey, we're getting paid big bucks to play this game, after all. So who cares."
Maybe that particular solution is hard to come up with, but you can solve the problem without any "tricks", just basic principles. I'll try to explain which principles I'd use using python.
You can start with the trivial O(N^2) solution:
First principle is runtime analysis. The runtime is O(N^2) because the inner loop is O(N) and runs N times. So we can try to speed up the inner loop. Second principle is to rewrite what the inner loop body as a function of the loop variable b. Third principle is pattern recognition for common functions: the code is equivalent to Fourth principle is to know which data structures support membership query. If you thought of hashtables, you get the O(N) solution. If you thought of sorted list, you get an O(N log N) solution. If you thought of `sortedcontainers.SortedList` (a third-party python package), you get an O(N^4/3) solution (analysis: https://grantjenks.com/docs/sortedcontainers/performance-sca...)Consider also that: 1-((1-.7)*3) = .97
3 interviews with a 70% chance give you a 97% chance of landing atleast one job. More interviews improve your situation rapidly. Job hunting is better seen as a campaign than individual battles.
But I also think maybe in my estimation you FAANG chances aren't that low as your 2%. They hire tons of people, ALL THE TIME.
What do you think your chances are if you're actually qualified? My made up gut numbers: At least 70% even if you don't practice leetcode. That's the real question here in my mind, what are an otherwise qualified candidates chances? How much does that change with interview skills, prep, leetcode etc.
Otherwise, it feels like a gamble of a huge time sink that could have gone towards something actually beneficial/profitable.
Having had too much of my time and energy drained in the past with the run around, I said fuck it the last time when facing the option to interview or go my own way, started my own thing and haven't looked back since.
Even when you do get an offer, it's a gamble on whether or not you're dealing with toxic management or not. Which only reinforces the idea of compensation for interviewing in case someone needs to jump that ship and start interviewing again.
Or the interviewer felt insecure and threatened by their competence. If that's the case, they dodged a bullet.
Either way, I hope you've found a good place to share your skills since that experience. Wishing you the best
I literally copied the questions verbatim into a search and found the solution to all 3 all over GitHub in multiple languages. How is this an appropriate evaluation? Certainly a candidate could simply copy the answer in their chosen language, tweak the structure a bit and call it their answer.
I contacted their recruiter and told them I was no longer interested in interviewing. I told them I couldn't take them seriously since all they did to invest in the interview process was to steal questions from other hiring managers.
If a company wants an efficient, honest and quality interview process it needs to go both ways.
So what?
Let's say you know nothing and just copy somebody else's code. Good for you. The next step in the interview process is that you have to do a code walkthrough explaining what you did and why. Do you really think someone can get past this stage with a code they just copied from github?
I can even imagine that someone finds this existing code, and then they copy it, then they improve upon it, and present it as such. If they are open about it, I'd have no problems from the interviewing side. In fact, it could even be better, because the more complex the code is, the easier it is to talk about it (and gather information about the candidate).
For me it's the complete opposite. What I would consider demeaning is to spend 30 hours across two weeks interviewing for just one company while they don't even bother to send more than one interviewer.
I love these take homes with discussions/presentations but companies keep insisting on the zoom coding over google docs route.
The reality is this profession isn't that hard, and majority of people working in it are pretty much just plumbers using the innovations of true computer scientists.
We've managed to created a much more inefficient gatekeeping mechanism than just creating a proper certification process and commended ourselves for it and pretend it's somehow more meritocratic than just getting a comp sci/eng degree and license.
Furthermore, evaluating anything other than "Do you want to work with this person?" (on a scale of "I'll quit if you hire them" to "I'll quit if you don't hire them") is a waste of time.
But, as you see, people absolutely adore wasting their time and yours, as if no one has anything better to do.
Hire people that your people want to work with. Put them to work and see how it goes. Let go of people that didn't work out. There is no further secret sauce for hiring in nearly every ordinary circumstance.
IMO.
A proxy for that kind of tolerance is whether the candidate will jump through an inordinate number of hoops while being hazed by future coworkers.
If I ever got into a situation where I was hiring, it would start with a 2 hour conversation. No coding questions. I want to get to know you and also talk shop about applicable technologies.
Then after that is simple. I would hire you to do 5-30 hours of contract work where we pair program on real life things. The interviewer would do the driving to eliminate large amounts of ramp up time. This could be anything from R&D to implementing something real that'll ship to production. This would be paid work of course and the schedule would be based on the interviewee's availability, hopefully at least a few hours a day. The duration depends on how well of a match they are, a better match would have more hours just to filter things over a longer sample size.
The person pairing with them (a currently employed dev / tech lead / CTO, etc.) would be doing this work anyways so it's not a time sink, as opposed to them stopping their "real" work to do 5 technical interviews.
I'm guessing this would give both a good assessment of how the interviewee thinks through problems and you can get a good sense of where they're at technically. Also you get to see how well you mesh together from a "do I want to work with this person every day?" standpoint. It's also super low risk for the company because you don't need to go through the entire costly hiring process up front. It also lets the person interviewing for the job get a better sense of what it'll be like to really work there.
It's a win / win. Why isn't this more popular?
You say this as if most (or any) candidates could do this.
If you currently have a job, then you almost certainly won't have time for this, unless you're single with no hobbies. If you do have time, you may not be allowed to moonlight under your current employment contract.
And if you don't have a job, you _still_ may not have the time or desire to do this!
I'm currently jobless (by choice - I wanted a break) and I started interviewing a few weeks ago. It's exhausting! Even if I could squeeze in 30 hours of work over a couple of weeks, I wouldn't want to. I had 11.5 hours of interviews this past week, and now you want me to spend another 10-15 hours pair programming with you? Absolutely not.
If you spread those hours out over many weeks (6 weeks at 5 hours per week) the candidate will be done with the process everywhere else much sooner and they'll just accept an offer before this process finishes.
If you want a trial period, make an offer and have a 3-month probation period during which you will give the new hire regular feedback (at least once a month but more often is better). Doesn't every company do this already, at least implicitly?
Also, it's a candidate's market right now, at least for experienced devs like myself. I'm getting a good amount of interest in my applications and nowhere I've applied has asked for anything close to 30 hours of my time (5-7 hours total is typical).
You have to understand that, as an employer in the current market, you do not really hold any of the cards if you want to hire talented developers.
It's not a win/win. Nobody with options is going to accept multiple weeks of limbo in exchange for maybe having a job.
Let's say it does take 2 weeks to do 20 hours (2 hours a day), you would be compensated $4,000 for working 2 hours a day. Or if you're in between jobs you would have the time to do 20-30 hours in about 1 week and get paid $200 / hour.
I guess I'm just picky. I did freelance work for ~20 years and worked on 1 contract very part time for 2 years before deciding I wanted to try something new and work there full time. There was no interview process, I just signed a document and that was it.
I couldn't ever in a million years think about joining up at a place based on a few short interviews where 90% of the time is answering their interview questions. As someone who would be hired I really care about what I would be doing most days and what it's like to work there. Of course salary, benefits, TC, etc. is all important too but those are only numbers in the end.
I think this short contracting approach looks out more so for the interviewee. This "talented developer" can now pick and choose based on really knowing what it'll be like instead of hoping it's decent based on a couple of interviews.
I would have thought a highly talented person isn't concerned about jumping between interviews, getting hired, quitting after 3 weeks because it's not a good fit and repeating the process until they find a good match. Am I just way off base here? Do most folks bounce between jobs every few weeks (going through 5-7 interviews per job) until they find something they like?
Way off base, in my experience. The vast majority of highly talented developers are rarely, if ever, actually on the market. They have multiple competing offers before ever walking out the door of their previous employer. There is no way they’re going to spend 30 hours of their time on maybe getting an offer from you. It doesn’t even matter if you pay them for it. Why would I take $4000 for maybe getting an offer, when I’m already deciding between multiple guaranteed offers? It’s just a huge waste of my time.
More importantly though, this process is strongly biased towards young, single people with no hobbies. You’ll likely never get a parent to commit to this kind of interview, because when I’m not working I’d much rather be spending that time with my family. Additionally, as a parent I’m concerned about stability because other people depending on me for food and shelter. Yanking me around for several weeks or months on a probationary period after which you can fire me even if I was doing everything great just screams amateurish to me. You’re not taking my employment seriously, so I’d rather go with one of the four offers already in hand.
I would not be able to moonlight to interview contract. I wouldn’t quit my current job for this.
This is great for unemployed people who don’t have offers from companies that hire without this process. It’s fantastic for people who suck and can’t find work and would love to futz around in these paid interviews for a few thousand.
If you’re not at $500/hr you’re not even competitive. You can be at $300/hr if you’re guaranteeing the job for a year but if it’s a one off you have to start way higher than that.
But free time is more precious. I’d target $1k/hr to play. I think break even is probably slightly less but not much.
For $200/hr I’d rather spend the time on my own life.
The alternative is spending 7-12 hours doing 5-7 technical interviews for $0.
Which you presumably get without interviewing? That seems to be what you seem to be saying here.
I think it’s the liability it incurs. A two week commitment. I just can’t see doing it for $4k. It’s just not worth it.
It’s like 4 calls for 4 hours on a consulting platform. Instead of 4 h I have to spend 20 h and spread over 2 w. This kills me.
In my opinion it's the opposite of a liability. You're getting practical experience to know what it'll be like to work at that place. More hours ends up being better because each hour you put in gives you more information. It's an opportunity to see how things are run, get to know the team (if you pair'd with a few different people), get a feel for what you'll be doing, etc..
If you're worried about a 2 week commitment how are you not worried about general W2 employment where it's expected you'll be committing 40 hours a week until you either retire or die? The same applies for most 1099 contracts too where chances are you'll be putting in multiple weeks or months to complete a task.
- I will probably exit an interview process in an hour if the company isn’t a good fit
- We’re not talking about normal employment here. This is in addition to my job.
Going for interviews while you're currently employed is also in addition to your job. It's just you're doing "real world" things in the contract based interview instead of answering technical questions or whiteboarding implementations.
Setting up your IDE and all that boring stuff.
But you know what, man, maybe I’m just status quo biasing and it would be better. I can’t nail down why I don’t like it after all.
A lot of fibbing and stretching going on in these snippets, here.
You can learn a ton about someone after generally chatting with them for 2 hours while staying decently focused on tech. People who are good at only talking can't bs their way through a type of call that's similar to how 2 folks might talk shop in a private conversation or a podcast. You can also get a good sense of how they think, how they act, how they think of others, etc.. In my opinion this is a much better initial filter than the usual interview questions.
I have successfully used this hiring method. To say "nobody with options would do this" is patently false. In fact, it can be a great way to get in with people who have a LOT of options, but they aren't sure they want to work for YOU.
Every single time I've used this hiring method, I've gotten some of the best developers I've known. They weren't even looking for a job at the time. They just wanted to hustle a few extra hours to make some play money. I'd give them as much work as they wanted. Some of them stuck to just a few hours a week. Some decided they liked the project enough they wanted to do more.
It may be more likely you've hit a local maxima in your hiring system and attract the same type. It's great that this system works for you to hire people that you're looking for, but this definitely would not fly for devs with any semblance of an option.
However, this is exactly what I did to hire the first few employees of my startup, because those initial hires are really critical. I was willing to limit my choices and take more time in order to avoid false positives. Also, that was ten years ago in a somewhat less crazy job market.
I entirely disagree with this except for the most trivial things you describe. And for those trivial things, does your company just have a never ending list of these things which are not fixed. Feels like you go through 2 candidates (60 hours) and that backlog is now cleared.
I would give the same bug to all the candidates for baseline purposes.
If it's clearly not a good fit then this wouldn't be offered. If you are doubting then this could be a good way to make a decision with the most information you could possibly have, low risk for the company, the applicant gets paid when they might otherwise be between jobs... there are the caveats mentioned in sibling threads, but in some cases, yeah I can see this being a good idea.
We recently rejected someone and I still think that was the right decision, but there is still a chance it wasn't. I wouldn't have minded giving them some contract work to find out if they were competent and just terrible at showing it in an interview. I didn't realise this was even an option. Though in this case it probably wouldn't have worked out due to them currently having a job.
It would work for people without a job or contractors, but in the latter case, they probably are looking for contract work not W2 employment, so you’d be better off with contract-to-hire.
Works great for students or people unemployed or just graduated, not so much for older people with e.g. a family.
So they have to be unemployed while interviewing with you? Companies these day seem to be completely oblivious to the candidate already having a job but it's usually the case.
Other than that it doesn't sound bad, but it's kind of a big problem.
If you're doing 5-7 normal interviews that could end up being 5-15 hours worth of interviews. The time issue is shared with both styles of interviews.
I know I said 5-30 for contracting but at this point if you're doing 15 hours of normal interviews it's not really much different to do 20 or 30 hours of contract interviews. It's just a longer process, which IMO is beneficial because you (as the person being interviewed) get to see a better picture of what it's like there. Plus this 30 hours isn't set in stone, maybe after 5 or 10 hours you find out you're a perfect match and now it's the same time as standard interviews except you've gotten paid for it too.
The differentiation between good and great doesn’t come into play on the average workday.
I don't disagree that 30 hours is way over the top for an interview question unless you happen to find it as much fun as <insert your favorite hobby>, or if it's somehow usefully spent time for other reasons, but your response seems to be at an equally extreme end of the spectrum.
I'm in the mid-west, and that's a little under my rate for short-term low-notice (read: emergency) contract work. I can't imagine anyone on either of the coasts is going to jump at it.
So for clarity, they will jump to do 10 hours for 5-7 technical interviews at $0 but won't do 10 hours of paid contracting work where they get $2,000?
I can't speak for anyone other than myself but $200 / hour is pretty damn competitive for any contract work no matter where you live. That's $192,000 a year if you put in 20 hours a week (half the normal 40 hours that most folks put in). I wouldn't classify this as emergency work either. You're getting notified of a contracting opportunity in the form of an interview.
I spent ~20 years doing contract work. If someone messaged me on Wednesday, unless I'm really busy chances are I could start working with them the upcoming Monday. Sometimes I do find myself booked for weeks or months but if someone comes to me for an oddball job where I know it's only 5-15 hours of work and they're cool with me only putting in 1-2 hours a day then I can almost always find time to do it, even when I'm at near max "comfortable" capacity (~40 hours of contracting work a week).
It's a 30 hour contract, or at least the comment I was reading said that.
I would. I can just stop showing up to interviews if I don't like the company via the normal interview process. Once I agree to a contract, I have to do the whole thing (I take my contracts fairly seriously).
> That's $192,000 a year if you put in 20 hours a week (half the normal 40 hours that most folks put in).
192k presumably 1099 work. Which is roughly equal to 95k W2 work. Even with that it's not the same. They aren't offering me a guaranteed 20 hours a week of work ever week for a year. If they were, that might be something I would take (unless I particularly disliked the company for some reason).
Extrapolating out a short term contract to full or part time work is dishonest, it ignores all the work you have to put in to find that many short term contracts (lowering your effective hourly rate).
The alternative isn't much better. The current standard interview process leaves your employees going behind your back to interview for jobs with better compensation and the moment one of those offers materializes they put in their 2 weeks notice without blinking an eye.
hire fast, fire fast
and
hire slow, fire slow
If for legal or cultural reasons you can’t fire fast, that leaves you with only one choice.
Increasing the difficulty and frequency of interviews is a bandage for bad processes. It's also going to increase your false negative rate. In a job market like this, you just can't afford to do that.
That's crazy. I have literally never heard of anyone actually doing that irl, only ever in the media (and then mostly English-speaking media at that). Half of them? Do they ever win those? Don't they need to pay for the company's lawyer costs if you can convincingly argue this claim is entirely baseless opportunism? Is there ever even a slight basis for this, any colleagues that treat them just a little bit less nicely or anything?
Edit: upon re-reading to add the citation I noticed the word "threat". Additional question: anyone ever follow through on that, or were the threats ever credible?
(Assuming the dispute is about $50k).
And in many areas companies must hire attorneys to represent them. They can't represent themselves.
I'm all for resolving actual issues, and I think the solution here is: - make it so parties do not need to hire attorneys - use things like fairclaims.com to arbitrate (must faster and cheaper)
Having commercial companies sit in a judge's seat is so dystopian I haven't even read the idea in any fiction yet. This is the second time I come across it, previous time was when someone pointed out that the Epic Store has such a clause in the TOS.
But on the other end... I've worked with some people that are pretty good at leetcode and very fast coders. But even though they write many pages of code every day and tons of commits, their code is absolutely horrible, full of bugs, impossible to read. They got stuff done, but it was at great cost in the future. That was mostly why I left my original job in the first place (looking for work now for 18+ months). We hired a couple of new people and they were pumping out so much code I couldn't keep up with all their commits. Bugs started rolling in and they were too busy working on the new projects to fix their old crap. Boss had me hunting down and digging through their garbage code while my projects were getting behind and I was the one "under-preforming". I started going insane, unable to get out of bed, staring out the window for 12+ hours a day unable to look at their code. Mostly walked out. Those new people all quit after I left as well but the company's market crashed due to covid so we would have all be laid off anyway.
They want cogs for the machine.
I actually there’s quite a few “ethical” sociopaths who don’t care about anything but success but aren’t willing to hurt people or break laws to do so. They don’t have empathy toward people but accept that not hurting people will advance their cause.
Every career move is life-changing, and I want to get as good a sense as I can about the people, environment, and company.
I want to hear from different levels and facets of the company, get a feel for the team members or representative other boots-on-the-ground ICs (what they're like, what the environment is like, how they feel about the company), and also try to see their initial impressions of how I'd fit in.
What doesn't work for that is being on the receiving end of a barrage of "whiteboard this Stanford new-grad shibboleth 'so I can see how you think'".
The current Leetcode interview tells me only a little bit about the company -- and it's negative (but, relativism-wise, I don't fault people much for defaulting to currently popular ideas). But it doesn't tell me much more than that (unless the interviewer is also being rude as they go through the ritual, which would be another negative).
The Leetcode interview also isn't a very effective way for the company to get a sense of what I can do that a second-year CS student probably can't.
I've never had to put up with more than 2 interviews, and probably wouldn't. But I'm not in the Valley, and I'm generally not applying to the Big Five as it were. You know it occurs to me there's a possibility your recruiter is just over-preparing every candidate to expect the worst. Or who knows, maybe 5 to 7 interviews is normal for clients of that particular recruiter, because they've got a reputation for shoveling idiots through the door? In other words, it seems like there could theoretically exist a recruiter whose clients take their recommendations so seriously that they don't even interview you once!
By symmetry, I mean that at any point in the process, you and the company have invested the same amount and learned the same amount. If you're going to give me 5 interviews where I'm answering 90% or 100% of the questions, go away. If you're going to give me 5 interviews, where the first one is the hiring manager mostly telling me about the company and the role, the middle two or three are about 75% me answering, and the last one or two are mostly me getting to know some people I'm going to work with, that does seem long, but at least it's balanced. This is a big decision for the candidate as well, so presumably if the process is fair both the candidate and the company should want a process of the same length
I was chased out, by the very first contacts from companies, or, in a couple of cases, the second contact, being directly hostile and insulting.
I’d assumed that this was because I’m older, and people just wanted me to self-delete from the hiring process (it worked). However, hearing all these nightmare stories makes me think that everyone has to go through that.
If that’s the case, then it’s really just a hazing ritual; preparation for new hires to be pliant and subservient.
Been there.
For one thing, the company is not the only one doing the interviewing; the candidate is also interviewing the company. Before making a commitment to join a team, I think it's valuable to speak to a number of members of that team to get a sense of what they're like.
On the company side, I have also witnessed several people who might have looked alright in just one interview, but when exposed to several it became clear they were adjusting their story significantly for each interviewer to the point of dishonesty.
There is clearly some line beyond which more interviews would present seriously diminished returns, but I think six or seven interviews, each 30-60 minutes, is much more likely to result in a better outcome for a professional engineering position than just one interview with a hiring manager.
FWIW, Where I'm at:
* Right now it's employee's market. I am pushing to have two short interviews with candidates, recruiting is pushing to minimize it to ONE. Otherwise we lose the candidates we most want to get - the highly qualified, ambitious ones who don't have time to waste and have opportunities and options
* We hire to keep. We are not hiring for somebody to do boilerplate for 12 months, stack their resume, and keep going. We are hiring to invest into them - ensure they learn about the business, the functionality, the processes, the system, the stakeholders, the clients, the team members; and perform well and smoothly and for a long time. As such, we find that technical skillset is important, but some of the non-technical skillsets much more so - sense of ownership and commitment, communication and soft skills, etc. So the 3 or 6 or 12 hours of coding problems really don't meet our needs.
I thought Google after a decade basically said - data doesn't support some of these crazy interviewing styles we have become known for. Did industry miss/ignore the data and decided to double down on making interviews more and more onerous, and more and more filtering out brilliant candidates who don't happen to be able to dedicate days of their lives (or weeks, for the inane interviews which require you to re-memorize your ComSci undergrad) PER OPPORTUNITY which may never hash out?
Yeah, it's definitely not. I've never done more than 3 interviews, and that was the exceptional case. Vast majority have been either one interview with the hiring manager or two interviews where one is with the immediate hiring manager and the other was with someone more senior within the company.
—- prescreen over the phone with recruiter
—- 1 hour prescreen with one or two devs
—- 3-5 one hour interviews given within 1 or two days (previously called an onsight)
Be suspicious when anyone says something is normal in tech that tries to speak about the operations and culture of a vast array of companies, especially recruiters and very especially recruiters who work for recruiting companies.
Tech is a massive industry, and there's enough companies that don't do the normal thing that you can spend only a year at those companies and still have enough companies to remain employed for a lifetime. That's only 45 companies from age 20 to 65 if you only ever work a year at a single company.
That said, 5-7 seems exceptionally high. I've only ever done a max of 4, personally.
IMHO, if a company cannot execute a hire in three interviews (or generally less), there are serious structural issues that one should steer clear of.
That said - the applicant screening process is where the most significant work-multiplication value lies; to this end, I cannot stress the significance of writing and communications skills with regard to the quality of a CV / resume. If the execution in this area is poor, it will be poor elsewhere. This is one's pitch deck, of sorts.
Frankly, there is a more critical question IMHO than (the existence or quality of) one's university degree or developer skill set: can a prospective hire with relevant experience and a history of execution be put in front of clients, co-workers and investors to communicate concisely and clearly?
Answer: they can certainly start with selling themselves during the interview process.
With the right hire, it can then be possible that requirements gathering is better defined, technical documentation is accurate, and work sizing becomes an exercise in clear communication of risk. It also makes culture fit a much simpler proposition.
Because hiring the wrong person becomes a colossal waste of time and money.
I’m guessing not.
Two or maybe three interviews should be adequate for most positions.
I think the reality is that most people are pretty bad at selection, no one wants to shoulder the blame when things go sideways, so the solution is just to create a system where everyone (and therefore no one) is to blame. In reality, this creates an environment that is default No instead of default Yes. Whether that’s good or not for a specific company at a specific instant of time is really something only they can decide.
Fwiw, pro-tip, eliciting work samples that are close to the actual job are the best predictors of success. This may create some burden on the hiring org to create a good process, but it reaps huge dividends.
And then, as others have said, there's the cost of the people who look at your hiring process and decide that they won't bother to try to jump through your hoops. Hint: They are not the least valuable candidates.
Up front (before talking to the hiring manager) artificial coding challenge is a massive red flag, and I'll bail at that stage with most companies.
Last week I asked one of their spear fishers via LinkedIn if they're still doing that. She confirmed they are so I don't need to talk to them for a while.
We found the right person though.
The number of times I’ve seen a wrong hire fumble their way into our company and burn months and months of time then we have to hire again and then the months of fixing the screw ups disgusts me.
The article you linked ins from 2017.
I interviewed for an are position in 2019, and I still had to go through 7 interviews: hr screening with dumb trivia questions, phone screen with coding questions and then five (!!!) more interviews in a single day on-site.
(For the record, I didn’t pass something on the in-site interviews, in my opinion nothing I couldn’t have learned)
It's possible that this wasn't really followed in the hiring process - doesn't mean that the conclusion isn't true. I guess it seems counterintuitive on some level that more interviews wouldn't yield more signal.
I think it all emerged from the recruiting/HR market. They started as middlemen but found a way to take on more of the "gatekeeping" role in hiring.
This then lead to recruiters using more and more technical jargon and then we saw the emergence of leetcode interviews trend from faang, and multiple stupid interviews, because it's the trend.
It’s absolutely nuts. I ignore requests from any company that publicly says they require it.
I literally never heard about such a thing here. (Not saying it's not happening. I am not from here originally.)
nahhhhhhh
Could you elaborate on how things worked differently in the past? I legitimately have no idea what a developer interview "loop" would look like without 5 to 7 interviews, but I desperately hope it can exist.
Also, none of them were specialized. No one asked are you a Front End Programmer? Back End Programmer? UI Programmer? Graphics Programmer? etc... It was just "programmer", do whatever is programmers do.
That part today I really dislike. The teams have gotten giant and you often have to choose some speciality position.
2010-ish is when I first encountered the "code on a whiteboard", and later "code in a shared doc" style of interview. One was basically 5 hours non-stop. Pure hell.
I think 3 interviews is probably reasonable. A leetcode style tech screen, a design one, and then a general work style/culture fit interview.
Also, I don't know why more companies don't record interviews. Probably a legal and/or HR thing. But it'd definitely cut down on the need for repeated questions.
Here's how it worked for me 25 years ago (in France).
Two-three informal interviews to make sure I wasn't too weird, and got offers purely based on my resume. I remember some companies had personality tests but never got any technical questions.
First interview was with the hiring manager, sometimes in person sometimes over the phone. In person was a good sign because if it was a technical position you'd usually have the senior join the meeting. Goes well, job offer within 2 business days.
Second interview was generally exclusively for highly technical OR executive leadership (depending on position). Again, it goes well, job offer within 2 business days.
If there was another stronger candidate and the prospect was side-lined but later reconsidered there might be one last interview if enough time had gone by to put a face to the name again.
I firmly believe that nobody knows what they are doing when it comes to hiring and everyone is just following each other.
It's as if interview loops are so long winded that only the ones with enough willpower/endurance survive. They also tend to expand so much time that each company is hopeful to find a better candidate in that duration. Yet corporations don't tend to take into account optimal stopping into their hiring practices and end with less than ideal candidates or come out with no candidate at all.
Personally I think more companies should hire faster and improve their performance evaluation processes to fire faster. It shouldn't take more than 2-3 interviews to get enough "data points" that someone has potential to grow in the position. Especially at this level of pay and responsibility, you should have something online to show you're competent already. Everything else is corporatism and appeasing the social agenda.
Some big tech companies you can get hired and never get fired. Other companies you can get PIP'd although you'd be a 10x contributor at another big tech company. The goal posts will continue to move as tech jobs become more accessible to the world. I think that's a good thing, but I think we should challenge what is normal to land a job in the first place. 5-7 is ridiculous and costly for all parties involved.
I don't recall any of the people that I worked with directly, or knew from other groups, being incompetent.
1 recruiter screen: discussing background with recruiter to make sure your experience is relevant
1-2 phone screens: technical interviews with a SWE to see if it's worthwhile to bring you on site
4-6 on-site interviews: combination of technical and behavior interview sessions
I think product management loops will be similar in terms of length, and so 7 interviews is maybe on the long side but not atypical. PM interviews may include a "take-home project" component before the on-site where you e.g. build a slide deck; this is uncommon for SWE interviews.
Regarding the question "When did a hiring manager lose their authority and the trust of the organization to do their job?", it is very common (and a good idea in my opinion) for interview loops to mostly consist of people who are not on the hiring team. Typically the only future teammate you will see in an interview is the hiring manager (this is not guaranteed; I met my current manager when I started my job). The idea is to have the same bar for all roles at the company instead of inconsistent hiring quality team-by-team.
I know many have tried this, some have built great businesses, but nobody has yet become "The Credential" but I do believe this will eventually exist.
(Turns out the company started as a 10% project of the first company I encountered that used it)
They'll rent some office space, put you in a room for 2 hours on a computer with no internet, and see how well you can grind through their problems.
Your score will arrive via the Blockchain to save on physical trees and allow for ready verification by future employers.
This doesn't correlate with programming ability: it is indistinguishable from programming ability.
Standard tests this and universal metric that are shite.
Companies are desperate to hire, all they do is complain they can't find anyone. Yet, when it comes to actually hiring they are so afraid of hiring the wrong person, or someone who is faking it, that they put up a huge barrier to entry. Beggars can't be choosers!
I understand that a higher risk hire demands more validation. What I want communicated from a company though is expectations going in and what format it will be all the way through. I don't mind more as long as I don't get the "hey we're going to put you through 3 more interviews" email.
* For Microsoft oddly enough, but it was a unique situation where I went through both a full design interview and a full eng interview for a hybrid role.
- Instituting a multi-round interview process makes the company feel like it's very selective and hires only the best. This also discourages 'shoppers'.
- It is perceived to be more 'democratic': if there are 5-6 people in the team plus one manager, by giving everyone the chance to interview and weigh in on the hiring decision, it will be felt that everyone has got a say in who they work with. Plus it now becomes a collective decision owned by the team: if they hire a dud, they have no one but themselves to blame and they still have to work with him and produce results. This will reduce the incentive to hire someone less skilled (no one will admit that it will also reduce the incentive to hire someone more skilled or with a different background that is not easily evaluated).
I'm happy that they are doing more to try to ensure they get the right candidate. It's very easy with just one or two interviews to miss a great candidate who was nervous, or miss a confident candidate who is a terrible fit.
However, these additional rounds are no guarantee you won't get a bad match. It depends on who's interviewing and what basis they're going off of, and whether the interviewee has done prep work. As per usual, it's not the process that matters, but the people doing the process.
We are not a FAANG, not in the US, do not and cannot offer SV salaries. They just do not understand one of the best things we can offer is less bullshit and a bigger chance for people with skills but not traditional backgrounds. So instead I have an endless line of young men who kind of know how to add a new JPA repository to a Spring application, and an MSci in some easy-to-get-an-EU-grant area, and we actually spend hours time on each one instead of asking them to code first.
With the emergence of Google, et al, and the image of being elite, so came the emergence of nonsense like this: https://www.inc.com/jessica-stillman/here-are-all-the-docume.... Getting butts in seats and long processes have replaced getting to know people before hiring them. The burden has been put on the candidate by the process.
I'm with you, OP. I remember the days of simpler processes. After going through the hoops of 5+ interview rounds in 2019 and 2020, I decided to apply limits to what I was willing to do for interviews. For example; I won't do leetcode, I won't enter a process with more than three steps, I won't give more than 5 hours to a process. This has significantly reduced the number of positions available to me, but the positive result is that the positions that do fit into my ruleset are high-quality, smaller companies, with more upside than the larger companies. I find that the companies that do fit into my ruleset about interviews actually want to get to know who I am and what I'm bringing, rather than if I'll just fit an open role or some quota. Now I'm not making FAANG salaries nor benefits, but I really enjoy the work I'm doing, the people I'm building with, and I'm very well taken care of financially.
100%. I changed roles recently. If a recruiter described such a lengthy process, I simply told them I neither had the time nor the desire to take part. The worst interview process I actually went through with was originally supposed to be 4 1-hour sessions across multiple days, which the recruiter arranged to have compressed to 4 30-minute sessions back to back. I agreed and ended up accepting an offer.
More of us need to push back on the inconsiderate demands on our time. There's a shortage of developers and we have plenty of other options if they want to make the hiring process so unpleasant.
Now, your question is I feel completely wrong. Meaning ever since I joined the work force (2004), I always had 5-7 interviews.
But that aside, the real deal these days is an effort to unbias the hiring process. Meaning put less weight on the resume. Put more weight on the 0.5-1 day you spend with the candidate during the interview process.
Obviously, you need to ask the right kind of questions to measure technical competence. So the Q&A is also heavily skewed towards job-required skills & knowledge (vs puzzles and such).
And I personally think that's bad. I'd rather have to do 2 hours more of interview when I'm changing jobs than have to worry for years during high school and university on a ton of metrics that I'm being evaluated on (the vast majority of which are useless for the job).
I’m used to phone screen —> technical screen -> full day many panel on-site. With maybe a take home thrown in there somewhere around the technical screen.
If I interview with you once and I find out that you didn't have sense enough to make sure that you asked all the relevant questions and made sure that I met and interacted with those people who would be working closely with me in that position then the only valid conclusion that I can draw is that you are too bureaucratic or disorganized and that I will have to waste a lot of time at your company or learn to deal with the bullshit. I don't suffer fools very well and from experience, bureaucracy breeds indecision and thrives in environments with no accountability.
In my career I have only interviewed twice with a company on one occasion and in that case I was notified up front that there would be two meetings necessary since one of the managers was out of the country on the date of the first meeting and others in the group would be traveling during the second so they needed to break things into time slots so that everyone could get an opportunity to ask questions, shoot the shit, or whatever. I ended up spending one full work day and part of another interacting with two small groups who could fit the interview into their schedules.
I didn't get that position because I had another offer come in before they could make an offer and I took the other offer.
Don't waste people's time. The hiring company is also being evaluated here and disorganization is not an attractive feature.
At my previous employer an interviewer would go through an interview panel, give a presentation, get taken out to a nice lunch with a few people (which was absolutely another interview), and 1-2 more interview panels followed by a discussion with the director. Each interview panels would have several members of the division (typically 5-6). There was no "hiring manager", intentionally so.
The whole process is more like serious dating leading to potential marriage, but there were good reasons for it. People often work on multiple projects with multiple people, and those projects would end and others begin over time, but the goal was to have people stay. It's really painful to have people leave (because their institutional knowledge left with them). In addition, nobody wanted to have to constantly work with jerks. So the goal was to try to determine if the candidate would be able to work with many other people, and vice versa. We especially wanted to know if candidates were curious (a very good sign) and could explain themselves in a presentation (because that was a common need).
We didn't invite people until we already read something they'd written & talked with them on the phone, so we tried to not invite people until they were a plausible fit.
Nothing is perfect, and it definitely required time from the interviewee, but there were reasons for it.
I guess that when a family doesn’t depend on your job or you are not leaving a good position, it could be OK to join a company after 3 or 4 interviews. But if you have a family or are leaving a good position, there is much more at stake. 7 interviews is not that high of an investment to lower the risk of a bad move, that could have a negative impact on your career and the future of your family.
To me it seems that for this to be true, either my time must be worth very little or I must be really risk averse.
Since then, was approached by and interviewed with another (German) place during the pandemic, had first a video call with the CEO, then a more technical quizzing by three would-be colleagues, then an offer. Seems a little different because they approached me based on online info where they apparently liked what they saw, that might have helped skip a screening step or so.
My girlfriend, also applying for a technical position, had iirc one interview in the German office, then one with the CEO in the headquarters (3h driving; I booked a hotel for us and made it into a weekend trip), then an offer.
Seven seems rather excessive.
There is a trial period here, where you can leave or be fired with like two weeks' notice, for the first three months or so. Unless you're hiring across a border, especially EU borders, that lowers the threshold considerably as you can just "try out" what someone is like without much hassle. Maybe that's different compared to where you live?
1. Recruiter screening
2. Hiring Manager interview/screening
3. Hiring manager + your peer group within your org
4. hiring manager + your peer group outside your org (just because everybody is so busy)
5. Hiring manager + more senior leaders (this could take place before peer group)
6. Individual separate meetings with your future directs (more formality at this point)
Now, if it is a contract role, I will hire just after 1-2 panel interviews depending on level.
Short answer: It's very difficult to work with incompetent colleagues colleagues.
Long answer: We don't rely on a credentialing process like other fields do. Some people lie on their resumes or embellish their skills. Other people overestimate their skills. As a result, employers have to determine competence in the interview process.
A single coding question is often not enough. At a minimum bias can creep in, but also poor interviewer skill can make a good candidate appear poor, or could allow a poor candidate to pass. Furthermore, often companies need to screen for particular skills that are critical for a given product.
Furthermore, I think it's useful to be exposed to everyone's communication style, and for everyone to be exposed to your communication style. Often that has more to do than just technical competence.
FWIW: My wife is a pediatrician and her job interviews were mostly mutual interest. But, she had to go through a rather intense credentialing process. Our industry doesn't seem to trust credentials for reasons that I never understood, therefore, we tend to rely on employers gauging technical competency instead of a third party gauging technical competency.
Just because something is 100% efficient in allocating resources (time, money), doesn’t mean that it’s worth doing. What this thread shows is that somehow, we’ve become sympathetic to megacorps, in winner take all markets, who want to build a world where their time and money is seen as the most valuable.
Instead, we should account for the fact that these companies, with CEOs making $200mm+ per year, should have a civic duty to take on more risk giving people a basic right- access to a job.
Credit card companies aren’t allowed to underwrite based on certain factors heavily correlated with race, religion, or other things (I forget the rest) that were deemed unfair to be judged by. In an efficient world, we would have collectively decided that companies should be able to infer your ability to repay debts based on the zip code you live in, or the college you went to, or the demographics of your friends. It makes sense to not allow this from an equitable standpoint. Why can’t the same be said about hiring people?
Who has the luxury of going through 4 interview rounds? Who has the privilege of studying hours and hours of leetcode? Who has the privilege of staying up to date on the latest web frameworks? I think you get my point.
What won’t surprise me is that the data may suggest the youngest are most suited for many jobs, if one were to judge by interview readiness and performance. If that becomes to norm, would the future version of yourself deem the mechanisms of finding a job market acceptable?
1) recruiting needs an initial chat, to get you excited, do some light screening, and ensure comp expectations aren’t out of whack 2) then the hiring manager has a screen 3) once the hiring manager likes you, then you need to conduct due diligence. As others have echoed, one interview can’t possibly probe on all the key aspects of the job. In our case, we look at growth potential, tactical experience, and 2 case interviews, usually one more qualitative and one more quantitative.
So there’s 6 right there. At the end, you know several things: the candidate is aligned on comp, the hiring manager likes them, other people like them, they can do the job (as reasonably confident as you can be), and they have good upside potential. Hire!
If you cut anything out, you have to sacrifice some aspect - maybe less confidence they can do the job etc. as others have echoed it’s actually hard to fire someone from a practical standpoint esp if they are not obviously terrible, or they’re willing to try. Better to just hold a high bar up front, to minimize risk on back end.
https://www.nytimes.com/2013/06/20/business/in-head-hunting-...
Basically, no one really knows how to hire.
In our company, it’s normal to spend 1/2 - 1 day at the office - or nowadays by video - being interviewed by 5-10 _people_, in sets of 2. It’s been like this for all my 20 years in the industry.
It’s not normal to have to interview on 5-10 different _occasions_ - that would be terrible!
Put as many engineers as I need to be on these two calls.
That’s it. Anything else is an overkill.
I am looking for someone who given time can play exactly shades of these two kind of roles in my team.
Let rest of the engineers witness as you perform.
Will have prep interview to help you understand the format and not to be intimidated by the number of interviewers or the format.
I have hired in big tech, people who will not pass these two tests get hired.
I don’t care if you remember an algorithm. I need to know that you would be able to research and get to know such algorithm and know why to use that.
Take home interviews are horrible if you are interviewing for more than one company at a time. It will take a lot of time if you are serious about it, and it will test you much more on how much you dedicate yourself to the problem than on what's your actual skill.
Also the fewer interviews there are, more is the importance of subjective and unjust metrics. I received offers from large (and somewhat good) companies with 1-2 interviews because of my resume. Although I personally benefitted from that, I think it brings a lot of problems for people who went to bad universities/companies, and that is not worth it.
Having been through the process as a candidate and now involved in it as an interviewer, I can’t say that it doesn’t make sense. It is also quite expensive for us as there will be 7 different people involved but that is 7 people who have a say in assessing the candidate.
This allows for a good assessment of the candidate from different perspectives and also to reduce bias from any individual interviewer (conscious our otherwise).
Hiring the wrong person is expensive, even with a probation period. You have to pay a lot of commission to agencies. We have small teams and onboarding someone ties up valuable resources. Hiring someone means other good candidates might have to be turned away after that.
Followed by teachability/ability to learn
Sure, technical ability (in whatever role you're trying to fill/enter) is important, but if you clash with the team(s) you'll be working with, it doesn't matter how "good" you are - as I wrote several years ago[0], "all-star teams" are horrible: what matters is that as a team you can [very close to] "the best".
Having a series of individual interviews can help ensure that no one's inherent bias (pro or con) unduly affects the hiring process
------------
[0] https://antipaucity.com/2014/06/25/who-wants-an-all-star-tea...
The lack of trust is now everywhere in programming and management, from recruitment to development.
I don't want to be mean, and it's not all about money, I just don't see what value a degree adds for the most part. On the other hand, my son is growing up quickly, and sometimes I wonder if I should teach him that going to college can be worth it. So I really do want to hear it from your perspective.
Shops with very tight hiring processes are in all likelihood bad places to work for, with lots of office politics. A very elaborate hiring process may well be an indication for a general level of mistrust and to some extent an indication for a dysfunctional workplace. I once worked for Amazon, was very happy that they hired me with all their interviews, however the job was a shitthole.
This observation was of great benefit to me, now I don't fret over a rejection. Believe me, it's just not worth the worry.
In the past company I was working, they boasted off only hiring the best, and having like 5 interviews, skipping tons of candidate. And the one they were hiring at the end were consistently worse developers and product managers than average.
I don't think that skill of tech employees is strongly linked to company performance (but I have no data on it). Meaning hiring the best developers will not impact the financial metrics of a company. As a result of that it doesn't really matter if your hiring process is performant or not
2) Phone Screen
3) 4 tech interviews (2 coding, 2 systems design)
4) 1 behavioral interview, sometimes.
To be honest, this isn't egregious. Given how much we are paid this doesn't seem so bad. Whether or not the coding and systems design questions actually provide signal is a different question though.
The current interview paradigm makes it difficult for engineers to interview at many companies at the same time and get the best offer.
Some companies send you upfront a 2-3h coding test without even talking to you to see if there is a fit.
Interviewing can mean a lot of wasted time and frustration due to lack of feedback and transparency.
I was thinking to create a site to allow rating of interview experiences to prepare people for what's ahead and allow them to assess if their time is well spent. If this sounds something of interest, pm me.
I am an independent vendor, so it was kind of different interview (I develop products for my own company and for hire).
In NZ where I am from, this is unheard of, so I asked if they were paid interviews and what is the pay range for this job (since it was not discussed at all at this point). They very carefully made sure not to answer any of the questions so I said I won't proceed with my application and gave a bit of feedback that they are looking for desperate people, not talented people.
Ridiculous, they are not worth my time.
There’s a recruiter/hr phase, a project manager interview, a lead dev interview, engineering lead interview and often a coding challenge.
You’re talking about 6 hours per position. That’s basically a full time job looking for a new job, and if you already have a job to do this is ridiculous.
I generally always go for companies that 1) merge these interviews into three maximum 2) concentrate on the single most important thing: whether we can communicate well while solving a problem.
It used to be that if you hired an employee and found out they aren’t good at their job you could fire them. Today it is complicated and can backfire if the employee believes they were fired because of any reason other than their skills, or were not provided with ample opportunity and support to succeed.
The solution is a lengthier process based on the assumption that once hired, the company is stuck with the employee unless they decide to leave.
Everyone wants to get to those so the process is as it is.
That’s what you get for trying to work at those companies.
If you think that a hiring manager can judge technical skills or culture fit then you are very out of touch. If you dont know that people lie in their CVs you are completely out of touch - must have been very lucky with your career.
And I dont say that so many interviews are good. But again this happened for years.
I had a day of interviews (~7 people) in early 2000 at an internet consulting firm, mostly people I worked with directly once I was hired.
Whatever virus those places had, it seems to have spread.
I've also been hired after one or two conversations with one or two key people.
If I'm being very, very kind, this kind of hiring practice means the company wants to treat you like a pet (in the best possible sense) and not livestock.
Probably it has more to do with data-driven decisions to optimize the hiring funnel. Or possibly voodoo.
I understand that companies in Silicon Valley have a huge influx of applicants and so the filtering needs to be high, but the way interviewing practices have spread to other parts of the world because of cargo culting is frustrating.
Companies have a hiring crisis but shoot themselves in the foot during the interview process.
Have things changed that wildly in a couple years? If a company dragged me through 6 interviews I’d automatically assume they weren’t serious / were incredibly unorganized or unprofessional - and I would obviously take it as a red flag.
I worked at a household name non-tech company and we negotiated such a deal. It worked great.
Then again I also feel like an outlier round here for not making 500k, so maybe I'm just a failure!
If and if they have a note from the Hiring Manager's Mom would I give ANY employer a second interview.
If you are Talented and they do not hire you on the spot, they are not going to do so. Why? The "A Player" to be named later has a new position within seven (7) days. Period. Get it?
tl;dr: I think you have every right to ask a company what their process is, and when they can expect to be at a decision point -- but I think there are reasons (good reasons!) why companies may wish you to have many conversations before making a hiring decision.
So at least for FANNG it's been normal for a while.
I think 3-4 interviews is fine, depending on context.
I am a person who does interviews and I always use this method. Never betrayed me.
This, coupled with exploding team sizes and heavy-handed process fads, have left me to consider entrepreneurship as the only viable option from here on out.
That many interviews for a PM is ridiculous.
I’m curious about this statement.
What did getting a four year degree after the fact show or create a more compelling argument for traditional college?
Initial meeting Tech screening Case study/system design Meeting with upper level manager Meeting with peers Doing 1 last interview on something the team felt was still and open question
I suspect many GenXers feel the same . . .
https://youtube.com/watch?v=9_mi3qoA_QY
Edit: My field is not pure software dev
The same is about large test tasks - tests should be small (less than few hours) or paid.
Tech pays really well, I don’t mind taking 7 interviews if I’m paid 500k a year…
The interviews were all the same mostly. Do a take home project or do leetcode problems while the interviewer stares at you. Sometimes I did bad, sometimes I did alright, and other times I did great. It didn't seem to matter. The funny thing is as I got more desperate, I started applying to crappier companies and more junior positions for lower pay. As I went down the ladder, the interviews got even more complicated and challenging!
A couple of years ago I got interested in HVAC technology after having my HVAC unit replaced and researching options. As I'd mostly depleted my savings, I started debating on jumping ship to be an HVAC tech. I could cram for an EPA certification test over a couple of weeks and get a refrigeration cert and then be nearly guaranteed a position at a couple of local HVAC shops for $15 an hour. The only reason I haven't done that (yet) is like you said because of my kids. My life story would be I went to tech school out of high school and was an avionics tech for 3 years, followed by 5 years to get through university, followed by 10 years of software developer experience and then 2 years of no work followed by becoming an HVAC tech working with high school drop outs as co-workers. There would be no telling my kids to get an education when this (forced) path I'm on shows how worthless it is. I've never felt so lost and useless in my entire life.
The other reason for not jumping ship (yet) is that I feel so qualified on django/python stacks. You could drop me into any dumpster fire of a django project and I'd be fine. It is extremely insane that the only people getting hired in that space are people with under 2 years of experience or people with over 10 years of django only experience. There is absolutely no middle ground (which is where I fall in).
I'm now debating jumping on a difference language with a smaller community (similar to how perl used to be) like golang or elixir. But there is no guarantee there but I feel like hiring in that space would more likely respect past experience or at least know that if you graduated college and have years of experience that you would be able to "mostly learn anything" and be reliable. Dunno...
Best of luck to you
I would refuse unless they want to pay for my time.
You're out of touch
I'm outta time
but I'm outta my head
when you're asking around
The US President interviews for a whole year, for $400k/yr
That's why very few presidents we could name not even great but at least good. - Just most good candidates don't even try to enter this nightmare.
I've noticed that recently too. Hiring managers at many companies don't even know what the salary being offered to their candidates is until after they are hired.