Spending a month on interview training is exactly what I would consider unreasonable effort.
Here's a scenario – I have worked at big tech company A for a decade writing backend code. Big tech company B has many openings for senior backend coders, and is desperate to fill them. B's recruiters are hounding me every day to consider a switch. The job looks interesting, and the salary and benefits are great.
Should be a perfect fit, you say? Except if I interview with B today I'll get rejected at the very first coding stage. The barrier to entry they have created for themselves is me taking time away from my current job to solve programming puzzles, solving them perfectly in an interview setting, then throwing away all of that knowledge. They are never going to make me go through this effort unless I am truly unhappy at my current role.
This is the exact reason companies are finding it so hard to hire engineers, and why they have to pay them so much to switch.
Have you ever ran interviews? I have, and there's an incredibly wide range of candidates, all of whom with fantastic pedigrees, but some of whom are completely incapable of demonstrating their problem-solving ability. Likewise, some candidates have poor pedigrees, but make it clear to me that they can think, communicate, and code.
I'm not saying that some of my rejections can't do that. But I can't measure what I didn't observe.
I also get mountains of emails from recruiters about how deeply impressed they are with my skills, and how I should go work for their firms. I know that they are completely full of shit, because from looking at my LinkedIn, they have no idea whether or not I have any of those skills.
The issue is filter accuracy. I have seen some of my favorite coworkers, who showed great pairing skills in the real world, melt down in typical algorithm interviews. I've also seen great performers in interview that were obvious terrible hires, from a purely technical perspective, within a month.
I've interviewed four digits worth of candidates, under different rubrics and different expected difficulty levels, and all the good I can say about the modern interview is that at least it tends to crib out the people that can't write code at all, at least if you are making sure nobody is feeding them answers. But can I say that interview performance with me, and how well I rated the person's work when they were hired and ended up working close enough to me, had much to do with each other? I don't think so.
That's why, when working at a small enough place I have some control over the interviewing process, I'll offer options to the candidate, and dedicate far more time to the process than I would in a large software firm. It's OK to just raise the technical bar enormously when you are offering the best salaries in the market, and you can expect to never run out of candidates. But when you are not competitive, you have to do something to find great candidates that don't look wonderful in a FAANG style interview format, but will be very good in practice anyway.
You and the person you reply to are both right. Having been on both sides of the aisle, after working for almost 2 decades, this really makes me not look forward to switching jobs anymore. Interviewing for a job really is the worst part of working as a software engineer.
I have, but I just have the canidate brainstom the solution to a problem which gives me an idea of their range, ask about what they have worked on and what they would like to work on
has worked out well so far tbh most of these interview processes are overengineered and geared towards nonsense
it's funny as a side-effect our teams are probably the most diverse and well balanced across skill level I've seen in my carrer too
I used to get recruiters messaging me on LinkedIn about my impressive Java experience, in spite of not mentioning Java on my profile. At the time, I was working for a company that used a lot of Java, but I was working on a .NET based product and hadn't touched Java since college.
If B is desperate, they'll just increase salary and benefits until enough people able to pass the interview start applying. Adjectives like "desperate" don't reflect what actually happens: they priced the cost of possibly not hiring soon, of using a different hiring method and of changing the benefits, and they computed (badly?) the optimum to be where they are.
If they become more desperate, things could change, but they don't and things stay the same.
> spend a reasonable time like a month
Spending a month on interview training is exactly what I would consider unreasonable effort.
Here's a scenario – I have worked at big tech company A for a decade writing backend code. Big tech company B has many openings for senior backend coders, and is desperate to fill them. B's recruiters are hounding me every day to consider a switch. The job looks interesting, and the salary and benefits are great.
Should be a perfect fit, you say? Except if I interview with B today I'll get rejected at the very first coding stage. The barrier to entry they have created for themselves is me taking time away from my current job to solve programming puzzles, solving them perfectly in an interview setting, then throwing away all of that knowledge. They are never going to make me go through this effort unless I am truly unhappy at my current role.
This is the exact reason companies are finding it so hard to hire engineers, and why they have to pay them so much to switch.