I'm not a recruiter, but I've done a lot of recruiting and hiring inside of companies. Your points about the process being lumpy and drawn out is the thing that many candidates don't quite understand.
Some large companies hire engineers non-specifically into large talent pools, then assign them to specific teams or positions later. If you're operating at this scale, there's no excuse for not moving quickly and following up with candidates.
Most companies don't operate like this, though. They're looking for one candidate to fill one specific position, and hiring the wrong person is a costly mistake. It takes time to gather candidates for a narrowly-scoped job description, coordinate interviews that work with their schedule, get approvals, and push the hire through.
Going into this, I thought communicating weekly with candidates would be a good thing, as more communication is better. To my surprise, frequent communications without progress is misinterpreted as a negative signal by a lot of candidates. I could send the most harmless e-mail explaining that we're still moving forward with the hiring process but haven't made any decisions yet, and candidates would assume this meant they were going to be rejected. Younger candidates were especially prone to over-reactions, with some of them explicitly withdrawing from the process to avoid the possibility of explicit rejection (Usually remedied with a phone call).
In an ideal world we'd move as fast as possible from interview to hire. In the real world, coordinating interviews with more than 5 candidates while everyone is also trying to do their regular job duties just takes time. Still, it should be standard practice to let candidates know when the position has been filled or they have been removed from consideration.
I've also noticed that expectations from some candidates, especially the recent college grads, are getting out of control. For example, I've had a few candidates get irate that our offer letters had expiration dates set 2 weeks in the future. There's a growing misconception that any expiration date on an offer is an "exploding offer" and therefore a predatory practice. I have to explain that we can't keep the position open for them indefinitely, and if they don't want the job then we can't keep our 2nd choice candidate on the hook forever.
Short expiration date on an offer, coming out of the blue, makes it an exploding one. I'm sorry, but that's how it is. There is also a very easy solution.
I've done my fair share of hiring. We have hiring windows too, and have to close a candidate in a reasonable time. But when we started down this path, I made sure that we explained the time frames and where they came from up front, and agreed with the candidate on a reasonable window. At the time of interviewing, which is the crucial part.
That way everyone knew where they stood, and more importantly, the candidates who were in the middle of a lengthier interview process with another company could arrange the time frames to suit us. Most of the time 2 weeks was perfectly fine. Some of the candidates needed 3 weeks. One ended up requiring a month.
But because the expiration windows were agreed upon together with candidates when they were still early in the process, they were not caught off guard.
2 weeks is definitely not a short expiration date. Giving someone 24 or 48 hours is an exploding offer. Giving them two weeks is not.
An expired offer letter doesn't mean the candidate is rejected. It simply means that we need to move on to other candidates by that date. If someone has pressing circumstances, we'll make it work.
However, when you have a specific position to fill it doesn't make senes to reserve a spot for a candidate who wants to spend months interviewing at many different companies. The longer you reserve the spot for someone, the more interviews they're likely to take and the naive odds that they'll join your company continue to go down.
If you aren't in a rush to fill the position and you really like the candidate, it might make sense to hold on. Otherwise, it's best to move on to other candidates. If you can't find anyone else, you can always regenerate a new offer letter for the first candidate.
> It takes time to gather candidates for a narrowly-scoped job description, coordinate interviews that work with their schedule, get approvals, and push the hire through. ... communications without progress is misinterpreted as a negative signal by a lot of candidates
I would rather guess it is interpreted as that they are the 2nd or 3rd choice and that you are still holding the lure. Candidates are probably just going for other choices if they have any.
If the recruiting manager doesn't have mandate to close recruites there is no way to make anything smooth.
There's a growing misconception that any expiration date on an offer is an "exploding offer" and therefore a predatory practice. I have to explain that we can't keep the position open for them indefinitely, and if they don't want the job then we can't keep our 2nd choice candidate on the hook forever.
That's because many companies did start using or are using that as a pressure tactic even when there's no 2nd choice candidate.
In the last decade while demand for candidates was high and supply was low and investor money was easy to come by, you could probably safely assume that most companies were running open ended hiring pipelines for developers. That has matured somewhat, but college grad expectations might not have caught up.
Unfortunately as long as offer expiration is being used as the lever, you can't entirely separate the pressure from the need to fill the position. But working with the candidate to come up with a timeline is absolutely a more generous and fair approach.
> you could probably safely assume that most companies were running open ended hiring pipelines for developers
If you're only talking about the biggest software companies, that might be true. It's definitely not true for the long tail of smaller companies.
> Unfortunately as long as offer expiration is being used as the lever, you can't entirely separate the pressure from the need to fill the position.
Two weeks is already a generous amount of time to wait for a candidate to make up their mind. If someone needs extra time, the hiring company is almost always happy to regenerate a new offer letter if they haven't already filled the position.
Companies obviously aren't going to reject otherwise qualified candidates simply because an arbitrary date has passed.
However, it's not reasonable to expect a company, or multiple companies, to reserve a spot for someone indefinitely while they decide which company to join. The show must go on.
Is that a common thing to do? sounds extremely bad mannered and unprofessional to me.
You take an offer, start working at a place, then two months later you go: "Welp, sorry guys, grass is greener on the other side, I'll be going now. It's not you, it's that you use Angular and they have React over there. Screw you and the effort you put into training and onboarding me for the past 8 weeks."
Well, the company would cut you loose in a second if they felt like it.
A VP of Engineering at my first tech job was the first to tell me to never be loyal to a company because they will never be loyal to you.
Later the worst example of this I experienced was when I was a hotshot contractor at a medtech startup. About a week after I started, they pivoted and fired almost everyone except me and another recently hired contractor. Junior devs and most marketing/biz dev folks were offloaded. They were w-2 employees not contractors like me and my buddy.
Many of the folks there had been recently hired as the company was spinning up for a product release. They had been grinding for weeks to get ready for a trade show demo.
I found out about the pivot and layoffs when I heard some of my office neighbors crying.
I did some contracting as tech lead for a contracting agency and was very involved in the recruiting process. I advised against some recruiters recommendations for "hiring fast" when candidates were hot in the market or they accepted some hourly rates when I knew they could get better. If you want them to stick for a while make sure you're paying as much as they can get!
Some large companies hire engineers non-specifically into large talent pools, then assign them to specific teams or positions later. If you're operating at this scale, there's no excuse for not moving quickly and following up with candidates.
Most companies don't operate like this, though. They're looking for one candidate to fill one specific position, and hiring the wrong person is a costly mistake. It takes time to gather candidates for a narrowly-scoped job description, coordinate interviews that work with their schedule, get approvals, and push the hire through.
Going into this, I thought communicating weekly with candidates would be a good thing, as more communication is better. To my surprise, frequent communications without progress is misinterpreted as a negative signal by a lot of candidates. I could send the most harmless e-mail explaining that we're still moving forward with the hiring process but haven't made any decisions yet, and candidates would assume this meant they were going to be rejected. Younger candidates were especially prone to over-reactions, with some of them explicitly withdrawing from the process to avoid the possibility of explicit rejection (Usually remedied with a phone call).
In an ideal world we'd move as fast as possible from interview to hire. In the real world, coordinating interviews with more than 5 candidates while everyone is also trying to do their regular job duties just takes time. Still, it should be standard practice to let candidates know when the position has been filled or they have been removed from consideration.
I've also noticed that expectations from some candidates, especially the recent college grads, are getting out of control. For example, I've had a few candidates get irate that our offer letters had expiration dates set 2 weeks in the future. There's a growing misconception that any expiration date on an offer is an "exploding offer" and therefore a predatory practice. I have to explain that we can't keep the position open for them indefinitely, and if they don't want the job then we can't keep our 2nd choice candidate on the hook forever.