For better or for worse, I’ve been through a lot of different interview processes at tech companies to the point that I consider myself experienced in interviewing for jobs. It doesn’t mean that I am good at it, it just means that I understand the processes relatively well.

I’ve interviewed at a wide range of tech companies: from Fortune 100 to start-ups and I’ve got to experience a plethora of different ideas on what is thought to be the best way to assess talent. I’ve seen well structured processes, some that try to evaluate different types of skills and, unfortunately, a lot that are very confusing and not inclusive. All of them have weaknesses. Some a lot more than others.

A lot is said about the lack of diversity in tech. I believe that it is a huge problem and I sincerely believe that a lot of it has to do with the fact that tech hiring is broken in so many ways. I list some of what I think are the reasons for that below.

Disclaimer #1: my track record is roughly one offer at every 3 companies I interview with - I am not counting the ones I applied and was rejected even before one interview - all of this, for my sadness, has showed me a wide share of rejection emails. I’ve applied for positions that required a lot of the experience that I have and for positions that I barely match any of requirements. I don’t know if this is a good of a bad track record, but that doesn’t invalidate my thoughts or observations. Also, they don’t come from any grudge I hold, and some of them are even from companies I’ve gotten offers for.

Disclaimer #2: Even though some of the time I’ve disagreed with the final decision of a rejection, I have never believed that any rejection was for any reason other than my technical skills, such as bias or prejudice. I believe that everyone I interviewed with has been solely focused on my demonstration (or lack) of abilities to do the job.

Disclaimer #3: It is important to notice that in some cases I am generalizing. Not all the situations happen like that all the time, but at least one of them are common in each process I’ve been through.

I believe it is important to discuss this. Discussing problems is the only way to search for solutions. It allows us to recognize different perspectives, see gaps that we didn’t see before and open our mind.

And the common tech recruiting problems are…

The shadow-recruiter

A lot of the time, the first step in any process is a conversation with a recruiter. This person’s role in the process is to be the first layer of filtering and also be your point of contact throughout your time interviewing.

Most of the time, the conversation looms around your interests, your experience and what you’re looking for. It can also go through the dreaded salary expectations question. The recruiter will say a bunch of buzz words while waiting to hear others back (to see if there is a “match in expectations”).

For companies, it is a matter of saving precious engineering time with candidates that aren’t worth it. For candidates, it is mostly a waste of time except in the rare cases the recruiter has some information that isn’t on the company’s website (which is rare).

I call this problem “the shadow recruiter” because the during this first conversation, the recruiter doesn’t have any useful information for the candidate. And, after the other interviews start, they just vanish. Many many times, in many different companies, the recruiters have turned out to be unresponsive with updates, feedback or any other useful information. They just don’t provide you with information. You’re left in the dark until you reach out. It is a common pattern that I constantly have to reach out one or two times before getting any update. This is terrible and frustrating candidate experience.

The all-in-be-perfect-approach

Ah, the “no false positives”… That is surely one of the most frustrating things in the tech interview world. Companies devise a process to assess candidates in many areas and in the slightest sign of doubt, they just let the candidate pass. It doesn’t matter if the sign was significant, occurred only once or in all interviews. A single slip from the candidate after 6 or 7 hours of interviewing is enough data for a company to decide that they aren’t fit for the job.

Well, that just makes sense, right? All of my current employees can be grilled by people that they don’t know for 5 hours straight and not make a single mistake. Why can’t you, dear candidate? Making a mistake in this hour-long interview shows me that you’ll do the same while you’re doing your job here, which will make me waste my time and money. I’ll just disregard the other 6 hours you spent with us. Therefore, thank you for your time, good bye. Maybe try again next year?

I think that people who devise these strategies or believe this have not gone through the very own process they designed. Interviewing is stressful and hard for almost everyone. Your career, and a lot of times your future, is on the line. You are going to make mistakes. And that is normal. Everyone makes mistakes while doing their job. I do that all the time today. But why is it so harmful during an interview? Why one bad interview in 7 is enough data to show that you’ll underperform in the job? Is this really the case or are we just scared or standing by our thoughts?

The non-diverse-panel

Everyone wants to increase diversity, yet no one strives to make it easy to do so. Even when they have a shot at it, they fail. It is so hard, not to mention harmful, to go through a process and only see people that lookalike (and most of the time different from you). Interviewers will have unconscious biases that can dictate what they think about and judge of you. That can undermine your candidacy and chances of success.

In order to promote diversity and inclusion, companies should promote D&I in their interview panel. They should have panels that are diverse and bring different perspectives and ideas to the table. That will make the candidates feel welcomed by seeing diversity and, more importantly, reduce the effect of biases in evaluation.

The no-feedback-policy

As a candidate that fails a process, there is very seldom room to know what you were missing. A lot of the time, companies provide no feedback on their evaluation to you. I understand that for legal reasons they can’t just share what they think and I’m not preaching for that. I do believe, though, that if we don’t provide any feedback we’re not making any progress towards giving more people chances. If people don’t know specifically what they have to get better at, how can they have a chance at it?

I admit that not everyone is keen of receiving evaluation. I think, though, that any time someone reaches out to get feedback, companies should promptly and respectfully provide candidates with useful information that they can use to address their gaps. I see that as a responsibility of the companies. After all, candidates have invested so much of their time in going through the process that the minimum the companies can do is provide them with some thoughts. I believe that there is a way of doing that without being liable for lawsuits and not being generic as “get better at algorithms and study data structures”.

The I-do-not-need-to-respond-anymore

Another very frustrating pattern is being left in the dark after a final decision is made. Any time I get a decision for good or bad I send an email back with comments and or questions and most of the time I never hear back in the case of rejection. It is as if I have a contagious disease and people at that company don’t want to talk to me any more after they realized I am not perfect for their position. They don’t want to “waste” time with me anymore.

The funny thing is that any time before the final decision, they are all happy and cheerful in answering. Things just suddenly change when they decide that it’s a no go. Now, you’re not worth their attention anymore. This is really hurting.

We’re all humans. We are bond to contact people and to have feelings. Especially when we invest so much time in a process. It is really easy to just hide behind an email inbox, but we don’t have to be like that. Be human too and at least acknowledge the other person’s communication, even if it is just to say thank you and move on. Don’t leave them hanging. That hurts and will surely impact their view of your company for the future.

And what is the perfect process?

There likely isn’t a perfect process. Evaluating people is hard and not a precise science. From the moment you have employees evaluating candidates, you’re subject to biases and flaws. It is our nature. And the process that is thought to address this a lot of the time doesn’t. More importantly, processes aren’t perfect. They are subject to failure too and we shouldn’t shy away from noticing and voicing that. We shouldn’t hide behind the flag of a process as way to protect ourselves from making a hard or disagreeable decision. Trusting the process is the easy thing to do, but can often also be the wrong one.

I believe that we can get better. Addressing the issues I listed above will surely make processes more humane and somewhat just. Do however you want to do: algorithmical questions, small code problems, just talking or a mix of all of that. All of these ideas of measuring one’s knowledge are subject to the flaws I listed above. Being aware of that and constantly measuring it will help you make sure you’re on track.