It breaks my heart a little to say this but the earlier they pick a different career path, the better their lives will be.
I suspect a lot of people who complain about technical interviews do so as cover for struggling to be good enough at programming to be hireable. I think we need to take the stigma away from that - its ok to find programming hard. Honestly, that makes you a more normal person. It doesn't say anything about your work ethic or your value as a human. And its not a failure to choose another career.
With interviews - my claim is this: A well designed interview has a high statistical correlation between passing the interview and being useful on the job. Eg when I was interviewing we gave candidates some buggy code (with failing tests) and asked them to find and fix the problems. The ability to debug unfamiliar code in a job interview is correlated with the ability to do the same thing at work.
If you can’t read code, I don’t want to employ you. Please practice and reapply, or find work elsewhere. This is a reasonable position - and probably the only reasonable position for an employer to hold.
There’s lots of skills other than debugging: coding, profiling, algorithmic analysis, CS fundamentals, architecture, communicating with coworkers, etc. A mediocre interview assesses 1 of these skills. A good interview assesses 5+.
Are there bad interviews out there? Yes, lots. But interviews themselves - even badly designed ones - aren’t abusive. (Unless you think a rejection is abuse).
I get that some people put themselves through leetcode practice hell to get a job because they’re unemployable otherwise. I have sympathy for this but I don’t think this is the fault of the interview process. I suspect any decent assessment process would have the same result - where some people need to improve before they can get hired.
> If you can’t read code, I don’t want to employ you. Please practice and reapply, or find work elsewhere. This is a reasonable position - and probably the only reasonable position for an employer to hold.
> There’s lots of skills other than debugging: coding, profiling, algorithmic analysis, CS fundamentals, architecture, communicating with coworkers, etc. A mediocre interview assesses 1 of these skills. A good interview assesses 5+.
I agree with every bit of that. I'd be happy to interview at your place, if I were looking. My objection isn't even just to interviews that ask you random stuff that doesn't correlate with being useful on the job. My objection is to interviews that ask you random stuff that doesn't correlate with being useful on the job and that requires months of your time to prepare for. I think that's abusive.
I don't prepare for interviews. I just don't. My preparation is the 35 years of my career. Either that made me into someone you want, or it didn't. Sure, I'll take on your buggy code and failing tests, in an unfamiliar code base. No problem. But if an interviewer throw a bunch of leetcode questions at me, I'll fail (by the interviewer's standards). And I don't care. I'll go work for someone else.
Great. The natural result of a poorly designed job interview should be missing out on good candidates. Thankyou for giving those companies an incentive to improve their processes - by missing out on you.
You complain about studying unpaid, but who gets paid to study? Many pay tens or hundreds of thousands to study law, medicine, business, etc., and it takes years. Spending a couple months studying algorithms may not be easy, the process certainly isn’t perfect, but calling it abusive is really a stretch.