5 ms·
> I completely understand the need for these technical interviews and weed out obvious bad programmers and get experts on board but sometimes from a business po
by nolemurs 9y ago
> I completely understand the need for these technical interviews and weed out obvious bad programmers and get experts on board but sometimes from a business point of view it just doesn't make sense.
The thing is that the main goal of the technical interview is not to hire all good candidates. The main goal is to avoid hiring bad candidates. A large high paying company like Facebook has plenty of candidates to choose from, and the main priority is avoiding expensive bad hires. The cost of failing to hire a good engineer is small - they can just take the next guy. The cost of hiring a bad engineer is large.
With this in mind, the process makes a lot of business sense. Someone who is capable of learning what's needed to do well on a technical interview has demonstrated a fairly high level of competence, and is (relatively) unlikely to be a really bad hire.
This filter does limit your applicant pool a little, but if you're Facebook, the largest chunk of your applicant pool are recent comp. sci. graduates. If they can't solve an algorithms problem reasonably gracefully then that's a bit of a red flag. For non-recent-comp-sci-graduates, a competent candidate really should be able to prepare pretty well in a month or two of spare time.
Facebook might miss out on hires like you who would likely be quite good at the job but aren't willing to put in the effort to prep for the interview, but that's a trade off they'll make happily if they minimize bad hires.
Smaller companies with lower pay and access to fewer qualified candidates would probably be ill advised to copy the Facebooks and Googles of the world though. I'll grant that.
- spraak 9y agoThis is a great level headed summary of the whole CS degree vs craftsman argument, thank you.
- tvelichkov 9y ago>> The cost of failing to hire a good engineer is small I'm not so sure about that. https://en.wikipedia.org/wiki/Jan_Koum https://en.wikipedia.org/wiki/Jan_Koum "In September 2007 Koum and Acton left Yahoo and took a year off, traveling around South America and playing ultimate frisbee. Both applied, and failed, to work at Facebook." "On February 9, 2014 Zuckerberg asked Koum to have dinner at his home, and formally proposed Koum a deal to join the Facebook board - 10 days later Facebook announced it was acquiring WhatsApp for US$19 Billion USD."
- nolemurs 9y agoIt seems unlikely to me that as a full time Facebook engineer Koum would have still had time to create a multi-billion dollar startup. It also seems unlikely to me that he would have been motivated to put in that work for an employer, or that Facebook would have given him the time or freedom necessary to do it. If he had been hired, he'd have probably been a fine engineer, but there's really no reason to think he'd have added more value than the next guy. The skillset needed to create a successful startup is not the same as the skillset needed to be an effective engineer at a large company.
- tvelichkov 9y agoAre you saying that Facebook employees are not motivated to work? Or that now after he has been hired, he is not adding any value anymore? Facebook is a multi-billion dollar startup and its created by the people working there. So it may not be my favorite company, but I give respect to that, and the people working there. I can't say what's the skillset to be an effective engineer at a large company, but I do believe that it must be a SUBSET of the skillset required to create a successful startup.
- OJFord 9y ago> Facebook is a multi-billion dollar startup Where 'startup' is used to mean 'hip place to work', I gather?
- vl 9y agoBut on the other hand if they had been hired, they just would be middle-level managers or second tier VPs and would not have created WhatsApp.
- watwut 9y agoBut those big companies constantly complain about there not being enought people. And they also take people who passed hard tests and put them on positions that are way more rote or require different set of skills. And the geniuses then stay because of perks and social program, but talk about actual work as boring. While there are many low skilled people who look for job, there are also many many companies/teams who can't admit to themselves that owerwhelming majority of positions they have is not that difficult and responsible less then genius could do them.
- sidlls 9y ago> Someone who is capable of learning what's needed to do well on a technical interview has demonstrated a fairly high level of competence, and is (relatively) unlikely to be a really bad hire. Sure, as long as their only role is repetitive coding tasks that require limited amounts of broadening their experience beyond the DS&A trivia places like Facebook require. However then Facebook ends up with stuff like their iOS app ("iOS can't handle our scale"), which had a lot of (probably) very talented CS folks putting together an app that was pure garbage (from an engineering and usability perspective). The filter limits the applicant pool to that set of people uninterested in solving problems outside the scope of a CS textbook. Capability has little to do with it.
- nolemurs 9y ago> The filter limits the applicant pool to that set of people uninterested in solving problems outside the scope of a CS textbook. The only way this would be true is if being good at textbook CS makes you bad at solving other problems. I'm assuming you don't actually think that, 'cause it's kind of crazy. Even giving the benefit of the doubt and assuming you mean that the filter makes the pool less likely to contain good problem solvers, it's hard to see where this idea is coming from. In my experience, being good at one sort of problem solving makes someone more likely to be good at other sorts of problem solving. The correlation between skill in problem solving across domains is weak sometimes, but it's definitely not negative!
- ubernostrum 9y agoThe only way this would be true is if being good at textbook CS makes you bad at solving other problems. The way the typical interview process works, basically, is "we have a list of 6-12 algorithms we will ask about; if you have memorized implementations of them, and certain key phrases to identify which one to regurgitate on command, you pass the interview". This is then touted as a test of "CS knowledge" and "problem-solving ability". Tech interviewing is Goodhart's law in action.
- sidlls 9y agoNote I wrote "uninterested" not "incapable." There's a clear anti-engineering bias in software development, and one way that bias is exhibited is by a narrow hyper-focus on the minutiae of DS&A trivia.
- throw2016 9y agoThe desire for a 'good candidate' and the paranoia about making a mistake is sounding increasingly utopian. There is a certain nervousness and even a hint of hysteria about it. A bad hire is not the end of the world, and is easily corrected and one can't help feeling there is some magnification going on somewhere about hiring mistakes. There is near constant evaluation and feedback loops in most organizations. A 'bad hire' simply won't survive this. No ones hires a person not suited to the job in terms of technical requirements, that's a given, but there are other things at play to make the final decision, that are less easily obvious in the interview process so mistakes will be made. Better to make them and move on rather than manufacture this increasing hysterical narrative about the 'perfect hire'.
- nolemurs 9y ago> The desire for a 'good candidate' and the paranoia about making a mistake is sounding increasingly utopian. I don't know where you're getting your 'perfect hire narrative' idea from; this is simple cost/benefit analysis. If making a bad hire is a lot more expensive than failing to make a good hire (and I'm pretty sure it is by a factor of at least several times - failing to make a good hire is really cheap), then you choose to make the cheap mistake of not hiring instead of the expensive mistake. This is about as far from utopianism or looking for the 'perfect hire' as you can get. It's all about finding enough 'good enough' hires, while avoiding expensive mistakes.
- Apocryphon 9y agoWhat makes a bad hire? Couldn't a 60-70% hire be trained up, rather than expecting all of the candidates to be 90%?
- vt100 9y agoIf you aim for 90%, and a few 60-70%s slip through, you can maybe train them up or fire them. If you aim for 60%-70% and end up with a 20-30%, then you have to fire them.
- Clubber 9y ago>The cost of failing to hire a good engineer is small - they can just take the next guy. The cost of hiring a bad engineer is large. This is absolutely and completely backwards. The cost of hiring a bad engineer is small. You can always fire them. The cost of failing to hire a good engineer is enormous. You will never get a chance to hire them again, and probably all of their friends.
- jetru 9y agoIt's not easy to fire employees. Firing employees can scare and stress other employees, create bad blood and criticism on job boards which will make it even harder to hire good employees. Firing might mean you have to still pay the employee for a few months. It might be hard to determine if an employee is a complete failure, which means you might have to give the employee a few months to maybe even a year if you want to accurately determine if they're not performing. It's not cheap at all.
- Apocryphon 9y agoCalifornia is an at-will state. Surely tech companies can learn to innovate their HR processes to create a transparent, professional, and optimal solution to remove a poor hire. And maybe not all poor hires are created equal. In which maybe the cost of training up bad hire would be less expensive than firing them, and the opportunity cost of taking longer time in hiring a better candidate?
- nolemurs 9y agoFiring is never fast or easy. It usually takes months to realize your mistake since it takes that long to get up to speed on a new job, And then you have to hire someone else, and get them up to speed. As a result, you're delayed by months, and out months of salary. Also, firing is terrible for morale. You really can't do it that often. Failing to hire a good engineer is only a big cost if you can't find a decent alternative hire. If you're paying a 6 figure salary with massive benefits like Facebook or Google, you usually have a long queue of qualified candidates to choose from. Maybe the next guy will turn out to be better than the guy you passed on. > You will never get a chance to hire them again, and probably all of their friends. I happen to know that Google gets lots of repeat applicants. They have an explicit "wait a year before reapplying" policy. I really doubt many people who want to work for these companies decide not to because a friend didn't get the job. That's just sort of crazy.
- blitmap 9y agoThis leads me to think a good technical interview will identify people who strictly fail all or a large majority of the problems posed. Someone who you would want to consider is someone who can reason and navigate most of the technical problems put forward - and it would certainly be great to have someone who can solve them all. I like the previous responder who said people skills/communication and time management are important. Regardless of if a person can solve a problem or not, I'd want them to identify things to discuss or be able to deliver a solution at the end of the allotted time for a question. I want deliverables. You can't move forward without feedback.
- walrus1066 9y agoProblem is, these algorithm based reinventing the wheel exercises don't filter out bad candidates. Being good at these has no relevance in 99% of companies. We give candidates a take home exercise which is a simplified version of our business domain. We look for clean, readable, well tested OO code. We had to turn down a CS PhD because their solution didn't meet any of these criteria (no tests, for example). Were we to do algorithm trivia instead, they would have passed with flying colours and we'd be burdened with unmaintainable code.