Onsites considered harmful

A couple of years ago I interviewed at one of the largest Ruby shops out there. Screening went well, and some days later I was invited for an onsite.

These were the good old pre-covid days, so an onsite really meant onsite. You had to travel to the office, wherever that was.

The thing is, an onsite is actually radically different depending on where you live. It follows that onsites introduce further bias into our industry’s already problematic hiring process. I’d like to argue that although onsites have some advantages, they’re mostly a waste of time (and money).

If you’re a local, an onsite probably means taking a bus, metro, taxi, walking, whatever. If you’re not local but are at least within the same country that you’re interviewing, it might take a day trip or maybe a short flight. If you’re a foreigner it might take travel visas and a week of travel.

Without getting too philosophical, we all know we have a limited amount of sand grains in our hourglass. Fallacies apart, anyone can feel that the more we pour into something – be it renovating a kitchen or traveling for an onsite – the higher the stakes become.

Its glaringly obvious that someone who invested a 30 minute bus ride to an onsite will be much more at ease than someone who flew godless hours on a red-eye. It doesn’t really matter how much pampering the latter is treated with: exquisite hotels, meal allowances… investing a week of your time will always drive up anxiety a lot more than taking an afternoon off work.

Back to my story: I was interviewing for a company overseas. I happened to have a valid visa for that country, which already puts me in some advantage compared to others. Physically getting to the company building for the interview, however, took some effort: I drove to the local airport, where I arrived more than a couple of hours early, flew down to São Paulo, then took two more flights until I reached my final destination, some thirty hours after I stepped out of my house, then I took another cab to the fancy hotel booked by my not-to-be future company and collapsed for the night.

Next day I had the onsite (which took basically the full business hours), then back to the hotel, collapsed again. On the third day I backtracked through the 30 hours of cabs, airports and flights back home. This was late December, by the way, so airports were packed. A couple of days later, on Christmas eve, I got a very thoughtful happy holidays + no thanks call from the recruiter.

Might I have gotten the job if I had taken a bus instead of multiple planes? Maybe, maybe not (probably not, since someone in the interview panel just didn’t enjoy my parlance).

That isn’t really the point, though, and as far as anecdata goes, I have the opposite story as well: I interviewed twice at the same company, once through a tortuous voyage similar to the one I described above, and another time at my city, with the roles reversed: I left my house and drove for a few minutes to the onsite, while the interviewers were enjoying a fancy beachside hotel after several plane trips. I failed the former and got an offer from the latter. I’m the same person applying for the same job at the same company. Did I just perform better? Did they perform “worse”? Is it all just a coincidence? Are all of these interviews meaningless hazing rituals?

But I digress. Back to the matter at hand: if you think of it, the 60 hours of commuting alone is more than one work week (and as far as effort goes, I’m sure more goes into enduring 60 hours of planes and airports than into programming). If you factor in the actual onsite, then we’re talking about two workweeks of effort put into a no-strings-attached situation. The elapsed wall time is well into a full business week.

There are sensible, rational grounds for an onsite. Recruiters want to know if the candidate hates the cold and is going to churn early winter, or maybe the city is too small, or too big, or whatever random factor might make people want to run away. That said, I find it hard to believe even the most prescient can get a read on any of those thoughts rushing through the candidate (probably even the candidate can’t).

In any case, are those things worth the several thousand dollars of expenses, and more importantly, are they worth excluding a possibly large pool of candidates that aren’t willing to invest a full week of their time on a process with naturally low chances of going forward? At least in my opinion, those very thin pros are outshined by the very real cons like the -8.208527 Sun outshines my laptop screen.

Now let us also remember that the success of job searches depends on arbitrary things like if everyone on the panel likes your face. We all know things shouldn’t be this way; we’re supposed to be unbiased and empathetic, but let’s face it – we humans suck at that.

Even if we consider an utopically unbiased interviewer panel, there’s still all sorts of random noise going on at an interview, like performance anxiety. No matter how great the people interviewing are, and even how great you are, interviewing always has a huge degree of uncertainty:

"The fact that people who are overall pretty strong (e.g. mean ~= 3) can mess up technical interviews as much as 22% of the time shows that there’s definitely room for improvement in the process"
- Technical interview performance is kind of arbitrary. Here’s the data.

My point is: such a volatile thing should never have been tied to multiple plane tickets and 2-night hotel stays in a different continent in the first place.

Never.

Perhaps surprisingly, “onsites” are still a thing during the covid pandemic – they’re just remote, i.e., not really onsites at all.

This is immensely beneficial for everyone involved: the company won’t have to pay for expensive hotels and plane tickets, the planet won’t have to suffer the huge CO2 emissions from this ultimately unnecessary shenanigan, and the candidate won’t have to waste a week of his/her vacation time with something as ethereal as pursuing a software engineering job.

Recruitment in this industry is difficult. This is widely acknowledged by all parts involved. No wonder there are so many books, videos and Discord channels about interviewing for a tech job – not to mention coding prep services, automated third-party code challenges… the list goes on.

This post is specifically about onsites, but it is impossible not to mention the overall sad state of interviewing for a software engineer job. A quick survey of HN posts is enough to glimpse how people feel about this:

Sounds like hiring isn't in a great shape.

Inefficient and biased as it is (or, hopefully, was), physical onsites are nowhere near the worst possible interviewing practice we can observe in the wild.

Why interview for a job in a quiet office full of nerds if you can FIGHT FOR IT IN A TOURNAMENT like a geek gladiator?

Yikes.

Things aren’t any better on the other side of the table – finding skilled developers in 2021 is tough, even if you’re not setting up a pair programming arena for a code to the death contest.

Some recruiters go a step beyond cold calling and start cold referral calling, like this recruiter asking me to pleeeeeeeeeease refer candidates that match their laundry list of requirements:

Pleeeeeeeeeease send me candidates that match my laundry list of skills!

My second point: recruitment is seriously hard for all parts involved. If we are able to, we should try to make it easier, not harder.

Onsites were a significant hassle on top of an already complicated, inefficient, time-consuming, stressful process.

Although the company usually takes on most of all of the financial hit, the time and emotional load was carried by the candidate alone.

Getting rid of physical onsites is fantastic news for everyone – especially people interviewing, but also companies that can now cast a wider net and carry out a faster, more diverse recruitment process. And our planet will also have God-knows-how-many thousand tonnes of CO2 less to deal with each year.