10 Hiring Practices That Will Keep Me From Working for You
Published: 2019-08-19 20:03:49

Different variations of this conversation have been in my Twitter feed all day, and I chose to weigh-in a few times on this thread:

{% twitter 1163450238301962245 %}

After having a handful of discussions with some great people, I decided to write down my thoughts in a more long-form format. I understand that I'm not offering a ton of solutions here, but this is how I feel as a member of this industry. Specifically, one that is fed up with how we hire people.

This is a list of interviewing practices that really hurt the image of a company in my eyes. A lot of them are specifically frustrating because they are opposed to inclusivity and diversity.

I'm not saying that all of these rules will end my relationship with a company permanently, but there needs to be an excellent explanation in support of one of these practices. Otherwise, I'm probably not interested.

As a disclaimer, the person who reviewed this article for me said, "This might be a little polarizing." I told him I was thinking about making this shirt:

![A t-shirt that reads, "This person might be a little polarizing"](https://thepracticaldev.s3.amazonaws.com/i/dm3u01w5am8oxp1udr4x.png)

I'm sure people will disagree with me, but that's what the comments are for 😉 Hopefully, if this spurs a discussion, we'll all walk away a bit more informed.

### 1. Whiteboard interviews

One of the most sure-fire ways to get me to drop out of your interview process is a coderpad link. I 👏 do 👏 not 👏 whiteboard.

For those unfamiliar with whiteboarding, it is a practice that took off at tech giants in recent history. The name comes from the worst form of whiteboarding, in which an interviewer gives you a dry erase marker and expects you to write a code solution to a brain teaser on a whiteboard.

The most famous example is `FizzBuzz`, and while FizzBuzz isn't a particularly hard brain teaser, it's still stupid and insulting. 

In FizzBuzz, the interviewer gives you this prompt:

> Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

A correct answer might look something like this:

```javascript
Array(100).fill().forEach((v, i) => console.log(`${( ++i%3 ? '' : 'Fizz' ) + ( i%5 ? '' : 'Buzz' )}` || i));
```

But no one writes code like that... I hope. So it's a stupid interview question.

If you're someone who understands best via metaphor: You wouldn't ask a plumber to solve a riddle about the ocean before hiring them to fix your pipes.

Whiteboarding isn't very helpful. If you're anxious about someone's coding ability, offer to do a pair programming interview instead. Work on an applied problem or Open Source for 45 minutes instead of a dumb brain teaser.

### 2. Contract to hire

This sounds like a really good idea. You're not sure about a potential new hire, so you decide to give them a trial run.

That's cool and all, but how does this impact your candidate?

Well, for starters, they've got to work without benefits. What if they're a single parent and their kid gets sick (in the US)? That's on you for being a bad employer.

The standard solution to that problem sounds like, "Well, we'll just have them work part-time for us; that way, they can work another job still."

WTF? So now you're going to measure someone based on how they perform when juggling two jobs? Do you expect your employees to work two jobs? If not, then this isn't a very accurate method of gauging how successful they will be on your team.

Admittedly, the part-time thing is better than just hiring someone on contract with the promise of *maybe* hiring them full-time down the road.

The final solution to this is more palatable, giving the candidate a single week-to-month long project **with no strict timeline** and paying them market rate for the work.

If you're really this anxious about a new hire's ability to ship software, the only thing that I'd agree to is a small paid project. I'm talking about a 10-20 hour maximum investment for my usual freelance fee (and no, that's not $30 an hour).

### 3. More than 3 interviews

To be frank, I actually think three interviews is too many.

If you're making a judgment on someone in two hours (assuming hour-long interviews), a third hour isn't going to change your knowledge of them radically.

Most interviewing is based on useless pseudoscience anyway. More of that pseudoscience isn't going to decrease your odds of making a poor hiring decision.

In reality, there is an element of luck in hiring because some employees just aren't going to be a great addition to your team. There is no silver bullet to avoid those dangers.

One counter-argument I've heard is the idea of an open invitation interview, that is an invitation to anyone on the hiring team to interview a potential hire. This screams possible discrimination to me. All it takes is one person with a bit of conscious or unconscious prejudice to do something awful.

In short, don't waste my time with useless interviews because it's not going to help you. Best case scenario, you still don't know if I'm going to pan out; worst-case scenario, you're enabling discrimination.

Get to know me, do some pair programming with me, then make a choice.

### 4. Culture fit interviews

This also sounds like a really good idea, but it's absolutely not a good idea.

A culture fit interview is supposed to help hiring managers decide if you will mesh well with the existing team. Usually, it's a panel of four or five current team members.

I've gone through my fair share of these and been on the interviewing panel more than once. What I've come to realize is that culture fit interviews result in a monoculture.

We already struggle with diversity and inclusion as an industry; there is no reason to add an extra hurdle for those who come from non-traditional backgrounds.

Instead of hiring for culture fit, hire for culture addition. Your team will perform better if it is more diverse, and you can build more diversity with a more inclusive and developed culture. If you create a homogeneous team, you are going to think up uninspired, brittle solutions.

In our first interview, talk to me about your team's culture and ask me how I'll help grow it.

### 5. Group interviews

This is a toxic tactic. If you do this, I'm out.

When I was newer to this industry, I interviewed at Amazon for an AI-related position. 

It was a group interview with about ten candidates. Meaning two interviewers sat down a group of us in a semi-circle and asked the group questions.

In that interview, I was singled out because I was the ONLY candidate without a degree. To make it even more uncomfortable, I was one of three candidates who did not graduate from Cornell or Duke (the other two graduated from UCLA and Berkley).

Even though I performed well in that interview, I thought it was one of the most toxic, exclusionary interviews I've ever been involved with. I can't imagine how I would have felt in that room if I wasn't born privileged and with a completely-unjustified wealth of arrogance.

Do not do group interviews. I won't work for you. Period.

### 6. Endurance interviews

I'm not sure this is a real term, but I've decided to call this concept: endurance interviewing. The idea is basically a circuit of back-to-back interviews.

I had a single day of interviews that went like this:

2:00 AM: arrive at hotel room after multiple connecting flights
7:00 AM: show up for interviews, mingle with other candidates
8:30 AM - 3:00 PM: interview (group lunch interview)
4:00 PM: fly home

(this was also @Amazon 😤) 

Asking someone to interview for almost 8 hours is absolutely insane. Not only does it give a considerable advantage to extroverts, but it's also indicative of an extremely demanding (read: immature) culture. 

If you expect me to sit through a day of stressful interrogation to get a job, what are going to expect of me when there is a crunch?

### 7. HR Screens

There are few things more insulting than being vetted as a good enough candidate to be interviewed.

Instead of tasking someone (who doesn't know tech) with rating people on a scale of "Waste of Oxygen" to "Might Be Smart Enough to Talk With," give your senior tech staff the resources to review candidates. Then build a human-friendly interview process around the people your technical folks find interesting.

Some recruiters do not fit into this bucket. For example, I enjoyed the "Life Story" interview when I thought about working at Shopify, which was essentially a corporate, more-scaled version of getting coffee with the interviewer (who in this case, was non-technical).

However, the second someone asks me if I have 5 or more years of experience with a framework, I'm pretty much tuned out.

### 8. No senior leadership in the interviews

I have a series of questions I ask in nearly every interview. Some of them are pretty pointed, and a few are prying. It is part of my responsibility as a candidate to feel out the health and culture of the company. That means asking tough questions.

If I ask a question that requires an SVP or CTO in the room and that person isn't present, I get pretty frustrated. An interview needs to be a two-way street, and if the company isn't providing that two-way street, I'm not going to enjoy working there anyway.

Furthermore, if you respect the people you're hiring, you owe it to them to meet them!

Now, this doesn't mean the CEO needs to be in the first interview, but they need to know my name, and preferably, we've met.

### 9. Reluctance to discuss pay or benefits

If you dodge the question of pay, I have to assume it's not very good.

This is pretty straight-forward: If you aren't willing to pay market rate and provide adequate benefits, I can infer that you don't really care too much about your employees (or your business is terrible, and you shouldn't be hiring).

If you don't meet the minimum requirement of paying your employees a median salary, then I'm afraid to imagine how you treat them in an unpleasant meeting. No thanks.

Not to mention, if you're going to do the pay-scale-tango with me and try to negotiate me into a lower salary, you must not *really* care if you hire me or not. That means it probably isn't the best fit.

### 10. Required in-person interviews

This is a personal pet-peeve, and it doesn't always apply.

I get very frustrated when a company has a strict requirement for in-person interviews. That is because the only real reason (in my opinion) is that you want to weigh the candidate, without a filter, against your prejudices. 

This also tells me that if you have remote employees on your staff, you probably aren't super good at communicating with them. If you were honestly good at facilitating remote work, you could make this decision with someone remote.

In the modern tech-verse, there is no reason to be bad at remote work. If you don't want to support remote employees then don't, but don't do it poorly. Indicating to me that you can't have a serious conversation over a webcam tells me that you probably aren't supporting your current remote employees. I can tell you from experience, that can cause a huge culture crisis.

Now, I understand that this isn't a comprehensive list and that plenty of brilliant people are going to disagree with me, but I've put this together after a lot of tech interviewing experience (on both sides of the table), and this is a good compass for me.

I'd love to hear if you agree or disagree with me, and I'd also like to hear about more hiring red flags. I hope this is useful for those of you considering new workplaces! 🤠

### There's more...

I'm writing [a lot of articles](https://jh.codes) these days, I run a [podcast](https://www.devpath.fm), and I've started sending out a [newsletter digest](https://pages.convertkit.com/674caf55d4/f30f7753a7) about all of the awesome stories I'm hearing.

You can also follow me on [Twitter](https://twitter.com/jakeherrington), where I make silly memes and talk about being a developer.