If you apply at average European companies for example, paying average EU wages, you don't get any of that, but you'll have to be OK with earning very avenge wages in line or sometimes below most other skilled white collar professions (in Western EU at least, in the East devs still earn higher then everyone else).
It's kind of like dating, the less attractive a company is to potential candidates, the easier it is to get in, the more attractive it is, the harder it is. Supply and demand.
Ironically that is still in line with your dating analogy.
True, but it really depends on the region and local market. If you go to an over-hyped place like Berlin for example, where there's tons of low quality start-ups claiming they're the next Google, and tons of both ambitious and low-quality candidates pouring in from abroad with inflated resumes trying to break into the market, then yeah, the hiring process will be broken from all the effort needed to filter out the posers and chancers from the candidates who can actually deliver results, especially if you don't have a strong network of contacts you can leverage.
But in my small city that nobody from abroad has heard of, hiring is much more sane, since there's much less noise you need to filter out. Granted, the number of opportunities and the pay is also much lower than in places like Berlin so that's the trade-off for sane interviews since the small market attracts less posers and chancers.
Occasionally you’ll get a set of rounds that last 3-4 hours, but it was just as rare back then.
The main difference between big tech companies is the reliance on LC type algo/ds, and the insistence on getting to the optimal solution for anything but the hardest questions. Also 'normal' companies are more likely to ask more domain specific questions... for instance, you might get pairing sessions that stress knowledge of language/framework, SQL query building, etc, and are going to be a bit more permissible of mistakes.
From what I recall, most companies did 3-5 rounds with escalating time commitment from both sides as the rounds progressed. A typical process would be:
* short 15-20 minute phone call with a recruiter to discuss your experience and gauge your interest.
* take home coding test. I consider this step to be a low pass filter to weed out candidates who can't code at all.
* phone interview. This would take about 1 hour with 1-2 engineers on the other end, possibly including the hiring manager. Technical questions would get asked here.
* in person interviews. Usually a full day with the company flying you out to their location. This would be a mix of culture fit, tech questions, meeting the team, etc.
That's four rounds. What would you cover in the other 3-4?
1 Online assessment/coding round
2-4 coding calls each 1 hour
1 System design
1 Behavior
1-2 Another bullshit meet the managers call
Why would you count that as 1 interview? It's always an exhausting 4 hour marathon of algorithms, data structures and systems design rounds with 4 different people, frequently split over a couple of days.
I've also never seen it split over multiple days. Often, pre covid, the company is flying people out and paying for hotel rooms and food at this stage and the interviewee is taking time off from their current job. An extra day adds unnecessary costs to both sides. If I was interviewing somewhere and they tried to split up this step I'd probably get annoyed and potentially cancel the interviewing process.
You could theoretically have ten 1 hour interviews, back to back in 1 day, and call it 1 step in a multistep process, but most people would call it excessive.
(note - staying the same size is fine if that's your desire, but it's a problem when you're aiming for aggressive growth and can't)
You see the one or two leads who stay while a never ending list of mid to senior folks trickle in and out of companies.
- Apply for job or follow up with recruiter
- Prepare for interviews
- Complete phone screen so you don't waste each other's time
- Possible programming assignment for the same reason
- Onsite interview for both sides to collect more data points
- Negotiate terms of employment
I've had to sequence rollouts more complex than this.
I share your takeaway about keeping the resume updated. It’s the single biggest, low effort improvement I can make.