There is a meaningful difference between the programming skills that you typically need to be effective at your job and the skills that will let you get a job. I’m sympathetic to the view that the job search is inefficient / unfair and that it doesn’t really test you on the skills that you actually use day to day. It’s still unlikely that things like LeetCode are going to go away. A core argument in their favor is that there’s highly asymmetric information between the interviewer and interviewee and that the interviewee has to credibly signal their competence in a relatively low bandwidth way. False negatives are generally much less costly than false positives in the hiring process, and LeetCode style interview questions are skewed heavily towards false negatives.
You talk about algoritms/data structures. As I see it, this is at most a half of “programming skills”. The other half that includes things like “How to program something big without going mad”, “How to learn new tool/library fast enough” and “How to write good unit tests” always seemed more difficult to me.
I agree! This is mostly focused on the “getting a job” part though, which typically doesn’t end up testing those other things you mention. I think this is the thing I’m gesturing at when I say that there are valid reasons to think that the software interview process feels like it’s missing important details.
Yes, but testing that people have memorized the appropriate number of LeetCode questions is much easier than testing that they can write something big without going mad :(
You talk about algoritms/data structures. As I see it, this is at most a half of “programming skills”. The other half that includes things like “How to program something big without going mad”, “How to learn new tool/library fast enough” and “How to write good unit tests” always seemed more difficult to me.
I agree! This is mostly focused on the “getting a job” part though, which typically doesn’t end up testing those other things you mention. I think this is the thing I’m gesturing at when I say that there are valid reasons to think that the software interview process feels like it’s missing important details.
Yes, but testing that people have memorized the appropriate number of LeetCode questions is much easier than testing that they can write something big without going mad :(