We have resumes to prove our past work, and yet we keep having to prove we know how to implement fibonacci on a whiteboard or rediscover the wheel of sorting algorithms that are already implemented in the languages we use.
Technical interviews don't even remotely reflect ability to do the job, at best they show that you can write basic code, which isn't enough.
More importantly, for me the big flaws in those interviews are:
- They're very susceptible to bad luck or bad days. Projects in real life don't last an hour, sometimes you will do something easily and sometimes not. In interviews, a problem might be about an algorithm you know about, or about one you never heard of.
- It gives an edge to people who have time to do "interview homework", which effectively means the best strategy for succeeding at interviews is to not be employed, and if you interview while still being employed you're putting yourself at a disadvantage
- It makes some personality types more likely to succeed. Anyone who gets stressed "performing" in front of an audience will have more trouble. Reading a problem and finding a solution for it in real time for an audience during a test is very different from what people do on the job.
- It's basically a school test. We're not school children, we have resumes and past projects to attest of our ability to do our job (unless it's your very first job obviously)
I am so tired of having to learrn linked list algorithms for big company interviews, or having to spend a week-end of my life to do a code test. Those things make it super hard to schedule interviews and tests around work too because it's basically a second job, and makes it impossible to consider more than a small handful of companies at a time.
There are literally entire startups based around providing what is effectively homework to prepare for interviews, and they're even sponsored by FAANG companies which literally expect you to practice their interview questions before going on the interview. It makes no sense.
Are there any companies that are starting to move away from that? Could we just collectively agree to just stop agreeing to those practices? Why is it considered normal for me to have to schedule a 2 hour technical interview in the middle of your current job's workday?