cat posts/2022-05-24-hiring-in-a-hot-market.md

Hiring in a hot market

· 4 min read · hiring leadership teams

The candidate who changed how we hire was a backend engineer we interviewed last spring. She did the best work sample I’d seen in a year, the debrief was a unanimous yes, and by the time we’d collected references, got the offer approved and sent it, eleven days after her last interview, she’d accepted somewhere else. She was nice about it. The other company had given her an offer the day after her final round, and she said, reasonably, that she’d taken that as a sign of how they made decisions.

That was not a one-off. Over the next couple of months we lost three more people at the offer stage, every one of them to a faster company, and none to a better offer, as far as I could tell. That’s what got me to sit down and look at our process end to end, and this is what we changed, written up partly because I’ve been asked about it by three other people running teams this month.

Speed first. Our median from first call to offer was 26 days. Almost none of that was interviews. It was gaps: a week waiting to schedule the technical rounds because the interviewers’ calendars were full, three or four days between the last interview and the debrief, a few more for approval, and references after that. Now the whole loop happens in one week if the candidate can manage it. We block interview slots on interviewers’ calendars in advance, which they grumbled about for a month and now mostly like, since it’s predictable. The debrief is the same day as the last interview, thirty minutes, and we decide in the room. I approve offers within the salary band without a meeting. References happen in parallel, and we tell candidates that the offer is conditional on them, which nobody has ever objected to. The median this year is nine days, and since January we’ve lost one person at the offer stage, to a company that offered a lot more money, which I can live with.

The interview itself hasn’t changed much since I wrote about it in 2014. Code reading, a debugging exercise, a one-hour work sample and a conversation, just over video now. What changed is that we cut a round. We used to have a separate “values” interview, and when I looked at a year of debriefs it had never once changed a decision the other rounds hadn’t already made. It was there because it felt responsible.

Honesty about the job. In a market like this one, every candidate has heard every pitch. What seems to work for us is telling people the bad parts, specifically and early. Our on-call rotation is real and you’ll be on it within three months. Our oldest service is a mess and someone has to own it. We’re a small company and we can’t match the big companies on salary, and we won’t pretend that equity in a company our size is the same as stock in a public one. I started saying these things on the first call, mostly out of tiredness, and the people who stayed in the process after hearing them were noticeably more likely to accept. I don’t have enough data to prove that. It’s about twenty people, so take it as a hunch.

Salary bands. This is the one I’d push hardest. We’ve had bands internally for years, one per level of our engineering ladder, but last year we started putting the range in every job posting, partly because Colorado’s law requiring it for jobs that could be filled there has been in effect since January 2021 and we hire remotely, and partly because recruiters kept telling me that candidates were skipping postings without one. New York City’s law was supposed to start this month, and was pushed back to November a couple of weeks ago, so I expect a lot more postings will have ranges by the end of the year.

Publishing the range outside the company has an awkward effect inside it, which I’d underestimated. The first posting went up and within a day two of our engineers had worked out that the band for their level now started above what they were paid. They were right. We’d been setting new-hire offers at market rates while giving existing people the usual few-percent raise every year, and over three years in this market that gap opened up without anyone deciding it should. We went through everyone on the team against the bands and moved nine people up, some of them by a lot. It wasn’t cheap. It was much cheaper than replacing any of them, and replacing them was what we were going to be doing if we hadn’t, since recruiters message our engineers about as often as they message me.

We also stopped negotiating, more or less. The offer is where we think you belong in the band, and if you have a competing offer, we’ll look at whether we got the level wrong, but we won’t go higher just because you asked. A few people have walked. Mostly, people like knowing that the person next to them didn’t get more for being a better negotiator.

All of this has been about a hot market, and it may be turning. Stocks have been falling for months, and this month Uber’s CEO told employees they’d treat hiring as a privilege, Twitter has paused most hiring, and there are reports that Meta is slowing down. I’ve heard of a couple of startups cutting offers they’d already made, which I find hard to forgive. I don’t know what our pipeline will look like in six months. If it gets easier to hire, I’d like to think we’ll keep doing it this way anyway, but I’m aware it’s easy to say that while it’s still hard.