3 ms·
> Most devs will admit that they couldn't readily pass the interview at even their own company without many hours of studying and practicing algorithms. I don'
by ar_lan 4y ago
> Most devs will admit that they couldn't readily pass the interview at even their own company without many hours of studying and practicing algorithms.
I don't think, if asked to interview for it today, that I could land my current job. I'm also fairly certain I'm one of the top engineers on my team, and I do think we have a really good team of developers overall.
It makes me feel better that I'm not alone, in this regard, but it often just makes me question the interview process even further.
- blagie 4y agoIt's a random process. If you set the bar 2 std. div. above what you need, you are hiring qualified people with a p value of 5%. You're rejecting /most/ qualified people too. Most people underestimate how random the process is. There are a few ways in: - Be 2 std. div above the qualifications - Apply to many places and pick the one where you're lucky - Give another, less noisy source of signal than resume + interview (e.g. networking into a company, consulting, references, major open source contributions, etc.) I wouldn't get my current job if I randomly applied right now. I happened to do well on an interview process which wasn't well-aligned to my background. That was a fluke. I was probably the most-qualified candidate, but if I didn't have a lucky day, I don't think an interview would have shown that. Last hiring cycle, I was also rejected several places where I am pretty sure I was better than the candidate who was hired too. If you make this about you, you'll feel horrible. If you understand the huge random factor, you'll do much better. (Disclaimer: I have specialized skills, so my interview process isn't a typical SWE interview process).
- NDizzle 4y ago> If you make this about you, you'll feel horrible. If you understand the huge random factor, you'll do much better. Thanks, this is helpful as I go through various interview processes right now.
- blagie 4y agoI hated job-hunting before I did hiring and managed people. I felt rejected each time I didn't get an offer. Once I sat on the other side of the table, and saw how a /majority/ of qualified candidates were turned down, I didn't feel so bad when I was rejected. The key thing you *really, really, really* want to avoid is a bad hire. I've seen candidates rejected for the oddest reasons. It was definitely the right choice to do so. In the kinds of companies I've worked for, if you're at all not sure about a candidate, the decision should be a no-hire. I don't feel rejected any more. A good mental model is: If you're qualified, you role a die. If the die comes up a 6, you're hired. If you role 1-5, you're not hired. (The number of sides on the day varies by industry; I think 6-sided is about right for my industry in the current job market)
- lostcolony 4y agoAnother data point - I'm an EM. I still get all the usual SWE interview questions (system design, coding which is often leetcode, behavioral/cultural, etc), plus additional loaded ones about how I've handled various situations in the past (which is always fun because sometimes they're about things I've never had to handle because the question assumes something that shouldn't be true, i.e., "describe a time you had to handle an employee who was angry with you", well, that's never happened; well, why is the employee angry with me, specifically, what happened to all the time spent building trust so they could calmly come to me with issues that they had, all the times they saw me advocating for them so they know that a disappointing and unexpected outcome is due to factors I'm not in control of, why had I dropped the ball in being responsive to their earlier voiced concerns, etc etc). This latter usually is asked by the hiring manager (usually a director) My last three jobs, at least, I landed because I clicked well with my immediate hiring manager in this particular interview. That was it. I did no worse, and no better, than I did elsewhere on anything maybe a bit more objective (system design is weird, but coding, at least, you can say "does it work/is it efficient or not"). Which sounds bad, but it means my expectation of management aligned with theirs. It was a complete crapshoot in every case, with a lotta rejection along the way, before I found that, but each time it led to good outcomes. Interestingly, there was also one company where I know I was a strong contender, did decently with the HM, but was beaten out by another candidate. I know because the recruiter reached out to tell me how close it was, and that was further validated when I later applied to a role, spoke with a different recruiter, who said "yeah, I saw the feedback and was like 'why the heck didn't we hire this person?!'". But that second application went nowhere; the HM gave the initial phone interview and didn't want to continue. It's all random (or at least, so many variables that can't be measured or controlled for as to be indistinguishable)
- credit_guy 4y agoGreat insight. Thank you. Now, just for the avoidance of confusion, the standard deviation in this context is the standard deviation of the measurement error, not the standard deviation of the skill level of the applicants. For example, if you simplistically assume people can be graded on a 1d scale from 0 to 10, and you think a certain job needs someone with a skill level of 7.5, and your interviewing process has an uncertainty of 1, then you need to set the bar at 9.5. From the outside, people would wonder why you are trying to hire Einsteins for a job to write dashboards. You are not trying to hire Einsteins, it's just that your interviewing process sucks. If you manage to reduce that estimation uncertainty from 1 to 0.25, then you need to set the bar at 8. All of a sudden your pool of reasonable applicants increases tremendously. My conclusion (I'm making it up as I go, so feel more than free to discard it - I may discard it tomorrow, who knows?) is that there's tremendous value for companies to improve their interviewing process. But there's a second conclusion: as an interviewee, you want to assist the interviewer in reducing their estimate uncertainty. Because that uncertainty is not a fixed number, it's candidate-dependent. A company will prefer to hire a candidate that is an 7 plus or minus 0.5 than an 8 plus or minus 2. All of a sudden you will beat much stronger candidates. How can you do that? I'm not sure, if I knew I'd probably be 10 times richer. But I can offer some guesses. If you have publications, a GitHub account with nice projects, maybe some youtube videos where you explain some concepts quite well. Also, anytime someone can vouch for you, someone that the potential employer trusts, that reduces their uncertainty a lot.