> 10 - Fermi problems. Good to get an indication of a candidate's problem solving skills.
Well, you could ask them to solve a problem that might realistically come up on the job.
There are a lot of professions that require problem solving, but they don't use Fermi problems.
Interviewees for car mechanic or doctor positions don't get asked how many piano tuners there are in Chicago. They get asked questions like "A 2021 Prius is emitting a high-pitched whine and exhibiting poor acceleration from stop lights. What is the likely cause?" or "This patient has a blood pressure of foo/bar, a creatinine level of blah and has this other symptom blugh. What would be your next step?" If you gave them a Fermi problem they'd probably walk out the door.
Many of these "interview questions" are basically just cargo cult stuff. The company has heard that Microsoft or one of the FAANGs has used some weird-assed question at some point, and thinks that if only they do the same, they'll be the next FAANG. It's a tacit admission that the hiring manager actually has no clue as to how to evaluate a candidate based on metrics that are actually relevant to the job.
Do mechanics and doctors actually get asked those questions? I don't think doctors do, they have credentials and references. I'm pretty sure mechanics around here wouldn't get asked that, just references and maybe credentials and "how soon can you start?"
Software is a weird industry where you have to quiz every applicant to make sure they know how to program even though they've been the industry for years, and we seem to get it wildly wrong anyway.
Coincidentally, although I've been offered jobs after doing these kind of interviews and technical tests, I've only ever accepted jobs that are on the basis of "we know you, just come along" and I guess I now don't have any trust in a full interview process.
Nah, software is weird because they so rarely ask people to do anything related to the task at hand. "solve a toy problem without using libraries. Please don't paste off SE/AI".
I prefer to actually think about what I want and devise a problem set to work through with the last candidates. You know, "here's a simple TCP server with a minor bug in the handler for one packet. Let's fix it". Real job: here's a 100k LoC server. Add a report/packet type/etc or fix a bug...
Uses up my time as well as theirs, but shows me a lot about how they work as well as what they'll be like to deal with.
You're right that doctors have a well-established credentialing process, but yes, I believe that they are asked questions like that. Or maybe "For a herniated bupkis, some doctors prefer the Bloggs reduction, while others prefer the Quimby resection. Which do you prefer and why?"
There are nearly as many poseurs in mechanics as there are in programming, though. I think reputable shops grill candidates pretty hard. And not with Fermi questions.
I guess the only doctors I've known are ones going through the state run education and health system and it seems pretty streamlined. You go and work where you're told to based on your educational choices and achievements, there aren't interviews as such. It must be different going into a private health system.
Many software applications actually require estimates and thinking similar to how you would solve Fermi problems. Like, how many disks are needed to backup our database every week with 6 months retention?
It's actually a very straightforward equation, but way too often people just trial-and-error or make an assumption out of nowhere, instead of plugging in the disk-size, user-count and growth rate multiplied with size per user.
Same goes for understanding what a computer is capable of, instead of throwing in some complex kubernetes cluster because requests are processing slow. If you actually knew the order of magnitude of queries per second that is normal, you would question the application first before questioning the number of servers.
> Interviewees for car mechanic or doctor positions
Because those are different jobs. A good software engineer must be able to reason around all sort of real world problems. Software does not exist in a vacuum.
Well, you could ask them to solve a problem that might realistically come up on the job.
There are a lot of professions that require problem solving, but they don't use Fermi problems.
Interviewees for car mechanic or doctor positions don't get asked how many piano tuners there are in Chicago. They get asked questions like "A 2021 Prius is emitting a high-pitched whine and exhibiting poor acceleration from stop lights. What is the likely cause?" or "This patient has a blood pressure of foo/bar, a creatinine level of blah and has this other symptom blugh. What would be your next step?" If you gave them a Fermi problem they'd probably walk out the door.
Many of these "interview questions" are basically just cargo cult stuff. The company has heard that Microsoft or one of the FAANGs has used some weird-assed question at some point, and thinks that if only they do the same, they'll be the next FAANG. It's a tacit admission that the hiring manager actually has no clue as to how to evaluate a candidate based on metrics that are actually relevant to the job.